2004 MCS Divisional Seminars & Colloquia


Implicit Process Sets in SPMD

   Ernesto Gomez

  Hosted by Paul Hovland

10:30 AM, Jan. 24, 2005
Building 221,  Room A-216


Abstract The SPMD (Single Program - Multiple Data) paradigm supported by most distributed processing software (a common programming style under MPI) includes the possibility that different sections of code within the same program will execute concurrently, as a result of logic depending on data which is different at each process. This leads to the implicit formation of subgroups of processes executing common code, but these sets are not known until runtime since they are data-dependent. We call these process sets Merging Implicit Process Sets (MIPS).


We describe an analysis of the program CFG (control flow graph) that allows identification of the points in the program at which the process set changes either through a group splitting into subgroups or by a merge of subgroups into a larger group. We show the conditions on the program code which permit us to prove that these split and merge points can be identified, and derive an algorithm to do so. We show conditions on communications required to ensure determinism and freedom from deadlock in an MIPS execution.

We further describe a technique called Overlapping,  which intervals between variable definition and use at sender and receiver are overlapped to permit a runtime system to dynamically schedule communication while minimizing waits at either process, or a Shortcutting technique, which can sometimes be used in conjunction with MIPS to potentially, obtain super scalar computational speedup.



We present a software library called SOS (Shortcutting, Overlapping and
MIPS), which implements the necessary runtime code


[MCS | Research | Resources | People | Collaboration | Software | Publications | Information]
Last updated on January 13, 2005
Disclaimer
Security/Privacy Notice
webmaster@mcs.anl.gov