Exascale challenges the programmer to write multi-level parallel programs, which means employing different paradigms to address multiple levels of parallelism in the system. In the multi-level programming paradigm FP3C targeting post-petascale systems, users are able to express high-level parallelism in the YML workflow language and employ parallel components written in the XcalableMP paradigm. XcalableMP (XMP) aims to combine productivity and performance and is a directive-based PGAS (partitioned global address space) language specified by Japan's PC Cluster Consortium. There it is the main vehicle for research in post-petascale programming models. XMP provides both, a global-view model and a local-view model - the first targeting node-level parallelism, and the latter offering a complete PGAS programming model. The XMP implementation employs MPI as its communication interface. In YML, the YvetteML workflow language is used to describe the parallelism of an application at a very high level. YML provides a compiler to translate the YvetteML notation into XMP-parallel programs, and a just-in-time scheduler managing the execution of parallel programs. It allows to hide low-level communication details from the programmer, particularly when coupling complex applications. Runtime error detection is the most practical approach for correctness checking. By exploiting the MPI profiling interface, the MUST correctness checker currently can detect a wide range of issues in MPI, as well as OpenMP and hybrid programs. The overall goal of this project is to ease programming of future Exascale systems by increasing the programming productivity. To this end we will investigate the application of scalable correctness checking methods to support the YML workflow language, the XMP programming model and selected features of MPI, such as one-sided communication. This includes research on how programming languages and parallelization paradigms could be extended to increase the validity and scalability of automatic correctness checking analyses. In summary, we will address two open research questions: first, which properties of a language or parallelization paradigm are required to enable effective automatic correctness checking and possibly to avoid errors in the first place, and second, how can existing specifications or APIs be extended to provide the necessary semantic information for the correctness checking tool. The development of correctness checking support for XMP will significantly improve the productivity in programming with XMP for Exascale systems. This project continues a French-Japanese collaboration existing for over 10 years and adds the scalable correctness checking support as a new component, delivered by the German partner. The project will result in joint research, publications and software development and consequently is expected to build important assets for future research activities.
Monsieur Matthias Müller (RWTH Aachen University)
The author of this summary is the project coordinator, who is responsible for the content of this summary. The ANR declines any responsibility as for its contents.
HPCS Center for Computational Sciences, University of Tsukuba,
RWTH RWTH Aachen University
MdS Maison de la Simulation
Help of the ANR 215,999 euros
Beginning and duration of the scientific project: December 2015 - 36 Months