About

Exa2pro vision

The vision of EXA2PRO is to develop a programming environment that will enable the productive deployment of highly parallel applications in exascale computing systems.

Exa2pro information

Partners:

Project Description

The vision of EXA2PRO is to develop a programming environment that will enable the productive deployment of highly parallel applications in exascale computing systems. EXA2PRO programming environment will integrate tools that will address significant exascale challenges. It will support a wide range of scientific applications, provide tools for improving source code quality, enable efficient exploitation of exascale systems’ heterogeneity and integrate tools for data and memory management optimization. Additionally, it will provide fault-tolerance mechanisms, both user-exposed and at runtime system level and performance monitoring features. EXA2PRO will be evaluated using 4 applications from 3 different domains, which will be deployed in JUELICH supercomputing centre: High energy physics, materials and supercapacitors. The applications will leverage the EXA2PRO toolchain and we expect:

1.Increased programmability that enables the efficient exploitation of heterogeneity of modern supercomputing systems, which allows the evaluation of more complex problems.

2. Effective deployment in an environment that provides features 

critical for exascale computing systems such as fault tolerance, flexibility of execution and performance monitoring based on EXA2PRO optimization tools.

3. Identification of trade-offs between design qualities (source code maintainability/reusability) and run-time constraints (performance/energy consumption).

EXA2PRO outcome is expected to have major impact on:

1. the scientific and industrial community that focuses on application deployment in supercomputing centres: EXA2PRO environment will allow efficient application deployment with reduced effort.

2. application developers that target exascale systems: EXA2PRO will provide tools for improving source code maintainability/reusability, which will allow application evolution with reduced developers’ effort.

3. the scientific community and the industry relevant to the EXA2PRO applications: Significant impact is expected on the materials and processes design for CO2 capture and on the supercapacitors industry.

Consortium

Institute of Communications and Computer Systems (ICCS)

The Institute of Communications and Computer Systems (ICCS) is a non-profit Academic Research Body established in 1989 by the Ministry of Education in order to carry research and development activities in the fields of all diverse aspects of telecommunications and computer systems. ICCS will be the PC, will manage the dissemination of the project results and will have a central role on the development of memory optimizations, design space exploration and fault-tolerance mechanisms.

Linköping University (LIU)

Linköping University is a multi-faculty university that stands at position 26 among the world’s best young (< 50 years) universities in the latest ranking by the prestigious QS World University Rankings. LIU is a research-based university with excellence in innovation and has always had strong cooperation with the surrounding business sphere and the community at large, both in terms of research and education. LIU will focus on research activities concerning the development of high-level software abstractions and the composition framework.

Centre for Research and Technology Hellas (CERTH)

The Centre for Research and Technology-Hellas (CERTH) is the only research centre in Northern Greece and one of the largest in the country and it was founded in 2000. CERTH will develop forecasting techniques on data for the purpose of implementing technical debt prevention

Institut National de RechercheenInformatique et enAutomatique (INRIA)

Established in 1967, Inria is the only French public research body fully dedicated to computational sciences. It is a national operator in research in digital sciences and is a primary contact point for the French Government on digital matters. INRIA will contribute the StarPU run-time system, which will be extended to support the requirements of (pre-) exascale systems.

ForschungszentrumJülich GmbH​ (JUELICH)

ForschungszentrumJülich – a member of the Helmholtz Association – is one of the largest research centres in Europe. It pursues cutting-edge interdisciplinary research addressing the challenges facing society in the fields of health, energy and the environment, and information technologies. JUELICH will contribute on the specification and requirements of the EXA2PRO environment for supercomputing centres and will also serve as a use case artner providing 2 use cases.

Maxeler Technologies Limited (MAXELER)

Maxeler Technologies provides complete hardware and software platforms for High Performance Computing applications using reconfigurable dataflow supercomputing technology. MAXELER will evaluate the support of the EXA2PRO environment for dataflow engines in supercomputing centres.

