DocumentCode :
3305342
Title :
Communication-Sensitive Static Dataflow for Parallel Message Passing Applications
Author :
Bronevetsky, Greg
Author_Institution :
Center for Appl. Sci. Comput., Lawrence Livermore Nat. Lab., Livermore, CA
fYear :
2009
fDate :
22-25 March 2009
Firstpage :
1
Lastpage :
12
Abstract :
Message passing is a very popular style of parallel programming, used in a wide variety of applications and supported by many APIs, such as BSD sockets, MPI and PVM. Its importance has motivated significant amounts of research on optimization and debugging techniques for such applications. Although this work has produced impressive results, it has also failed to fulfill its full potential. The reason is that while prior work has focused on runtime techniques, there has been very little work on compiler analyses that understand the properties of parallel message passing applications and use this information to improve application performance and quality of debuggers.This paper presents a novel compiler analysis framework that extends dataflow to parallel message passing applications on arbitrary numbers of processes. It works on an extended control-flow graph that includes all possible inter-process interactions of any numbers of processes. This enables dataflow analyses built on top of this framework to incorporate information about the application´s parallel behavior and communication topology. The parallel dataflow framework can be instantiated with a variety of specific dataflow analyses as well as abstractions that can tune the accuracy of communication topology detection against its cost. The proposed framework bridges the gap between prior work on parallel runtime systems and sequential dataflow analyses, enabling new transformations, runtime optimizations and bug detection tools that require knowledge of the application´s communication topology. We instantiate this framework with two different symbolic analyses and show how these analyses can detect different types of communication patterns, which enables the use of dataflow analyses on a wide variety of real applications.
Keywords :
data flow analysis; graph theory; message passing; optimisation; parallel programming; communication-sensitive static dataflow; compiler analysis framework; dataflow analysis; debugging techniques; extended control-flow graph; optimization techniques; parallel message passing; parallel programming; parallel runtime systems; Data analysis; Debugging; Information analysis; Message passing; Parallel programming; Pattern analysis; Performance analysis; Runtime; Sockets; Topology; compiler analysis; message-passing; multi-core; parallel processing; static analysis;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Code Generation and Optimization, 2009. CGO 2009. International Symposium on
Conference_Location :
Seattle, WA
Print_ISBN :
978-0-7695-3576-0
Type :
conf
DOI :
10.1109/CGO.2009.32
Filename :
4907646
Link To Document :
بازگشت