Aspect Oriented Pluggable Support for Parallel Computing

In this paper, we present an approach to develop parallel applications based on aspect oriented programming. We propose a collection of aspects to implement group communication mechanisms on parallel applications. In our approach, parallelisation code is developed by composing the collection into the application core functionality. The approach requires fewer changes to sequential applications to parallelise the core functionality than current alternatives and yields more modular code. The paper presents the collection and shows how the aspects can be used to develop efficient parallel applications.

[1]  Michael Philippsen,et al.  A survey of concurrent object-oriented languages , 2000, Concurr. Pract. Exp..

[2]  Mariano Ceccato,et al.  Adding distribution to existing applications by means of aspect oriented programming , 2004, Source Code Analysis and Manipulation, Fourth IEEE International Workshop on.

[3]  Joel H. Saltz,et al.  Parallel Programming Using C++ , 1996 .

[4]  Satoshi Matsuoka,et al.  Highly efficient and encapsulated re-use of synchronization code in concurrent object-oriented languages , 1993, OOPSLA '93.

[5]  João Luís Sobral,et al.  Reusable aspect-oriented implementations of concurrency patterns and mechanisms , 2006, AOSD.

[6]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[7]  William G. Griswold,et al.  Getting started with ASPECTJ , 2001, CACM.

[8]  Denis Caromel,et al.  Programming, Composing, Deploying for the Grid , 2006, Grid Computing: Software Environments and Tools.

[9]  Denis Caromel,et al.  Object-oriented SPMD , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..

[10]  Mario Tokoro,et al.  Object-oriented concurrent programming , 1987 .

[11]  Jason Maassen,et al.  GMI: Flexible and Efficient Group Method Invocation for Parallel Programming , 2002 .

[12]  Gregory V. Wilson,et al.  Parallel Programming Using C , 1996 .

[13]  Hans-Arno Jacobsen,et al.  Resolving feature convolution in middleware systems , 2004, OOPSLA.

[14]  P. Tonella,et al.  Adding distribution to existing applications by means of aspect oriented programming , 2004 .

[16]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[17]  John R. Gurd,et al.  Using AspectJ to separate concerns in parallel scientific Java code , 2004, AOSD '04.

[18]  Yike Guo,et al.  Parallel skeletons for structured composition , 1995, PPOPP '95.

[19]  Sérgio Soares,et al.  Implementing distribution and persistence aspects with aspectJ , 2002, OOPSLA '02.

[20]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[21]  L.A. Smith,et al.  A Parallel Java Grande Benchmark Suite , 2001, ACM/IEEE SC 2001 Conference (SC'01).

[22]  Hans-Wolfgang Loidl,et al.  Algorithm + strategy = parallelism , 1998, Journal of Functional Programming.

[23]  João Luís Sobral,et al.  JaSkel: a Java skeleton-based framework for structured cluster and grid computing , 2006, Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06).

[24]  Sergei Gorlatch,et al.  Patterns and Skeletons for Parallel and Distributed Computing , 2002, Springer London.

[25]  Yannis Smaragdakis,et al.  Aspectizing server-side distribution , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[26]  Assaf Schuster,et al.  A distributed runtime for Java: yesterday and today , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[27]  João Luís Sobral,et al.  Incrementally developing parallel applications with AspectJ , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[28]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[29]  Michael Philippsen A survey of concurrent object-oriented languages , 2000 .

[30]  Jonathan Schaeffer,et al.  Using generative design patterns to generate parallel code for a distributed memory environment , 2003, PPoPP '03.

[31]  José C. Cunha,et al.  Grid Computing: Software Environments and Tools , 2005 .