D3: Multilevel Approaches and Adaptivity in Scientific Computing
In subproject D3, the potential of invasive computing for scientific computing is explored. We examine how numerical algorithms need to be adapted to invasion-enabled hardware, and how invasive applications can be realised on standard HPC systems based on iOpenMP, an extension of OpenMP. We demonstrate the advantages of invasion in scientific computing via implementations of algorithmic building blocks on invasive hardware and, as a demonstrator, Tsunami simulations on classical multi- and many-core HPC systems. Thus, subproject D3 will have a strong impact on both scientific computing and invasive programming.
All hardware platforms for scientific computing follow the general trend to more parallelism, via multi- and many-core processors, GPUs, FPGAs, MPSoCs, and processor arrays. On the application side, the complexity of scientific computing algorithms is increasing as well. Hierarchy and dynamic adaptivity are essential paradigms for large-scale numerical simulations.
In contrast, programming models and the management of cores and memories in HPC architectures are still dominated by static allocation. Resources are allocated by batch scheduling systems, and the standard programming interfaces OpenMP and MPI focus on the efficient execution of applications on an initially given set of resources. Most applications on HPC systems are adapted to this static resource allocation. Either there is no additional parallelism in program phases that can be exploited or this parallelism is not exploited to not reduce the overall efficiency.
Hence, the goal of subproject D3 is to study invasion as a paradigm to bring together the varying amount of parallelism in multilevel adaptive applications with growing numbers of cores. We identify algorithmic approaches and best practices to implement key components of scientific applications on the basis of the invasion principle and on invasive hardware. In addition, we determine extensions to the resource management of HPC architectures and the standard programming interfaces MPI and OpenMP to enable invasive programming on future HPC systems for existing simulation codes.
In the algorithmic part, we study invasive approaches for dynamically adaptive multilevel solvers. Partitions are allowed to dynamically grow and shrink—w. r. t. partition size, refinement level, and multigrid levels—and especially to split and merge in terms of parallel threads according to the invasion paradigm, to tackle the resulting load-balancing challenges. The respective core algorithms are extracted from an existing hierarchical approach to compute wave propagation in the context of Tsunami simulation, which we choose as a realistic and challenging demonstrator. We implement these core algorithms using invasive programming languages and on first prototypes of invasive hardware.
To demonstrate the advantages of invasive computing to the HPC community, extensions to OpenMP and MPI for invasive programming are required to be minimal, to enable an incremental invasification, but also support data locality. We concentrate on iOpenMP, an invasive version of OpenMP, since OpenMP already supports flexible utilisation of a fixed set of resources, and since the first invasive hardware developments are of shared memory type, too. A prototypical implementation of iOpenMP is realised on standard shared memory HPC systems to serve as programming model for an invasive Tsunami simulation. The step towards clusters of such compute nodes, that is, hybrid systems, is planned for the second funding phase.
Hence, subproject D3 has a double impact: It tackles urgent problems in HPC and it helps to widen the scope of invasion towards HPC, which is essential for invasive computing to become a widely accepted paradigm for parallel programming.
Invasive Resource Manager:
Weifeng Liu, Michael Gerndt, and Bin Gong.
Model-based MPI-IO tuning with Periscope tuning framework.
Concurrency and Computation: Practice and Experience,
[ DOI ]
Keywords: parallel I/O, automatic tuning, MPI-IO, performance model, high-performance computing
|||Martin Schreiber, Christoph Riesinger, Tobias Neckel, Hans-Joachim Bungartz, and Alexander Breuer. Invasive compute balancing for applications with shared and hybrid parallelization. International Journal of Parallel Programming, September 2014. [ DOI | http ]|
|||Carsten Tradowsky, Martin Schreiber, Malte Vesper, Ivan Domladovec, Maximilian Braun, Hans-Joachim Bungartz, and Jürgen Becker. Towards dynamic cache and bandwidth invasion. In Reconfigurable Computing: Architectures, Tools, and Applications, volume 8405 of Lecture Notes in Computer Science, pages 97–107. Springer International Publishing, April 2014. [ DOI ]|
|||Martin Schreiber. Cluster-Based Parallelization of Simulations on Dynamically Adaptive Grids and Dynamic Resource Management. Dissertation, Institut für Informatik, Technische Universität München, January 2014. [ .pdf ]|
|||Martin Schreiber, Christoph Riesinger, Tobias Neckel, and Hans-Joachim Bungartz. Invasive compute balancing for applications with hybrid parallelization. In Proceedings of the International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD). IEEE, October 2013.|
|||Martin Schreiber, Tobias Weinzierl, and Hans-Joachim Bungartz. Sfc-based communication metadata encoding for adaptive mesh refinement. In Michael Bader, editor, Proceedings of the International Conference on Parallel Computing (ParCo), October 2013. In press.|
|||Martin Schreiber, Tobias Weinzierl, and Hans-Joachim Bungartz. Cluster optimization and parallelization of simulations with dynamically adaptive grids. In Euro-Par 2013, August 2013.|
|||Hans-Joachim Bungartz, Christoph Riesinger, Martin Schreiber, Gregor Snelting, and Andreas Zwinkau. Invasive computing in HPC with X10. In X10 Workshop (X10'13), X10 '13, pages 12–19, New York, NY, USA, 2013. ACM. [ DOI ]|
|||Michael Gerndt, Andreas Hollmann, Marcel Meyer, Martin Schreiber, and Josef Weidendorfer. Invasive computing with iOMP. In Proceedings of the Forum on Specification and Design Languages (FDL), pages 225–231, September 2012.|
|||Isaías A. Comprés Ureña, Michael Riepen, Michael Konow, and Michael Gerndt. Invasive MPI on intel's single-chip cloud computer. In Andreas Herkersdorf, Kay Römer, and Uwe Brinkschulte, editors, Proceedings of the 25th International Conference on Architecture of Computing System (ARCS), volume 7179 of Lecture Notes in Computer Science, pages 74–85. Springer, February 2012. [ DOI ]|
|||Michael Bader, Hans-Joachim Bungartz, and Martin Schreiber. Invasive computing on high performance shared memory systems. In Facing the Multicore-Challenge III, volume 7686 of Lecture Notes in Computer Science, pages 1–12, 2012.|
Andreas Hollmann and Michael Gerndt.
Invasive computing: An application assisted resource management
In Victor Pankratius and Michael Philippsen, editors, Multicore
Software Engineering, Performance, and Tools, volume 7303 of Lecture
Notes in Computer Science, pages 82–85. Springer Berlin Heidelberg, 2012.
[ DOI |
Keywords: resource management; resource awareness; numa; parallel programming; OpenMP
|||Martin Schreiber, Hans-Joachim Bungartz, and Michael Bader. Shared memory parallelization of fully-adaptive simulations using a dynamic tree-split and -join approach. In Proceedings of HiPC 2012, pages 1–10. IEEE, 2012.|
|||Michael Bader, Hans-Joachim Bungartz, Michael Gerndt, Andreas Hollmann, and Josef Weidendorfer. Invasive programming as a concept for HPC. In Proceedings of the 10th IASTED International Conference on Parallel and Distributed Computing and Networks 2011 (PDCN), February 2011. [ DOI ]|
|||Hans-Joachim Bungartz, Bernhard Gatzhammer, Michael Lieb, Miriam Mehl, and Tobias Neckel. Towards multi-phase flow simulations in the PDE framework peano. Computational Mechanics, 48(3):365–376, 2011. [ .pdf ]|
|||Jürgen Teich, Jörg Henkel, Andreas Herkersdorf, Doris Schmitt-Landsiedel, Wolfgang Schröder-Preikschat, and Gregor Snelting. Invasive computing: An overview. In Michael Hübner and Jürgen Becker, editors, Multiprocessor System-on-Chip – Hardware Design and Tool Integration, pages 241–268. Springer, Berlin, Heidelberg, 2011. [ DOI ]|
|||Jürgen Teich. Invasive algorithms and architectures. it - Information Technology, 50(5):300–310, 2008.|
|||Isaías A. Comprés Ureña and Michael Gerndt. Improved RCKMPI's SCCMPB channel: Scaling and dynamic processes support. 4th MARC Symposium.|
|||Andreas Hollmann and Michael Gerndt. iOMP language specification 1.0. Internal Report.|
|||Andreas Hollmann and Michael Gerndt. Invasive computing: An application assisted resource management approach. In MSEPT, pages 82–85.|