An Orchestration Language for Parallel Objects
Workshop on Languages, Compilers, and Run-time Support for Scalable Systems (LCR) 2004
Publication Type: Paper
Repository URL: orch1
Abstract
Charm++, a parallel object language based on the idea of virtual
processors, has attained significant success in efficient
parallelization of applications. Requiring the user to only
decompose the computation into a large number of objects ("virtual
processors" or VPs), Charm++ empowers its intelligent adaptive
runtime system to assign and reassign the objects to processors at
runtime. This facility is used to optimize execution, including via
dynamic load balancing. Having multiple sets of VPs for
distinct parts of a simulation leads to improved modularity and
performance. However, it also tends to obscure the global flow of
control: One must look at the code of multiple objects to discern
how the sets of objects are orchestrated in a given application. In
this paper, we present an orchestration notation that allows
expression of Charm++ functionality without its fragmented flow of
control.
TextRef
L. V. Kale and Mark Hills and Chao Huang, "An Orchestration Language for
Parallel Objects", Parallel Programming Laboratory, Department of Computer
Science, University of Illinois at Urbana-Champaign, Proceedings of Seventh
Workshop on Languages, Compilers, and Run-time Support for Scalable Systems
(LCR 04), Houston, Texas, October 2004.
People
Research Areas