Centre National de la RechercheScientifique (CNRS)

The Centre National de la RechercheScientifique (National Centre for Scientific Research) is a public organization under the responsibility of the French Ministry of Education and Research. CNRS is the provider of the Supercapacitors simulation use case (Metalwalls), from the energy storage application domain.

University of Macedonia (UoM)

The Software Engineering Group of the University of Macedonia (UoM) focuses on software design (especially of object-oriented systems), software maintenance and quality and software evolution analysis. In the context of EXA2PRO, UoM develops methods able to estimate the interest and the principal of Technical Debt, with regards to specific structural metrics, source code bad smells, and identified refactoring opportunities for applications targeting exascale systems.

For Developers

Try the EXA2PRO framework

EXA2PRO is offered through two different technologies: For application developers who want to experiment with the framework, an EXA2PRO docker container is available. A singularity container is provided to developers aiming at deploying an application in which the framework is already applied, on a large-scale system.

Stand-alone EXA2PRO tools

SkePU is an Autotunable Multi-Backend Skeleton Programming Framework for Multicore CPU and Multi-GPU System. SkePU-3 was developed in the context of EXA2PRO and is part of the EXA2PRO framework.

StarPU is a task programming library for hybrid architectures. A new version of StarPU with various new features is currently under development in the context of EXA2RPO.

Examples and Initial Results

Short reports describing how we applied the EXA2PRO to a set of HPC applications.

Materials and Processes for CO₂ capture

The SkePU tool was applied to an application for design of materials and processes for CO₂ capture.

Simulation of Supercapacitors

The SkePU and StarPU tools were applied to a supercapacitors simulator (Metalwalls).

Brain Modeling

The SkePU tool was applied to a brain modeling simulator.

Impact on Society

Cleaner
environment

Effective energy
storage solutions

Better understanding of human neuron networks

Useful Links

Supercomputing in Europe:
ETP4HPC: https://www.etp4hpc.eu/
European Processor Initiative: https://www.european-processor-initiative.eu/
EuroHPC Joint Undertaking: https://eurohpc-ju.europa.eu/
EuroHPC – Europew’s Journey to Exascale HPC: http://eurohpc.eu/
PRACE Research Infrastructure: https://prace-ri.eu/

Supercomputing in USA: 
The Exascale Computing Project, USA: https://www.exascaleproject.org/
 

Relevant EU Initiatives:
European eXtreme Data and Computing Initiative (EXDCI): https://exdci.eu/
EPI Initiative: https://www.european-processor-initiative.eu/

H2020 Projects developing Programming Environments:
EPEEC: https://epeec-project.eu/
EPIGRAM-HS: https://epigram-hs.eu/
ASPIDE: https://www.aspide-project.eu/
All projects in 2021 European HPC handbook: https://www.etp4hpc.eu/european-hpc-handbook.ht

Documents

Soudris, Dimitrios, et al. “EXA2PRO programming environment: architecture and applications.” Proceedings of the 18th International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation. ACM, 2018.
[Download]

Jörg Keller, Christoph Kessler, “Dealing with Hardware Faults in Energy-Efficient Static Schedules of Multi-Variant Programs on Heterogeneous Platforms”, 15th GI/ITG Workshop on Dependability and Fault Tolerance (VERFE’19), in association with ARCS 2019.
[Download]

Öhberg, Tomas, August Ernstsson, and Christoph Kessler. “Hybrid CPU–GPU execution support in the skeleton programming framework SkePU.” The Journal of Supercomputing (2018): 1-19.
[Download]

Leon, Vasileios, et al. “Cooperative Arithmetic-Aware Approximation Techniques for Energy-Efficient Multipliers.” Proceedings of the 56th Annual Design Automation Conference 2019. ACM, 2019.
[Download]

Kessler, Christoph. “Global optimization of operand transfer fusion in heterogeneous computing.” Proceedings of the 22nd International Workshop on Software and Compilers for Embedded Systems. ACM, 2019.
[Download]

Tsoukalas Dimitrios, et al. “On the Applicability of Time Series Models for Technical Debt Forecasting“, 15th China-Europe International Symposium on Software Engineering Education (CEISEE19)
[Download]

Nikolaos Vasilas, Panagiotis Natsiavas, Athanasios Papadopoulos, Panos Seferlis, “Process Synthesis and Controllability Assessment of CO2 Capture Plants in a Parallel Environment“, Process Integration and Optimisation for Energy Saving and Pollution Reduction (PRES 19), Crete, Greece
[Download]

Romain Lion, “Tolérance aux pannes dans l’exécution distribuée de graphes de tâches“, Conférence d’informatique en Parallélisme, Architecture et Système, Anglet, France
[Download]

Henrio, Ludovic, Christoph Kessler, and Lu Li. “Leveraging access mode declarations in a model for memory consistency in heterogeneous systems.” Journal of Logical and Algebraic Methods in Programming (2019)
[Download]

August Ernstsson, Christoph Kessler, “Multi-variant User Functions for Platform-aware Skeleton Programming“, ParCo 2019 Parallel Computing Conference, Prague, Sep. 2019 (post-conference proceedings book, IOS press)
[Download]

Alexandros Neofytou, George Chatzikostantis, Ioannis Magkanaris, George Smaragdos, Christos Strydis, Dimitrios Soudris, “GPU Implementation of Neural-Network Simulations based on Adaptive-Exponential Models“, BIBE 2019
[Download]

Panagiotou, S., Ernstsson, A., Ahlqvist, J., Papadopoulos, L., Kessler, C., & Soudris, D. (2020). “Portable Exploitation of Parallel and Heterogeneous HPC Architectures in Neural Simulation Using SkePU“. In Proceedings of the 23th International Workshop on Software and Compilers for Embedded Systems (pp. 74–77). Association for Computing Machinery
[Download]

Lion R., Thibault S., “From tasks graphs to asynchronous distributed checkpointing with local restart”, 2020 IEEE/ACM 10th Workshop on Fault Tolerance for HPC at eXtreme Scale (FTXS). IEEE, 2020.
[Download]

Panagiotou, S., Miedema, R., Sidiropoulos, H., Smaragdos, G., Strydis, C., & Soudris, D., “A novel simulator for extended Hodgkin-Huxley neural networks”, In 2020 IEEE 20th International Conference on Bioinformatics and Bioengineering (BIBE), (pp. 395-402). IEEE, 2020.
[Download]

Digkas, G., Ampatzoglou, A., Chatzigeorgiou, A., & Avgeriou, P. “On the temporality of introducing code technical debt”, In International Conference on the Quality of Information and Communications Technology (pp. 68-82). Springer, Cham, 2020.
[Download]

Arvanitou, E. M., Ampatzoglou, A., Chatzigeorgiou, A., & Carver, J. C. “Software engineering practices for scientific software development: A systematic mapping study”, Journal of Systems and Software, 2020.
[Download]

Arvanitou, E. M., Ampatzoglou, A., Nikolaidis, N., Tzintzira, A. A., Ampatzoglou, A., & Chatzigeorgiou, A, “Investigating trade-offs between portability, performance and maintainability in exascale systems”, In 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA) (pp. 59-63). IEEE 2020.
[Download]

Katsaragakis, M., Papadopoulos, L., Konijnenburg, M., Catthoor, F., & Soudris, D. “Memory Footprint Optimization Techniques for Machine Learning Applications in Embedded Systems”, In 2020 IEEE International Symposium on Circuits and Systems (ISCAS) (pp. 1-4). IEEE 2020.
[Download]

