Parallelism Abstractions in Eden

  • Rita Loogen
  • Yolanda Ortega
  • Ricardo Peña
  • Steffen Priebe
  • Fernando Rubio


Two important abstractions have contributed to create a reliable programming methodology for industrial-strength programs These are functional abstraction (which has received different names in programming languages, such as procedure, subroutine, function, etc), and data abstraction (also with different names such as abstract data type, object, package or simply module). In both abstractions two different pieces of information are distinguished:


Load Balance Critical Path Cost Model Dynamic Channel Functional Language 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1] G. H. Botorog and H. Kuchen. Efficient Parallel Programming with Algorithmic Skeletons. In Proceedings of EuroPar ’96, LNCS 1123, pages 718–731. Springer-Verlag, 1996.Google Scholar
  2. [2] S. Breitinger, U. Klusik, and R. Loogen. From (sequential) Haskell to (parallel) Eden: An Implementation Point of View. In Principles of Declarative Programming, PLILP 1998, LNCS 1490, pages 318–334. Springer-Verlag, 1998.Google Scholar
  3. [3] S. Breitinger, U. Klusik, R. Loogen, Y. Ortega-Mall¨¦n, and R. Peña. DREAM: the Distributed Eden Abstract Machine In Selected Papers of Implementation of Functional Languages, IFL’97. St. Andrews, Scotland, LNCS 1467, pages 250–269. Springer-Verlag, 1998.Google Scholar
  4. 4.
    S. Breitinger, R. Loogen, Y. Ortega Mallén, and R. Peña. Eden: Language Definition and Operational Semantics. Technical Report, Bericht 96–10, revised version, Philipps-Universität Marburg, Germany, 1996.Google Scholar
  5. [5] S. Breitinger, R. Loogen, Y. Ortega-Mallén, and R. Peña. The Eden Coordination Model for Distributed Memory Systems. In Workshop on High-level Parallel Programming Models, HIPS’97, pages 120–124. IEEE Computer Science Press, 1997.Google Scholar
  6. 6.
    M. Cole. Algorithmic Skeletons: Structure Management of Parallel Computations. MIT Press, 1989.Google Scholar
  7. [7] J. Darlington, A. J. Field, P. G. Harrison, P. H. J. Kelly, D. W. N. Sharp, Q. Wu, and R. L. While. Parallel programming using skeleton functions. In Proceedings of PARLE ’93 - Parallel Architectures and Languages Europe, LNCS 694, pages 146–160. Springer-Verlag, 1993.Google Scholar
  8. 8.
    A. Geist, A. Beguelin, J. Dongarra, and W. Jiang. PVM: Parallel Virtual Machine. MIT Press, 1994.Google Scholar
  9. 9.
    W. M. Gentleman. Some Complexity Results for Matrix Computations on Parallel Computers. Journal of the ACM, 25(1):112–115, Jan 1978.MathSciNetMATHCrossRefGoogle Scholar
  10. 10.
    M. Hamdan. A Combinational Framework for Parallel Programming Using Algorithmic Skeletons. PhD thesis, Department of Computing and Electrical Engineering. Heriot-Watt University, 2000.Google Scholar
  11. [11] K. Hammond and A. J. Rebón Portillo. HaskSkel: Algorithmic Skeletons for Haskell. In Implementation of Functional Languages (IFL’99), Selected Papers, LNCS 1868. Springer-Verlag, 1999.Google Scholar
  12. 12.
    P. H. Hartel, M. Feeley, A. Alt, et al. Benchmarking Implementations of Functional Languages with “Pseudoknot”, a Float-Intensive Benchmark. Journal of Functional Programming, 4(6):621–655, July 1996.CrossRefGoogle Scholar
  13. 13.
    E. Horowitz and S. Sahni. Fundamentals of Computer Algorithms. Pitman, 1978.Google Scholar
  14. 14.
    Impala. Impala - (IMplicitly PArallel LAnguage Application Suite).<URL:http: //www. csg.>, July 2001.Google Scholar
  15. 15.
    P. Kelly. Coordination languages. In K. Hammond and G. J. Michaelson, editors, Research Directions in Parallel Functional Programming, pages 305–322. Springer-Verlag, 1999.Google Scholar
  16. 16.
    M. Kesseler. Constructing skeletons in Clean: The bare bones. In A. P. W. Bohm and J. T. Feo, editors, High Performance Functional Computing, pages 182–192, April 1995.Google Scholar
  17. [17] U. Klusik, R. Loogen, S. Priebe, and F. Rubio. Implementation Skeletons in Eden: Low-Effort Parallel Programming. Implementation of Functional Languages, LNCS 2011, pages 7188. Springer-Verlag, 2001.Google Scholar
  18. [18] U. Klusik, Y. Ortega-Mallén, and R. Peña. Implementing Eden - or: Dreams Become Reality. In Selected Papers of Implementation of Functional Languages, IFL’98, London, Sept. 1998, LNCS 1595, pages 103–119. Springer-Verlag, 1999.Google Scholar
  19. [19] U. Klusik, R. Peña, and F. Rubio. Replicated Workers in Eden. In Constructive Methods for Parallel Programming (CMPP’2000). To appear. Nova Science, 2001.Google Scholar
  20. 20.
    G. Michaelson, N. Scaife, P. Bristow, and P. King. Nested algorithmic skeletons from higher order functions. Parallel Algorithms and Applications, special issue on High Level Models and Languages for Parallel Processing, 16:181–206, August 2001.MATHGoogle Scholar
  21. [21] MPI Forum. MPI: A Message-passing Interface Standard. International Journal of Supercomputer Applications, 8(3/4), 1994.Google Scholar
  22. [22] C. Okasaki. An Overview of Edison. In Haskell Workshop, 2000.Google Scholar
  23. 23.
    S. Pelagatti. Structured Development of Parallel Programs. Taylor and Francis, 1998.Google Scholar
  24. [24] R. Peña and F. Rubio. Parallel Functional Programming at Two Levels of Abstraction. In Principles and Practice of Declarative Programming (PPDPO1). ACM Press, September 2001.Google Scholar
  25. [25] R. Peña, F. Rubio, and C. Segura. Deriving Non-Hierarchical Process Topologies. In Draft Proceedings of the 3rd Scottish Functional Programming Workshop, 2001.Google Scholar
  26. [26] R. Peña and C. Segura. Non-Determinism Analysis in a Parallel-Functional Language. In Selected papers of IFL 2000 (Implementation of Functional Languages), LNCS 2011, pages 1–18. Springer-Verlag, 2001.Google Scholar
  27. [27] S. L. Peyton Jones. Compiling Haskell by Program Transformations: A Report from the Trenches. In ESOP’96 - European Symposium on Programming, LNCS 1058, pages 18–44. Springer-Verlag, 1996.Google Scholar
  28. 28.
    S. L. Peyton Jones, C. V. Hall, K. Hammond, W. D. Partain, and P. L. Wadler. The Glasgow Haskell Compiler: A Technical Overview. In Joint Framework for Inf. Technology, Keele, pages 249–257, 1993.Google Scholar
  29. [29] S. L. Peyton Jones and J. Hughes, editors. Report on the Programming Language Haskell 98. URL, February 1999.Google Scholar
  30. 30.
    M. J. Quinn. Parallel Computing: Theory and Practice. McGraw-Hill, 1994.Google Scholar
  31. [31] P. W. Trinder, K. Hammond, J. S. M. Jr., A. S. Partridge, and S. L. P. Jones. GUM: a Portable Parallel Implementation of Haskell. In ACM SIG-PLAN Conference on Programming Language Design and Implementation. ACM Press, 1996.Google Scholar
  32. [32] P. W. Trinder, K. Hammond, H. W. Loidl, and S. L. Peyton Jones. Algorithm + Strategy = Parallelism. Journal of Functional Programming, 8(1), 1998.Google Scholar
  33. 33.
    P. W. Trinder, H. W. Loidl, and R. Pointon. Parallel and Distributed Haskells. Journal of Functional Programming, 2002. To appear.Google Scholar

Copyright information

© Springer-Verlag London 2003

Authors and Affiliations

  • Rita Loogen
  • Yolanda Ortega
  • Ricardo Peña
  • Steffen Priebe
  • Fernando Rubio

There are no affiliations available

Personalised recommendations