Understanding the current and future communication needs of modern HPC applications is a key research focus of the center, and results from this project inform and drive almost all other center research activities. As part of this effort, we are qualitatively and quantitively measuring the communication needs of a wide range of DOE applications in collaboration with National Lab partners.
Whenever possible, all data and analyses associated with this assessment is made publicly available through the center’s GitHub repositories. In addition, because many DOE applications have communication requirements not well-captured by public codes, we are also research the development of mini or proxy applications that better capture the communication needs of cutting-edge DOE science applications. The team’s preliminary work in this direction has examined the communication needs of a wide range of high-end applications.
Related Publications
Designing new communication primitives for modern HPC applications, programming systems, and architectures is key center research direction. Current communication primitives were designed for single-threaded, non-accelerated systems, and optimized primarily for applications with regular communication patterns, and implemented for nodes with simple compute and memory architectures. Modern hardware architectures, programming systems, and scientific applications violate many if not all of these assumptions, so center researchers are working on new communication abstractions that accurately and efficiently map modern application communication needs to state-of-the-art hardware capabilities. The team’s preliminary work in this direction has focused on developing new point-to-point communication primitives for highly-threaded and accelerated applications, and these primitives have already been adopted into the most recent MPI standard.
Related Publications
To enable systematic optimization of HPC applications and their communication behavior, center personnel are researching a wide range of techniques for modelling application and communication primitive behavior on modern systems. High-fidelity performance models are a key component to effectively reason about, communicate, and optimize communication behavior in complex modern systems, and existing modeling approaches (e.g. LogGP, etc) are not sufficiently predictive of application performance. The team’s preliminary work has focused on modeling the coarse-grain performance of MPI applications as limited by communication primitives, and this work is being extended to provide high-resolution models of key communication primitives on modern hardware platforms.
Related Publications
Researching and developing high-performance implementations of both current and novel HPC communication primitives is a key focus on center research to evaluate center research, to transition center research outcomes into practice, and to improve the quality, fidelity, and pace of computational research both general and at the DOE national laboratories. The complex of modern programming systems and computer architectures make creating high-performance implementations a significant engineering challenge, and center researchers leverage novel abstraction designs, performance models, careful experimental evaluation, and detailed knowledge of both software and hardware systems to do so effectively. The team’s preliminary work in this area has covered a wide range of MPI implementation optimizations, most recently related to threaded and one-sided communication primitives.
Related Publications