Final Report Summary - MADAME (Manycore Application Development and Modeling Environment)
Addressing some of these issues, the MADAME project is concerned with aspects of program development, optimization, and deployment of parallel applications for current and future multi- and manycore architectures. The target programming model is threading-based and oriented towards task and data parallelism, with OpenMP being the accepted and well established player in this field. With the multicore revolution, multi-threaded programming has entered all areas of the IT industry, from hand-held devices to the nodes of supercomputers at multi-petascale level. However, measuring and understanding the performance of multithreaded code remains a challenge. Often the only tools available are the ones provided by the system’s vendor and these are usually not portable between systems or freely available. Frequently, critical functionality such as presentation of the performance data in the user’s model of execution and support for heterogeneity and cross-platform integration are lacking. In addition, future manycore systems will be highly adaptive to application resource quality of service (QoS) requests in order to achieve higher levels of energy efficiency. Understanding application behavior under varying resource settings requires a novel modeling approach, as previous
related work has not addressed the issues of heterogeneity and performance asymmetry.
The MADAME project thus has two main goals: The first objective is to develop an efficient, versatile, user-friendly, and portable monitoring solution for programming paradigms of the multi- and manycore era. This work item is based on previous experience with OpenMP monitoring which will be integrated across the layers of the execution stack (vertical integration) and expanded to related programming models (horizontal integration). The second goal of MADAME is a modeling framework. It extends the monitoring component to capture execution flow graph models that can be used to “replay” the execution and answer "what if" scenarios aiding the developers in answering critical questions such as the potential benefits of exploiting accelerators. The resulting models will be useful during application development and tuning as well as during deployment and runtime in modern manycore runtime and operating systems to convey QoS requirements.
Towards the first objective progress has been made by providing a robust monitoring framework with the release of MADMON 1.0 via the project website. Substantial progress has also been made for the MADAME modeling approach, which scope was extended to cover MPI (message passing interface) applications. The modeling approach relies on the concept of event flow graphs which capture the temporal behavior of applications at runtime with very little overhead while still representing the complete temporal behavior of the application.
The project web site is at http://www.ompp-tool.com , where download links for the software developed in the course of the project as well as a list of all project publications can be found.