Interoperable Software for Modern High-Performance Applications
High-performance applications executing on distributed systems achieve only a fraction of the peak aggregate performance of the underlying hardware and middleware. This is due mainly to the mismatch between the way parallel computation and communication are organized into applications and the optimal way to use the processor, memory, and interconnect hardware. Different programming models, language primitives, and supporting services are “single-box” systems to distributed systems with nodes located thousands of miles apart. The purpose of the project is twofold: to achieve transparent tuning of high-performance applications to the communication subsystem while facilitating transition to future programming models, and to augment the newly developed and enhanced programming models with information about the communication environment.