Author :
Wozniak, Justin M. ; Armstrong, Timothy G. ; Wilde, Mark ; Katz, Daniel S. ; Lusk, E. ; Foster, Ian T.
Abstract :
Many scientific applications are conceptually built up from independent component tasks as a parameter study, optimization, or other search. Large batches of these tasks may be executed on high-end computing systems, however, the coordination of the independent processes, their data, and their data dependencies is a significant scalability challenge. Many problems must be addressed, including load balancing, data distribution, notifications, concurrent programming, and linking to existing codes. In this work, we present Swift/T, a programming language and runtime that enables the rapid development of highly concurrent, task-parallel applications. Swift/Tis composed of several enabling technologies to address scalability challenges, offers a high-level optimizing compiler for user programming and debugging, and provides tools for binding user code in C/C++/Fortran into a logical script. In this work, we describe the Swift/T solution and present scaling results from the IBM Blue Gene/Pand Blue Gene/Q.
Keywords :
C++ language; FORTRAN; distributed memory systems; natural sciences computing; optimising compilers; parallel processing; program debugging; Blue Gene-Q; C-C++-Fortran; IBM Blue Gene-P; Swift-T solution; data dependency; distributed-memory dataflow processing; high-end computing systems; high-level optimizing compiler; large-scale application composition; programming language; scientific applications; task-parallel applications; user debugging; user programming; Computational modeling; Concurrent computing; Distributed databases; Libraries; Programming; Runtime; Turbines; ADLB; MPI; Swift; Swift/T; Turbine; dataflow;