
Developing Uintah’s Runtime System For Forthcoming Architectures Brad Petersony, Nan Xiaoy, John Holmeny, Sahithi Chagantiy, Aditya Pakkiy, John Schmidty, Dan Sunderlandz, Alan Humphreyy, Martin Berzinsy yScientific Computing and Imaging Institute, University of Utah, Salt Lake City, UT, 84112, USA zSandia National Laboratories, PO Box 5800 / MS 1418, Albuquerque, NM, 87185, USA [email protected] ABSTRACT time system and also the runtime system that is used on each com- The need to solve ever-more complex science and engineering prob- pute node, permits us to leverage advances in the runtime system, lems on computer architectures that are rapidly evolving poses con- such as scalability, to be immediately applied to applications with- siderable challenges for modern simulation frameworks and pack- out any additional work by the component developer. The nodal ages. While the decomposition of software into a programming component of the runtime system has an execution layer that runs model that generates a task-graph for execution by a runtime sys- on each core that also queries the nodal data structures in order to tem make portability and performance possible, it also imposes find tasks to execute and works with a single data warehouse per considerable demands on that runtime system. The challenge of multi-core node to access local variables and and non-local vari- meeting those demands for near-term and longer term systems in ables through MPI communications. Each mesh patch that is ex- the context of the Uintah framework is considered in key areas such ecuted on a node uses a local task graph that is composed of the as support for data structures, tasks on heterogeneous architectures, algorithmic steps (tasks) that are stored along with various queues performance portability, power management and designing for re- that determine which task is ready to run. Data management in- silience by the use of replication based upon adaptive mesh refine- cluding the movement of data between nodes along with the actual ment processes is addressed. Examples of techniques in these ar- storage of data in the Data Warehouse occurs on a per node basis. eas are used to illustrate performance improvements obtained for The actual execution of the various tasks are distributed on a per present large-scale systems and the needs of proposed systems con- core level. A strength of this approach is that the applications code sidered. is portable and indeed may oblivious to changes in architectures. Indeed with this approach Uintah has been able to compute solu- tions to complex engineering problems on a number of the present Keywords most powerful machines such as Titan, Mira, Vulcan, Stampede Uintah, scalability, parallel, adaptive and Blue Waters, for the complex engineering problems described in Section 2. An implication of this approach is that the runtime system must 1. INTRODUCTION constantly evolve [14] to meet the challenges of future and present The need to solve larger and more challenging multi-scale and architectures. The trends over the next five years seem to be that multi-physics science and engineering problems on computer ar- present CPU architectures will continue at small to medium scale, chitectures that are rapidly evolving to address improvements in albeit with more power-efficient cores, while many newer scale performance and power consumption poses considerable challenges large architecture will embrace presently-evolving NVIDIA GPUs for modern simulation frameworks and packages. A fundamental or Intel Xeon Phi processors. Examples of such machines are the decomposition in such software is to use a programming model to IBM NVIDIA Summit machine with 3,500 nodes and multiple GPUs specify a task form of the application and its associated numeri- per node at Oak Ridge National Laboratory and the Intel-Cray Aurora cal methods and then to execute these tasks by means of an adap- machine with 50,000 Intel Xeon Phi chips at Argonne National tive runtime system. The potential value of this approach is stated Lab. Public overviews of these machines are given at http:// by [20, 30] Exascale programming will require prioritization of science.energy.gov/ascr/ascac/meetings. critical-path and non-critical path tasks, adaptive directed acyclic A key need for the present and future architectures is to address graph scheduling of critical-path tasks, and adaptive rebalancing the efficiency of data structures. An example of this is given in of all tasks with the freedom of not putting the rebalancing of non- Section 3, in which the data structures that support task-graph com- critical tasks on the path itself. This is the approach used in the pilation are revised to improve performance. At the same time het- Uintah software e.g. [11,43]. The separation, of user code and run- erogeneous architectures with multiple accelerators per node make it important to create the infrastructure to support delay free task execution, of tasks that may have quite short execution times, as in Section 4. The need to combine efficient task execution with portability may be resolved in a number of different ways. One is Permission to make digital or hard copies of all or part of this work for through the use of domain specific languages such as the Nebo ap- personal or classroom use is granted without fee provided that copies are proach used with Uintah [21]. In Section 5 of this paper an alterna- not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to tive approach using the Kokkos intermediate layer is explored [23], republish, to post on servers or to redistribute to lists, requires prior specific as Kokkos makes it possible for core loops to be written in a form permission and/or a fee. that maps the underlying data structures in the most efficient way Copyright 20XX ACM X-XXXXX-XX-X/XX/XX ...$15.00. onto different architectures. The final challenge to address is that low and high-speed compressible flow solver, ICE; 2) a material of resiliency, as the runtime system has to evolve to meet the ex- point method algorithm, MPM for structural mechanics; 3) a fluid- pected challenge of resiliency, by using fault tolerant approaches structure interaction (FSI) algorithm, MPMICE which combines such as, for example, the fault-tolerant message passing approach the ICE and MPM components and 4) a turbulent reacting CFD of redMPI, [24]. For example If cores automatically reduce clock component, ARCHES designed for simulation of turbulent react- speeds, then it will be possible to use our present approach to load ing flows with participating media radiation. Each component is balance the calculation. If a core or node is not performing or is expressed as a sequence of tasks in which data dependencies (in- consuming too much power, then tasks can be moved elsewhere or puts and outputs) are explicitly specified. These tasks are then delayed. In the case of node or core failures we are simulating the compiled into a task-graph representation (Directed Acyclic Graph) approach of using system monitors for hard fault-tolerance. Should to express the parallel computation along with the underlying data calculations involving Uintah patches fail, it is always possible to dependencies. The smallest unit of parallel work is a patch com- use checkpoint restarts. It is often also remarked upon that this ap- posed of a hexahedral cube of grid cells. Each task has a C++ proach is too expensive if failures are very frequent. In this case method for the actual computation and each component specifies in Section 7 we investigate using task replication at a coarse level a list of tasks to be performed and the data dependencies between using Adaptive Mesh Refinement. A task may be replicated on a them [13]. Uintah’s runtime system executes these tasks indepen- coarser mesh at 1/8 of the cost of its parent. If the parent task fails dently of the application itself thus allowing the tasks and the in- then interpolation is used to reconstruct the parent task data. A frastructure to be developed separately with scalability concerns key aspect of this process is the choice of the interpolation routines such as load balancing, task (component) scheduling, communica- which must preserve the physical characteristics of the underlying tions, including accelerator or co-processor interaction. Scalability solution, such as positivity. For this reason a modified Shepard in- is achieved by continuously improving the runtime system to in- terpolant is proposed and its performance investigated as part of our clude features such as scalable adaptive mesh refinement [34] and move to a runtime system that will eventually address all the above a novel load balancing approach [33]. While Uintah uses a Directed challenges of forthcoming computer architectures. Acyclic Graph approach for task scheduling, the use of dynamic/out- of-order task execution is important in improving scalability [43]. 2. UINTAH FRAMEWORK For systems with reduced memory per core, only one MPI process and only one data warehouse per node are used. Threads are used The Uintah open-source software framework makes it possible to for task execution on individual cores. This has made it possible solve a very broad problem class of fluid-structure interaction prob- to reduce memory use by an order of magnitude and led to bet- lems from a variety of science and engineering disciplines, [10]. ter scalability [41]. Additional details surrounding Uintah’s run- The central idea [11, 43] is to use a layered approach, see Figure time system can be found in [43]. Even thought this approach is 1, that structure applications drivers and applications packages as very successful on a range of existing large machines [43] it is still a Directed Acyclic Graph (DAG) of computational tasks, belong- necessary for the applications user to ensure that there are enough ing to Uintah components that access local and global data from a patches per core to hide communications costs, or at least to make data warehouse that is part of an MPI process and that deals with them scalable.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages10 Page
-
File Size-