Digkas, G., Chatzigeorgiou, A.N., Ampatzoglou, A. and Avgeriou, “Can Clean New Code reduce Technical Debt Density“, IEEE Transactions on Software Engineering, 2020
[Download]

G. Tzanos, et.al., “Applying StarPU Runtime System to Scientific Applications: Experiences and Lessons Learned”, 2nd International Workshop on Parallel Optimization using/for Multi- and Many-core High Performance Computing (POMCO), 2021.
[Download]

C. Prouveur, M. Haefele, N. Voss, “CPU and FPGA performance comparison of a conjugate gradient solver extracted from a molecular dynamics code“, Platform for Advanced Scientific Computing (PASC) Conference, 2020
[Download]

A. Ernstsson, J. Ahlqvist, S. Zouzoula, C. Kessler, “SkePU 3: Portable High-Level Programming of Heterogeneous Systems and HPC Clusters”, International Journal of Parallel Programming, Springer, 2021
[Download]

N. Nikolaidis, D. Zisis, A. Ampatzoglou, A. Chatzigeorgiou and D. Soudris, “Experience with Managing Technical Debt in Scientific Software Development using the EXA2PRO framework”, IEEE Access, 2021
[Download]

S. Panagiotou, H. Sidiropoulos, M. Negrello, D. Soudris, C. Strydis, “EDEN: A high-performance, general-purpose, NeuroML-based neural simulator”, Frontiers on Neuroinformatics, 2021
[Download]

A. Ernstsson, N. Vandenbergen, J. Keller and C. Kessler, “A Deterministic Portable Parallel Pseudo-random Number Generator for Pattern-Based Programming of Heterogeneous Parallel Systems”, HLPP, 2021
[Link: TBA soon]

L. Papadopoulos, D. Soudris, C. Kessler, A. Ernstsson, J. Ahlqvist, N. Vasilas, A. Papadopoulos, P. Seferlis, C. Prouveur, M. Haefele, S. Thibault, A. Salamanis, T. Ioakimidis, D. Kehagias, “EXA2PRO: A Framework for High Development Productivity on Heterogeneous Computing Systems”, IEEE TPDS, 2021
[Download]

 

D2.1 Initial specification of EXA2PRO high-level programming interface
[Download]

D2.2 Final specification and first prototype implementation of EXA2PRO high-level programming interface
[Download]

D3.1 Early specification of a modular composition framework architecture
[Download]

D3.2 First version of the composition framework
[Download]

D3.3 Technical Debt Identification and Quantification Approach for Exascale Application
[Download]

D3.4 Initial report on performance modelling for multi-variant tasks
[Download]

D3.5 Initial report on fault tolerance support and memory management optimizations
[Download]

D4.1 Performance monitoring and steering
[Download]

D4.2 Initial report on multi-criteria scheduling policies
[Download]

D4.3 Initial report on data replication and load balancing for fault-tolerance
[Download]

D4.4 Initial report on implementation of StarPU on heterogeneous architectures
[Download]

D5.1 EXA2PRO Verification and Testing Strategy
[Download]

D6.1 Reference Implementation of Use Cases
[Download]

D7.1 EXA2PRO website
[Download]

D7.2 EXA2PRO dissemination material [1]
[Download]

D7.3 EXA2PRO dissemination material [2]
[Download]

D7.5 Dissemination Plan and Report [1]
[Download]

D8.2 Data Management Plan
[Download]

Contact

Institute of Communications and Computer Systems – ICCS

Prof. Dimitrios Soudris
School of Electrical & Computer Engineering,
National Technical University of Athens, Greece
dsoudris@microlab.ntua.gr
+30 210 772 1800, +30 210 772 3653

Dr. Lazaros Papadopoulos
School of Electrical & Computer Engineering, 
National Technical University of Athens, Greece
lpapadop@microlab.ntua.gr
+30 210 772 1800, +30 210 772 3653

Top
Social media & sharing icons powered by UltimatelySocial
Twitter
LinkedIn