Abstract
Development of parallel applications requires adequate languages to effectively modularise and reuse parallelisation patterns. In object oriented applications parallelisation issues typically cut across multiple classes becoming tangled with domain specific code, harming reusability. In this paper we propose a new skeleton-based language for object oriented applications, aiming to attain more modular, reusable, composeable and (un)pluggable parallelisations. We propose a set of template based operators that implement common object oriented parallel patterns. The collection includes a set of low level parallel patterns that can be composed to develop more high level patterns. Results obtained suggest that this is a feasible alternative to traditional approaches and that the performance penalty introduced by the approach has a minor impact on application scalability.
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
Caromel, D.: Towards a Method of Object-Oriented Concurrent Programming. Communications of the ACM 36, 9 (1993)
Chien, A., Karamcheti, V., Plevyak, J., Zhang, X.: Concurrent Aggregates (CA) Language Report - Version 2.0, TR, Dep. Computer Science, University of Illinois, UC (November 1993)
Cole, M.: Algorithmic Skeletons: structured management of parallel computation. MIT Press, Cambridge (1989)
Cunha, C., Sobral, J., Monteiro, M.: Reusable Implementations of Concurrency Patterns and Mechanisms using Aspect-Oriented Programming. In: AOSD 2006, Bonn (March 2006)
Fernando, J., Sobral, J., Proenca, A.: JaSkel: A Java Skeleton-Based Framework for Structured Cluster and Grid Computing (CCGrid 2006), Singapore (May 2000)
Gorlatch, S.: Send-Receive Considered Harmful: Myths and Realities of Message Passing. ACM TOPLAS 26(1) (January 2004)
Hannemann, J., Kiczales, G.: Design Pattern implementation in Java and in AspectJ. In: OOPSLA 2002, Seattle, USA (November 2002)
Kale, L., Krishnan, K.: CHARM++: A Portable Concurrent Object Oriented System Based on C++. In: OOPSLA 1993, ACM SIGPLAN Notices, vol. 28, p. 10 (October 1993)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, Springer, Heidelberg (2001)
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)
Philippsen, M., Zenger, M.: JavaParty - transparent remote objects in Java. Concurrency: Practice and Experience 11 (November 1997)
Smith, A., Bull, J., Obdrzálek, J.: A Parallel Java Grande Benchmark Suite. In: SC 2001 (November 2001)
Soares, S., Loureiro, L., Borba, P.: Implementing Distribution and Persistence Aspects With AspectJ. In: OOPSLA 2002 (November 2002)
Sobral, J.: Incrementally Developing Parallel Applications with AspectJ. In: IEEE IPDPS 2006, Rhodes, Greece (April 2006)
Sobral, J., Cunha, C., Monteiro, M.: 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.) VECPAR 2006. LNCS, vol. 4395, Springer, Heidelberg (2007)
Tilevich, E., Urbanski, S., Smaragdakis, Y., Fleury, M.: Aspectizing Server-Side Distribution. In: IEEE ASE 2003, Canada (October 2003)
Yonezawa, A., Tokoro, M. (eds.): Object-Oriented Concurrent Programming. MIT Press, Cambridge (1987)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Sobral, J.L. (2008). SkelJ: Skeletons for Object-Oriented Applications. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2007. Lecture Notes in Computer Science, vol 4967. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68111-3_118
Download citation
DOI: https://doi.org/10.1007/978-3-540-68111-3_118
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68105-2
Online ISBN: 978-3-540-68111-3
eBook Packages: Computer ScienceComputer Science (R0)