Skip to main content
European Commission logo
français français
CORDIS - Résultats de la recherche de l’UE
CORDIS
CORDIS Web 30th anniversary CORDIS Web 30th anniversary
Contenu archivé le 2024-06-18

Manycore Application Development and Modeling Environment

Final Report Summary - MADAME (Manycore Application Development and Modeling Environment)

The IT industry is currently undergoing profound changes due to the fact that traditional CPU designs are reaching fundamental limits of instruction-level parallelism, clock speed, and power consumption. These limits have led to new chip designs with an ever increasing number of compute cores per chip and the advent of architectures that combine accelerators (such as graphics processing units) with regular processing cores in a heterogeneous system architecture. The big challenge the industry faces is however not so much the design of new hardware features, but the efficient and productive software development for these highly parallel and heterogeneous resources. Multi-million dollar investments by hardware and software vendors in ambitious research projects are a testament to the magnitude of this challenge.

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.