DocumentCode
2352343
Title
The uintah framework: a unified heterogeneous task scheduling and runtime system
Author
Qingyu Meng ; Humphrey, Alan ; Berzins, Martin
Author_Institution
Sci. Comput. & Imaging Inst., Univ. of Utah, Salt Lake City, UT, USA
fYear
2012
fDate
10-16 Nov. 2012
Firstpage
2441
Lastpage
2448
Abstract
The development of a new unified, multi-threaded runtime system for the execution of asynchronous tasks on heterogeneous systems is described in this work. These asynchronous tasks arise from the Uintah framework, which was developed to provide an environment for solving a broad class of fluid-structure interaction problems on structured adaptive grids. Uintah has a clear separation between its MPI-free user-coded tasks and its runtime system that ensures these tasks execute efficiently. This separation also allows for complete isolation of the application developer from the complexities involved with the parallelism Uintah provides. While we have designed scalable runtime systems for large CPU core counts, the emergence of heterogeneous systems, with additional on-node accelerators and co-processors presents additional design challenges in terms of effectively utilizing all computational resources on-node and managing multiple levels of parallelism. Our work addresses these challenges for Uintah by the development of new hybrid runtime system and Unified multi-threaded MPI task scheduler, enabling Uintah to fully exploit current and emerging architectures with support for asynchronous, out-of-order scheduling of both CPU and GPU computational tasks. This design coupled with an approach that uses MPI to communicate between nodes, a shared memory model on-node and the use of novel lock-free data structures, has made it possible for Uintah to achieve excellent scalability for challenging fluid-structure problems using adaptive mesh refinement on as many as 256K cores on the DoE Jaguar XK6 system. This design has also demonstrated an ability to run capability jobs on the heterogeneous systems, Keeneland and TitanDev. In this work, the evolution of Uintah and its runtime system is examined in the context of our new Unified multi-threaded scheduler design. The performance of the Unified scheduler is also tested against previous Uintah scheduler and runtime designs over - range of processor core and GPU counts.
Keywords
application program interfaces; data structures; message passing; multi-threading; processor scheduling; shared memory systems; CPU core counts; DoE Jaguar XK6 system; GPU computational tasks; Keeneland; MPI-free user-coded tasks; TitanDev; Uintah framework; adaptive mesh refinement; asynchronous out-of-order scheduling; asynchronous task execution; coprocessors; fluid-structure interaction problems; heterogeneous systems; hybrid runtime system; lock-free data structures; multithreaded runtime system; on-node accelerators; shared memory model on-node; structured adaptive grids; unified heterogeneous task scheduling; unified multithreaded MPI task scheduler design;
fLanguage
English
Publisher
ieee
Conference_Titel
High Performance Computing, Networking, Storage and Analysis (SCC), 2012 SC Companion:
Conference_Location
Salt Lake City, UT
Print_ISBN
978-1-4673-6218-4
Type
conf
DOI
10.1109/SCC.2012.6674233
Filename
6674233
Link To Document