Thursday, 9 October 2014
9:00 - 10:15
UC Berkeley and Lawrence Berkeley National Laboratory
Title: From Exascale to Exadata with PGAS Programming
Abstract: Partitioned Global Address Space programming models are a convenient abstraction
for a number of algorithms, and they have proven to be portable and scalable on current
systems that range from generic clusters to massively parallel petascale computers. But
the high performance community is facing two major challenges, one related to the
disruption in hardware architectures and the other related to an emerging workload from
data analysis. I will argue that PGAS languages have an important role to play in both of
these, while at the same time identifying the key challenges that we face as a community
to make these languages implementable, popular, and sustainable.
Future computing system designs will be constrained by power density and total system energy, and will require new programming models and implementation strategies. Data movement in the memory system and interconnect will dominate running time and energy costs, making communication cost reduction the primary optimization criteria for compilers and programmers. The one-sided communication model in PGAS programming is both efficient and flexible, but there are a number of open challenges in programming models related to massive on-chip concurrency, the increasing hierarchy of memory systems and networks, resource management, and performance variability. I will describe some of the solved and open problems in PGAS implementations, and how these models will need to evolve on future systems.
At the same time, the growth in data rates from scientific instruments, sensors, and digitized media, have resulted in massive data sets that require management and analysis. Many of the analytics algorithms involve irregular access on massive data structures, making them well suited to the PGAS model. I will argue that PGAS programming has the potential to make future exascale systems useful for extreme analytics problems, in addition to the modeling and simulation workload that is typically envisioned. This will require new programming abstractions and libraries, driven by the needs of analytics algorithms, in addition to those features required by changes in architectures.
About the Speaker
Katherine Yelick is a Professor of Electrical Engineering and Computer Sciences at the University of California at Berkeley and the Associate Laboratory Director for Computing Sciences at Lawrence Berkeley National Laboratory. She is known for her research in parallel languages, compilers, algorithms, libraries, architecture, and runtime systems. She co- invented the UPC and Titanium languages and developed analyses, optimizations, and runtime systems for their implementation. Her work also includes memory hierarchy optimizations, communication-avoiding algorithms, and automatic performance tuning, including the first autotuned sparse matrix library. She earned her Ph.D. in Electrical Engineering and Computer Science from the Massachusetts Institute of Technology and has been on the faculty of UC Berkeley since 1991 with a joint research appointment at Berkeley Lab since 1996. She was the director of the National Energy Research Scientific Computing Center (NERSC) from 2008 to 2012 and in her current role as Associate Laboratory Director she oversees NERSC, the Energy Science Network (ESNet), and a research organization in applied mathematics, computer science and computational science. She has received multiple research and teaching awards, including the Athena award, and she is an ACM Fellow. She has served on study committees for the National Research Council and is a member of the California Council on Science and Technology, the National Academies Computer Science and Telecommunications Board, and the Science and Technology Board overseeing research at Los Alamos and Lawrence Livermore National Laboratories.
Friday, 10 October 2014
9:00 - 10:15
Title: All programming models are wrong, but some are useful* - what we really need to survive exascale
Abstract: We consider the challenge of programming exascale computers
from the perspective of the application developer, who must manage an
unprecedented level of concurrency and runtime variability due to
dynamic power management, and that of the hardware, which is going to
fail constantly when viewed at the system level. What sorts of
features should a programming model that tries to address this
situation provide? To what extent do existing models meet the needs
of exascale programmers or are new models required? MPI and PGAS seem
to be converging, but are they both headed in the wrong direction?
* This phrase is closely related to one found in 'Empirical Model Building and Response Surfaces', by Box and Draper (John Wiley & Sons, New York, NY, 1987).
About the Speaker
Jeff Hammond is a Research Scientist in the Parallel Computing Lab at Intel Labs. His research interests include: one-sided and global view programming models, load-balancing for irregular algorithms, and shared- and distributed-memory tensor contractions. He has a long-standing interest in enabling the simulation of physical phenomena - primarily the behavior of molecules and materials at atomistic resolution - with massively parallel computing.
Prior to joining Intel, Jeff was an Assistant Computational Scientist at the Argonne Leadership Computing Facility and a Fellow of the University of Chicago Computation Institute. He was a Director's Postdoctoral Fellow at Argonne from 2009 to 2011. In 2009, Jeff received his PhD in chemistry from the University of Chicago as a Department of Energy Computational Science Graduate Fellow. He graduated from the University of Washington with degrees in chemistry and mathematics in 2003.
The IEEE Technical Committee on Scalable Computing named Jeff a Young Achiever in Scalable Computing in 2014 for his work on massively parallel scientific applications and runtime systems.