Advertisement

Dynamic Chunking in Eden

  • Jost Berthold
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3145)

Abstract

Parallel programming generally requires awareness of the granularity and communication requirements of parallel subtasks, since without precaution, the overhead for parameter and result communication may outweigh the gain of parallel processing. While this problem is often solved explicitly at the language level, it can also be alleviated by optimising message passing mechanisms in the runtime environment. We describe how a simple buffering mechanism introduces dynamic list chunking in the runtime environment of the parallel functional language Eden. We discuss design and implementation aspects of dynamic chunking and compare its effects to the original version in a set of measurements. Our optimisation is justified by a simple cost model, measurements analyse the overhead and illustrate the impact of the changed message passing mechanism.

Keywords

Garbage Collection Runtime System Chunk Size Process Abstraction Child Process 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Berthold, J., Klusik, U., Loogen, R., Priebe, S., Weskamp, N.: High-level Process Control in Eden. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds.) Euro-Par 2003. LNCS, vol. 2790, pp. 732–741. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Breitinger, S., Klusik, U., Loogen, R.: From (Sequential) Haskell to (Parallel) Eden: An Implementation Point of View. In: Palamidessi, C., Meinke, K., Glaser, H. (eds.) ALP 1998 and PLILP 1998. LNCS, vol. 1490, pp. 318–334. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  3. 3.
    Breitinger, S., Loogen, R., Ortega Mallén, Y., Peña Marí, R.: The Eden Coordination Model for Distributed Memory Systems. In: HIPS 1997 – Workshop on High-level Parallel Progr. Models, pp. 120–124. IEEE Comp. Science Press, Los Alamitos (1997)CrossRefGoogle Scholar
  4. 4.
    Chakravarty, M., Keller, G.: How Portable is Nested Data Parallelism? In: Cheng, W., Sajeev, A. (eds.) PART 1999, Melbourne, Australia, Springer, Heidelberg (1999), RMIT University, http://www.cse.unsw.edu.au/~chak/papers/CK99.html Google Scholar
  5. 5.
    Chakravarty, M., Keller, G., Lechtchinsky, R., Pfannenstiel, W.: Nepal – Nested Data-Parallelism in Haskell. Technical report, University of New South Wales (2000), http://www.cse.unsw.edu.au/~chak/papers/ndp-haskell.ps.gz
  6. 6.
    Foster, I.: Designing and Building Parallel Programs. Addison-Wesley (1995), http://www.mcs.anl.gov/dbpp/
  7. 7.
    Geist, G., Kohl, J., Papadopoulos, P.: PVM and MPI: a Comparison of Features. Calculateurs Paralleles 8(2) (1996)Google Scholar
  8. 8.
    Hammond, K., Michaelson, G. (eds.): Research Directions in Parallel Functional Programming. Springer, Heidelberg (1999)zbMATHGoogle Scholar
  9. 9.
    Klusik, U., Loogen, R., Priebe, S.: Controlling Parallelism and Data Distribution in Eden. In: SFP 2000, Trends in Functional Programming, pp. 53–64, Univ of St. Andrews, Scotland, Intellect (July 2000)Google Scholar
  10. 10.
    Klusik, U., Loogen, R., Priebe, S., Rubio, F.: Implementation Skeletons in Eden – Low-Effort Parallel Programming. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 71–88. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Loidl, H.-W., Hammond, K.: Making a Packet: Cost-Effective Communication for a Parallel Graph Reducer. In: Kluge, W.E. (ed.) IFL 1996. LNCS, vol. 1268, pp. 184–199. Springer, Heidelberg (1997), http://www.cee.hw.ac.uk/~dsg/gph/papers/ps/packet.ps.gz Google Scholar
  12. 12.
    MPI-2: Extensions to the Message-Passing Interface. Technical report, University of Tennessee, Knoxville (July 1997)Google Scholar
  13. 13.
    Peyton Jones, S., Hall, C., Hammond, K., Partain, W., Wadler, P.: The Glasgow Haskell Compiler: a Technical Overview. In: JFIT 1993, March 1993, pp. 249–257 (1993)Google Scholar
  14. 14.
    Peyton Jones, S., Hughes, J.: Haskell 98: A Non-strict, Purely Functional Language (1999), Available at http://www.haskell.org/
  15. 15.
    Parallel Virtual Machine Reference Manual, Version 3.2. University of Tennessee (August 1993)Google Scholar
  16. 16.
    Trinder, P., Hammond, K., Loidl, H.-W., Peyton Jones, S.: Algorithm + Strategy = Parallelism. J. of Functional Programming 8(1), 23–60 (1998)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Trinder, P., Hammond, K., Mattson Jr., J., Partridge, A., Peyton Jones, S.: GUM: a Portable Parallel Implementation of Haskell. In: PLDI 1996, May 1996, pp. 78–88. ACM Press, New York (1996)Google Scholar
  18. 18.
    Trinder, P.W., Loidl, H.-W., Pointon, R.F.: Parallel and Distributed Haskells. J. of Functional Programming 12(4&5), 469–510 (2002)zbMATHMathSciNetGoogle Scholar
  19. 19.
    Zain, A.A.: Heriot-Watt University, Edinburgh. personal contact (July 2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Jost Berthold
    • 1
  1. 1.Fachbereich Mathematik und InformatikPhilipps-Universität MarburgMarburgGermany

Personalised recommendations