Project Details
MYX: MUST correctness checking for YML and XMP programs
Applicant
Professor Dr. Matthias S. Müller
Subject Area
Software Engineering and Programming Languages
Term
from 2015 to 2020
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 279334242
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.
DFG Programme
Priority Programmes
Subproject of
SPP 1648:
Software for Exascale Computing
International Connection
France, Japan
Partner Organisation
Agence Nationale de la Recherche / The French National Research Agency; Japan Science and Technology Agency
JST
JST
Cooperation Partners
Professor Dr. Taisuke Boku; Professorin Nahid Emad, Ph.D.; Dr. Hitoshi Murai; Professor Serge Petiton, Ph.D.