Large scientific applications have complex communication needs, including intra-machine point-to-point and global communications, cross-machine checkpointing, and data outputs for online validation and remote data display. Coupled scientific models for multidisciplinary investigations further add to this complexity. This multi-purpose, rich, and dynamic nature of data communications in future exascale codes presents the first challenge addressed by this research. Further, given the many-core nature of future computer chips and the likely presence of specialized hardware accelerator cores, application-level communications and I/O face an increasingly complex set of on-chip, cross-node, and cross-machine interconnects. The complex nature of the physical communication infrastructures present in future exascale machines is the second challenge addressed by this research. In summary, the problem facing developers of future exascale applications for scientific discovery is how to effectively manage the complexity of their communication needs while protecting their most critical `core' communications from perturbation.
This project will develop higher level, explicit models for the data communications performed in future exascale codes. These models, called C-Models, will describe and implement the communications performed for I/O for purposes of online analysis, storage, and visualization, and for data movements across coupled application codes, and will also capture the interaction of the data movements implied by all of the above with the internal data communications inherent to each single application. This abstraction and encapsulation of communication complexity is key to taming the complexity of future exascale applications. The C-Model infrastructure will also help protect the critical core communication component of these applications from perturbation, helping to maximize the performance of these applications on leadership-class machines.