The Manycore Revolution and Parallel Software
| Tags: Math & Computer Science
Key Challenges: A new software ecosystem is expected to emerge over the next decade to support changes brought about by manycore and multicore systems. The question is whether languages like Unified Parallel C (UPC), which runs on all of the major DOE Office of Science platforms, can provide the best path forward, lowering the barrier to entry for parallel computing and making parallel machines more attractive as commercial products.
Why it Matters: Although MPI is currently the de facto standard for programming supercomputers, partitioned global address space (PGAS) languages offer advantages in both programmability and performance. They allow more efficient one-sided communication and they directly map to shared memory features on multicore and SMP nodes. By providing a global address space, they permit application software to directly shared data when appropriate, rather partitioning and replicating.
Accomplishments: The Berkeley group has developed an optimized implementation of the basic GASNet communication layer for Petascale systems such as the Cray XT4 system (developed on Franklin) and the BlueGene architecture. On both systems the UPC implementation of some benchmarks outperforms the MPI code, with a gap that grows for larger core counts. Highly optimized and scalable collectives have also been developed. When the collective operations are embedded into application benchmarks performance generally meets or exceeds that of MPI. Collaborators at Rice University have an operational prototype implementation of Co-array Fortran Language 2.0 that designed with some important new latency hiding features such as predicated asynchronous copy operation, and asynchronous collective communication primitives.
Investigators: Kathy Yelick and Paul Hargrove (LBNL); J. Mellor-Crummey, L. Adhianto, and W. Scherer III (Rice University)
More Information: See Communications of the ACM, November 2009, http://upc.lbl.gov, and Center for Scalable Application Development Software (CScADS)
About NERSC and Berkeley Lab
The National Energy Research Scientific Computing Center (NERSC) is the primary high-performance computing facility for scientific research sponsored by the U.S. Department of Energy's Office of Science. Located at Lawrence Berkeley National Laboratory, the NERSC Center serves more than 4,000 scientists at national laboratories and universities researching a wide range of problems in combustion, climate modeling, fusion energy, materials science, physics, chemistry, computational biology, and other disciplines. Berkeley Lab is a U.S. Department of Energy national laboratory located in Berkeley, California. It conducts unclassified scientific research and is managed by the University of California for the U.S. DOE Office of Science. For more information about computing sciences at Berkeley Lab, please visit www.lbl.gov/cs.