Physical Sciences Division
Computational Science Programming Model Crosses the Petaflop Barrier
Global Arrays demonstrates petascale capability at SC'09
Results: Researchers at Pacific Northwest National Laboratory and Oak Ridge National Laboratory have demonstrated that the PNNL-developed Global Arrays computational programming model can perform at the petascale level. The demonstration performed at 1.4 petaflops-or 1.4 quadrillion numerical operations per second—using over 200,000 processors. This represents about 50% of the processors' peak theoretical capacity. Global Arrays is one of only two parallel programming models that have achieved this level of performance.
The Global Arrays technology was used in a computational chemistry simulation that was presented during the annual International Conference on High-Performance Computing, Networking, Storage and Analysis in Portland, Oregon in November. The conference is sponsored by the Association for Computing Machinery and the Institute of Electrical and Electronics Engineers. The paper describing the simulation was a finalist for the Gordon-Bell prize that recognizes outstanding achievement in high-performance computing applications.
Why it matters: Global Arrays enables researchers to more efficiently access global data, run bigger models, and simulate larger systems, resulting in a better understanding of the data and processes being evaluated.
For example, the data used in this demonstration focused on water modeling. Water is essential in numerous key chemical and biological processes, and accurate models are critical to understanding, controlling, and predicting the physical and chemical properties of complex aqueous systems.
The computational chemistry simulation performed using Global Arrays provided researchers with more accurate data pertaining to research on the properties of water at the molecular level as well as its interactions with molecules and its behavior at interfaces.
Methods: Scientific data is stored in the memory of computer nodes. The processor in the node can only access the data in its own memory, while most analysis and research depends on the ability to access and use data stored in multiple nodes. Standard programming models require coordination between processes to send and receive data .
Global Arrays allows researchers to access data directly from the memory of another node without requiring interaction from the remote processor—the process can send or receive data to or from another process with no coordination in advance.
See the Global Arrays Toolkit website.
Acknowledgments: This work was funded by the Department of Energy's Basic Energy Science and Advanced Scientific Computing Research as part of the SciDAC program, and was also in part sponsored by the Laboratory Directed Research and Development Program of Oak Ridge National Laboratory.
The Global Arrays project is funded by DOE's Advanced Scientific Computing Research program.
Reference: Apra E, RJ Harrison, W de Jong, AP Rendell, V Tipparaju, and SS Xantheas, "Liquid water: Obtaining the right answer for the right reasons", Supercomputing SC '09, Conference on High Performance Networking and Computing, Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis. Portland, Oregon, SESSION: Gordon Bell finalists, Article No.: 66 (2009) ISBN:978-1-60558-744-8.
Research team: Wibe de Jong, Sotiris Xantheas, Manoj Kumar Krishnan, Bruce Palmer, Abhinav Vishnu, Sriram Krishnamoorthy, and Daniel Chavarria, PNNL; Edoardo Apra, Robert Harrison, and Vinod Tipparraju, ORNL