Skip to main content

Abstract

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:

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.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. [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. 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. 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. A. Geist, A. Beguelin, J. Dongarra, and W. Jiang. PVM: Parallel Virtual Machine. MIT Press, 1994.

    Google Scholar 

  9. W. M. Gentleman. Some Complexity Results for Matrix Computations on Parallel Computers. Journal of the ACM, 25(1):112–115, Jan 1978.

    Article  MathSciNet  MATH  Google Scholar 

  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. 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.

    Article  Google Scholar 

  13. E. Horowitz and S. Sahni. Fundamentals of Computer Algorithms. Pitman, 1978.

    Google Scholar 

  14. Impala. Impala - (IMplicitly PArallel LAnguage Application Suite).<URL:http: //www. csg. lcs.mit.edu/impala/>, July 2001.

    Google Scholar 

  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. 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. 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.

    MATH  Google 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. 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. 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 http://www.haskell.org, February 1999.

    Google Scholar 

  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. P. W. Trinder, H. W. Loidl, and R. Pointon. Parallel and Distributed Haskells. Journal of Functional Programming, 2002. To appear.

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag London

About this chapter

Cite this chapter

Loogen, R., Ortega, Y., Peña, R., Priebe, S., Rubio, F. (2003). Parallelism Abstractions in Eden. In: Rabhi, F.A., Gorlatch, S. (eds) Patterns and Skeletons for Parallel and Distributed Computing. Springer, London. https://doi.org/10.1007/978-1-4471-0097-3_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-0097-3_4

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-85233-506-9

  • Online ISBN: 978-1-4471-0097-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics