Parallel Programming with CHARM: An Overview
PPL Technical Report 1993
Publication Type: Paper
Programming System. Charm is a portable parallel programming system under development at the University of Illinois for the past six years. The system enhances latency tolerance via message driven execution, supports dynamic load balancing for medium grain tasks, and provides innovative language features such as specifically shared variables and ``branch office'' processes. The paper describes the philosophy behind the system, and elaborates on its features and their motivation. Completed and ongoing related projects are summarized, including: Dagger, a textual notation and a corresponding visual language for simplifying expression of split-phase communication that is necessary in message driven execution; A subset of the High Performance Fortran that demonstrates superior latency tolerance; Performance feedback and debugging tools that exploit the specificity of information available to the runtime system to give the user a highly refined and usable feedback; strategies for parallel execution of speculatively parallel computations; and a summary of preliminary applications.
L. V. Kale, "Parallel Programming with CHARM: An Overview", Parallel Programming Laboratory, University of Illinois at Urbana-Champaign, July 1993.