Coordinating Heterogeneous Parallel Systems with Skeletons and Activity Graphs

Murray Cole, Andrea Zavanella

Research output: Contribution to journalArticlepeer-review

Abstract

Large scale parallel programming projects may become heterogeneous in both language and architectural model. We propose that skeletal programming techniques can alleviate some of the costs involved in designing and porting such programs, illustrating our approach with a simple program which combines shared memory and message passing code. We introduce Activity Graphs as a simple and practical means of capturing model independent aspects of the operational semantics of skeletal parallel programs. They are independent of low level details of parallel implementation and so can act as an intermediate layer for compilation to diverse underlying models. Activity graphs provide a notion of parallel activities, dependencies between activities, and the process groupings within which these take place. The compilation process uses a set of graph generators (templates) to derive the activity graph. We describe simple schemes for transforming activity graphs into message passing programs, targeting both MPI and BSP.
Original languageEnglish
Pages (from-to)127-143
Number of pages17
JournalJournal of Systems Integration
Volume10
Issue number2
DOIs
Publication statusPublished - Apr 2001

Fingerprint

Dive into the research topics of 'Coordinating Heterogeneous Parallel Systems with Skeletons and Activity Graphs'. Together they form a unique fingerprint.

Cite this