Skip to main content

Domain-Specific Optimizations of Composed Parallel Components

  • Chapter
Domain-Specific Program Generation

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3016))

Abstract

Generic components, customizable for specific application domains, are being increasingly used in the software development for parallel and distributed systems. While previous research focused mostly on single components, e.g. skeletons, and their properties, our work addresses the optimization opportunities for the typical situation that several calls to components are composed in a large application. We present an overview of the recently developed optimizations of parallel and distributed components at three abstraction levels: 1) fusing compositions of basic skeletons, expressed as collective operations in MPI (Message Passing Interface), 2) developing cost-optimal implementations for skeleton compositions using domain-specific data structures, and 3) optimizing remote execution of components’ compositions in the context of Java RMI (Remote Method Invocation) in Grid-like distributed environments. We demonstrate our optimizations using application case studies and report experimental results on the achieved performance improvements.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cole, M.I.: Algorithmic Skeletons: A Structured Approach to the Management of Parallel Computation. PhD thesis, University of Edinburgh (1988)

    Google Scholar 

  2. Quinn, M.J.: Parallel Computing. McGraw-Hill, Inc., New York (1994)

    Google Scholar 

  3. Leighton, F.T.: Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann Publ., San Francisco (1992)

    MATH  Google Scholar 

  4. Pacheco, P.: Parallel Programming with MPI. Morgan Kaufmann Publ., San Francisco (1997)

    MATH  Google Scholar 

  5. Gorlatch, S.: Message passing without send-receive. Future Generation Computer Systems 18, 797–805 (2002)

    Article  MATH  Google Scholar 

  6. Grune, D., Bal, H.E., Jacobs, C.J.H.: Modern Compiler Design. John Wiley, Chichester (2000)

    Google Scholar 

  7. Gorlatch, S.: Optimizing compositions of scans and reductions in parallel program derivation. Technical Report MIP-9711, Universität Passau (1997), Available at: http://www.fmi.uni-passau.de/cl/papers/Gor97b.html

  8. Gorlatch, S.: Towards formally-based design of message passing programs. IEEE Trans. on Software Engineering 26, 276–288 (2000)

    Article  Google Scholar 

  9. Bischof, H., Gorlatch, S.: Double-scan: Introducing and implementing a new data-parallel skeleton. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 640–647. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  10. Gorlatch, S.: Systematic efficient parallelization of scan and other list homomorphisms. In: Fraigniaud, P., Mignotte, A., Robert, Y., Bougé, L. (eds.) Euro-Par 1996. LNCS, vol. 1124, pp. 401–408. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  11. Gorlatch, S., Lengauer, C.: Abstraction and performance in the design of parallel programs: overview of the SAT approach. Acta Informatica 36, 761–803 (2000)

    Article  MATH  Google Scholar 

  12. Bischof, H., Gorlatch, S., Kitzelmann, E.: The double-scan skeleton and its parallelization. Technical Report 2002/06, Technische Universität Berlin (2002)

    Google Scholar 

  13. Alt, M., Bischof, H., Gorlatch, S.: Algorithm design and performance prediction in a Java-based Grid system with skeletons. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 899–906. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  14. Getov, V., von Laszewski, G., Philippsen, M., Foster, I.: Multiparadigm communications in Java for Grid computing. Communications of the ACM 44, 118–125 (2001)

    Article  Google Scholar 

  15. Hicklin, J., Moler, C., Webb, P., Boisvert, R.F., Miller, B., Pozo, R., Remington, K.: JAMA: A Java matrix package, http://math.nist.gov/javanumerics/jama/

  16. Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P.: Numerical Recipes in C: The Art of Scientific Computing, 2nd edn. Cambridge University Press, Cambridge (1992)

    Google Scholar 

  17. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elemets of reusable object-oriented software. Addison-Wesley, Reading (1995)

    Google Scholar 

  18. Szyperski, C.: Component software: beyond object-oriented programming. Addison-Wesley, Reading (1998)

    Google Scholar 

  19. Hu, Z., Iwasaki, H., Takeichi, M.: An accumulative parallel skeleton for all. In: Le Métayer, D. (ed.) ESOP 2002. LNCS, vol. 2305, pp. 83–97. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  20. Raje, R., Williams, J., Boyles, M.: An asynchronous remote method invocation (ARMI) mechanism in Java. Concurrency: Practice and Experience 9, 1207–1211 (1997)

    Article  Google Scholar 

  21. Falkner, K.K., Coddington, P., Oudshoorn, M.: Implementing asynchronous remote method invocation in Java. In: Proc. of Parallel and Real Time Systems (PART 1999), Melbourne, pp. 22–34 (1999)

    Google Scholar 

  22. Yeung, K.C., Kelly, P.H.J.: Optimising Java RMI programs by communication restructuring. In: Schmidt, D., Endler, M. (eds.) Middleware 2003: ACM/IFIP/ USENIX International Middleware Conference, pp. 324–343. Springer, Heidelberg (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Gorlatch, S. (2004). Domain-Specific Optimizations of Composed Parallel Components. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds) Domain-Specific Program Generation. Lecture Notes in Computer Science, vol 3016. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25935-0_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-25935-0_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22119-7

  • Online ISBN: 978-3-540-25935-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics