Coordinating heterogeneous parallel systems with skeletons and activity graphs

发布时间:2011-07-20 11:18:30   来源:文档文库   
字号:
Journal of Systems Integration,10,127–143(2001)2001Kluwer Academic Publishers,Boston.Manufactured in The Netherlands. Coordinating Heterogeneous Parallel Systems with Skeletons and Activity GraphsMURRAY COLE mic@dcs.ed.ac.uk Institute for Computing Systems Architecture,Diûision of Informatics,Uniûersity of Edinburgh,Scotland ANDREA ZAVANELLA zavanell@di.unipi.it Dipartimento di Informatica,Uniûersita´di Pisa,Pisa,ItalyAbstract.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.Keywords:skeleton,parallelism,activity graph1.IntroductionThe skeletal approach to parallel programming[3,4,6,13]advocates the use of pro-gram constructors,or‘‘skeletons’’,which abstract useful patterns of parallel compu-tation and interaction.This is held to ease the burden on the programmer,who is freed to think in terms of these higher-level strategies while being absolved of responsibility for their detailed implementation.As well as simplifying the initial coding of a parallel application,skeletons may offer significant help when porting to a new architecture is required.The nature of high performance computing makes this a regular and labor intensive exercise.Emerging standards such as MPI(for message passing)and OpenMP(for shared memory)have helped,but porting between such models remains problematic.Current trends towards‘‘cluster of SMP’’architectures(in which small and medium scale shared memory machines are con-nected to form larger ensembles)are most efficiently programmed in different lan-guage frameworks at different levels[12].This only serves to further complicate porting.Abstracting the essential structure of a parallel application into a short composition of skeletal primitives,each supported by diverse implementations, offers the prospect of significant compiler support for traditional porting and also the ability to express multi-framework computations in a way which cleanly separ-ates code which is framework independent from that which is framework specific.

本文来源:https://www.2haoxitong.net/k/doc/f8e2ef87b9d528ea81c779a9.html

《Coordinating heterogeneous parallel systems with skeletons and activity graphs.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式