Abstract
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.
This work is supported by PPC-VM (Portable Parallel Computing based on Virtual Machines) project POSI/CHS/47158/2002, funded by Portuguese FCT (POSI) and by European funds (FEDER). Miguel P. Monteiro is partially supported by FCT under project SOFTAS (POSI/EIA/60189/2004).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Matsuoka, S., Taura, K., Yonezawa, A.: Highly Efficient and Encapsulated Re use of Synchronisation Code in Concurrent Object Oriented Languages. In: OOPSLA ‘93 (Oct. 1993)
Harbulot, B., Gurd, J.: Using AspectJ to Separate Concerns in Parallel Scientific Java Code. In: ACM AOSD’04, Lancaster, UK, March 2004, ACM Press, New York (2004)
Kiczales, G., et al.: Aspect Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)
Soares, S., Loureiro, E., Borba, P.: Implementing Distribution and Persistence Aspects With AspectJ. In: OOPSLA ’02 (November 2002)
Ceccato, M., Tonella, P.: Adding Distribution to Existing Applications by means of Aspect Oriented Programming. In: 4th IEEE SCAM, September 2004, IEEE Computer Society Press, Los Alamitos (2004)
Tilevich, E., et al.: Aspectizing Server-Side Distribution. In: IEEE ASE 2003, Montreal, Canada, October 2003, IEEE, Los Alamitos (2003)
Zhang, C., Jacobsen, H.: Resolving Feature Convolution in Middleware Systems. In: OOPSLA’04, Vancouver, Canada (October 2004)
Yonezawa, A., Tokoro, M. (eds.): Object-Oriented Concurrent Programming. MIT Press, Cambridge (1987)
Chien, A., et al.: Concurrent Aggregates (CA) Language Report - Version 2.0. TR, Dep. Computer Science, University of Illinois, UC (Nov. 1993)
Wilson, G. (ed.): Parallel Programming Using C++. MIT Press, Cambridge (1996)
Philippsen, M.: A Survey of Concurrent Object-Oriented Languages. Concurrency: Practice and Experience 10(12) (2000)
Factor, M., Schuster, A., Shagin, K.: A Distributed Runtime for Java: Yesterday and Today. In: IEEE IPDPS’04, New Mexico, April 2004, IEEE Computer Society Press, Los Alamitos (2004)
Baude, F., et al.: Programming, Composing Deploying for the Grid. In: Cunha, J.C., Rana, O.F. (eds.) Grid Computing: Software Environments and Tools, January 2006, Springer, Heidelberg (2006)
Maassen, J., et al.: Efficient Group Method Invocation for Parallel Programming. In: Sixth Workshop on Languages, Compilers, and Run-time Systems for Scalable Computers (LCR-02), Washington DC (March 2002)
Baduel, L., Baude, F., Caromel, D.: Object-Oriented SPMD. In: International Symposium on Cluster Computing and the Grid (CCGrid2005), Cardiff (May 2005)
Darlington, J., et al.: Parallel Skeletons for Structured Composition. In: PPoPP’95, Santa Clara, USA (1995)
Trinder, P., et al.: Algorithm + Strategy = Parallelism. Journal of Functional Programming 8(1) (1998)
Rabhi, F., Gorlatch, S. (eds.): Patterns and Skeletons for Parallel and Distributed Computing. Springer, Heidelberg (2003)
Fernando, J., Sobral, J., Proenca, A.: JaSkel: A Java Skeleton-Based Framework for Structured Cluster and Grid Computing. In: CCGrid’2006, Singapore (May 2006)
Tan, K., et al.: Using Generative Design Patterns to Generate Parallel Code for a Distributed Memory Environment. In: PPoPP’03, San Diego, California, USA (June 2003)
Sobral, J.: Incrementally Developing Parallel Applications with AspectJ. In: IEEE IPDPS’06, Rhodes, Greece, April 2006, IEEE, Los Alamitos (2006)
Cunha, C., Sobral, J., Monteiro, M.: Reusable Aspect-Oriented Implementations of Concurrency Patterns and Mechanisms. In: AOSD’06, Bonn, Germany (March 2006)
OpenMP architecture review board, OpenMP Application Program Interface, Version 2.5 (May 2005), http://www.openmp.org
Kiczales, G., et al.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, Springer, Heidelberg (2001)
Kiczales, G., et al.: Getting Started with AspectJ. Communications of the ACM 44(10) (2001)
Smith, A., Bull, J., Obdrzálek, J.: A Parallel Java Grande Benchmark Suite. In: Supercomputing (SC’01) (November 2001)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Sobral, J.L., Cunha, C.A., Monteiro, M.P. (2007). Aspect Oriented Pluggable Support for Parallel Computing. In: Daydé, M., Palma, J.M.L.M., Coutinho, Á.L.G.A., Pacitti, E., Lopes, J.C. (eds) High Performance Computing for Computational Science - VECPAR 2006. VECPAR 2006. Lecture Notes in Computer Science, vol 4395. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71351-7_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-71351-7_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-71350-0
Online ISBN: 978-3-540-71351-7
eBook Packages: Computer ScienceComputer Science (R0)