Abstract
We describe how aspect oriented programming techniques can be exploited to support the development of workflow-based grid applications. In particular, we use aspects to adapt simple Java workflow code to be executed on top of muskel, our experimental, macro data flow based skeleton programming environment. Aspects are used to extract “on-the-fly” macro data flow graphs from plain Java code where the nodes of the workflow are explicitly identified by the programmers. The macro data flow instructions in the graph are automatically submitted to the muskel distributed macro data flow interpreter for the execution. A proper manager, instantiated by the programmer, is used to exploit stream parallelism on the workflow. Experimental results will be presented that demonstrate scalability of the approach for suitably grained workflows.
Overall, the approach discussed here concentrates workflow exploitation responsibilities on the aspect (i.e. system) programmers leaving the application programmers only the task of properly defining logical steps in the workflow. This results in a complete separation of concerns that sensibly enhances the efficiency in workflow application development, while keeping both the system size and the additional knowledge required to application programmers reasonably small.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Aldinucci, M. Danelutto, and P. Dazzi. Muskel: an expandable skeleton environment. Scalable Computing: Practice and Experience, 2007. To appear.
AspectJ Home page, 2007. http://www.eclipse.org/aspectj/.
P. V. Bangalore. Generating Parallel Applications for Distributed Memory Systems Using Aspects, Components, and Patterns. In The 6th AOSD Workshop on Aspects, Components and Patterns for Infrastructure Software (ACP4IS), Vancouver, BC, Canada, March 2006. ACM 978-1-59593-657-8/07/03.
M. Cole. A skeletal approach to exploitation of parallelism. In Proc. of CONPAR 88, British Computer Society Workshop Series, pages 667-675. Cambridge University Press, 1989.
M. Cole. Bringing skeletons out of the closet: A pragmatic manifesto for skeletal parallel programming. Parallel Computing, 30(3):389-406, 2004.
C. A. Cunha and J. L. Sobral. An annotation-based framework for parallel computing. In Proc. of Intl. Euromicro PDP: Parallel Distributed and network-based Processing, pages 113-120, Los Alamitos, CA, USA, 2007. IEEE Computer Society.
M. Danelutto. QoS in parallel programming through application managers. In Proc. of Intl. Euromicro PDP: Parallel Distributed and network-based Processing, pages 282-289, Lugano, Switzerland, Feb. 2005. IEEE.
M. Danelutto and P. Dazzi. Joint structured/non structured parallelism exploitation through data flow. In V. Alexandrov, D. van Albada, P. Sloot, and J. Dongarra, editors, Proc. of ICCS: Intl. Conference on Computational Science, Workshop on Practical Aspects of High-level Parallel Programming, LNCS, Reading, UK, May 2006. Springer.
M. Danelutto, M. Pasin, M. Vanneschi, P. Dazzi, L. Presti, and D. Laforenza. Pal: towards a new approach to high level parallel programming. In M. Bubak, S. Golatch, and T. Priol, editors, Proc. of the Integrated Research in Grid Computing Workshop, CoreGRID, Krakow, Poland, oct 2006. Academic Computing Centre CYFRONET AGH. submitted.
R. E. Filman, T. Elrad, S. Clarke, and M. Aksit. Aspect-Oriented Software Development. Addison-Wesley, 2005. ISBN 0-321-21976-7.
Survey on Grid Workflows, http://wiki.cogkit.org/index.php/Survey-on-Grid-Workflows, 2007.
B. Harbulot and J. R. Gurd. Using AspectJ to Separate Concerns in Parallel Scientific Java Code. In Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD), Lancaster, UK, March 2004.
R. Laddad. AspectJ in Action: Practical Aspect-Oriented Programming. 2003. ISBN1-930110-93-6.
muskel Home Page, 2006. http://www.di.unipi.it/∼marcod/Muskel.
J. Sobral. Incrementally developing parallel applications with aspectj. In 20th IEEE International Parallel & Distributed Processing Symposium. IEEE Press, 4 2006.
J. L. Sobral, M. P. Monteiro, and C. A. Cunha. Aspect-oriented support for modular parallel computing. In Proceedings of the Fifth AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software, pages 37-41, Bonn, Germany, 2006. Published as University of Virginia Computer Science Technical Report CS-2006-01.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Danelutto, M., Dazzi, P. (2008). Workflows on Top of a Macro Data Flow Interpreter Exploiting Aspects. In: Making Grids Work. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-78448-9_17
Download citation
DOI: https://doi.org/10.1007/978-0-387-78448-9_17
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-78447-2
Online ISBN: 978-0-387-78448-9
eBook Packages: Computer ScienceComputer Science (R0)