Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/231379.231392acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free access

GUM: a portable parallel implementation of Haskell

Published: 01 May 1996 Publication History

Abstract

GUM is a portable, parallel implementation of the Haskell functional language. Despite sustained research interest in parallel functional programming, GUM is one of the first such systems to be made publicly available.GUM is message-based, and portability is facilitated by using the PVM communications harness that is available on many multi-processors. As a result, GUM is available for both shared-memory (Sun SPARCserver multiprocessors) and distributed-memory (networks of workstations) architectures. The high message-latency of distributed machines is ameliorated by sending messages asynchronously, and by sending large packets of related data in each message.Initial performance figures demonstrate absolute speedups relative to the best sequential compiler technology. To improve the performance of a parallel Haskell program GUM provides tools for monitoring and visualising the behaviour of threads and of processors during execution.

References

[1]
Arvind and Iannucci RA, "Two Fundamental Issues in Multiprocessing", Proc DFVLR Conference on Parallel Processing in Science and Engineering, Bonn-Bad Godesberg (June 1987).
[2]
Bevan DI, "Distributed Garbage Collection using Reference Counting", Proc PARLE, deBakker JW, Nijman L and Treleaven PC (eds), Eindhoven, Netherlands (June 1987).
[3]
Augustsson L, and Johnsson T, "Parallel Graph Reduction with the <v, G>-Machine", Proc. FPCA '89, London, UK, (1989), pp. 202-213.
[4]
Burton FW, and Rayward-Smith V J, "Worst Case Scheduling for Parallel Functional Programming", Journal of Functional Programming, 4(!), (January 1994), pp. 65-75.
[5]
Goldberg B, and Hudak P, "Alfalfa: Distributed Graph Reduction on a Hypercube Multiprocessor', Proc. Workshop on Graph Reduct,on, Fasel RMKJF (ed.), Santa F~, NM, Springer Verlag LNCS 279, (1986), pp. 94-113.
[6]
Goldberg BF, "Buckwheat: Graph Reduction on a Shared Memory Multiprocessor", Proc. A UM Conf. on Lisp and Functional Programming, Snowbird, Utah, (1988), ppp. 40-51.
[7]
Goldman R, and Gabriel RP, "Qlisp: Parallel Processing in Lisp", IEEE Software, pp. 51-59, (1989).
[8]
Hammond K, "Parallel Functional Programming: an Introduction, Proc. PASCO 'gd, Linz, Austria, World Scientific, (September 1994), pp. 181-193.
[9]
Hammond K, Mattson JS, Partridge AS, Peyton Jones SL, and Trinder PW "GUM: a portable Parallel Implementation of Haskell", Proc 7th. Intl. Workshop on Implementation of Functional Languages, Bastad, Sweden (September 1995).
[10]
Kesseler M, "Reducing Graph Copying Costs- Time to Wrap it up", Proc. PASCO 'gd -- First Intl. Symposium on Parallel Symbolic Computation, Hagenberg/Linz, Austria, World Scientific, (September 1994), pp. 244-253.
[11]
Kingdon H, Lester D, and Burn GL, "The HDG- Machine: a Highly Distributed Graph Reducer for a Transputer Network", The Computer Journal, 34(4), (April 1991), pp. 290-302.
[12]
Kranz DA, Halstead RH, and Mohr E, "Mul~T: a High- Performance Parallel Lisp", Proc. PLD{ '89, Portland, Oregon, (1989), pp. 81-90.
[13]
Langendoen K, "Graph Reduction on Shared Memory Multiprocessors", PhD Thesis, University of Amsterdam, 1993.
[14]
Lester D "An Efficient Distributed Garbage Collection Algorithm", Proc. PARLE '89, LNCS 365, Springer Verlag, (June 1989).
[15]
McBurney DL, and Sleep MR, "Transputer Based Experiments with the ZAPP Architecture", Proc. PARLE '87, LNCS 258/259, Springer Verlag, (1987), pp. 242- 259.
[16]
McGraw J, Skedzielewski S, Allan S, Odehoeft R, Glauert JRW, Kirkham C, Noyce W, and Thomas R, "SISAL: Streams and Iteration in a Single-Assignment Language: Reference Manual Version 1.2", Manual M- 146, Rev. 1, Lawrence Livermore National Laboratory, (March 1985).
[17]
Maranget L, "GAML: a Parallel Implementation of Lazy ML' Proc. FPCA '91, Springer Verlag LNCS 523, p.102-123, (1991).
[18]
Mattson JS, An Effective Speculative Evaluation Technique for Parallel Supercomb,nator Graph Reduction, PhD thesis, Dept. of Computer Science and Engineering, University of California, San Diego, (1993).
[19]
Mohr E, Kranz DA, and Halstead RH, "Lazy Task Creation - a Technique for Increasing the Granularity of Parallel Programs", IEEE Transactions on Parallel and Distributed Systems, 2(3), (July 1991), pp. 264-280.
[20]
NScker EGJMH, Smetsers JEW, van Eekelen MCJD and Plasmeijer MJ, "Concurrent Clean", Proc. PARLE '91, Springer VerIag LNCS 505/506, pp. 202-220, (1991).
[21]
Oak Ridge National Laboratory, University of Tennessee, "Parallel Virtual Machine Reference Manual, Version 3.2", (August 1993).
[22]
Peyton Jones SL, Clack C, Salkild J, "Highperformance parallel graph reduction", Proc PARLE ~89, Springer Verlag LNCS 365 (June 1989).
[23]
Peyton Jones SL, Gordon AD, and Finne SO, "Concurrent Haskell", Proc. A CM Symposium on Principles of Programming Languages, St Petersburg Beach, Florida, ( January 1996).
[24]
Watson P and Watson I, "An Efficient Garbage Collection Scheme for Parallel Computer Architectures", Proc PARLE, deBakker JW, Nijman L and Treleaven PC (eds), Eindhoven, Netherlands (June 1987).

Cited By

View all
  • (2020)A Semantic Framework to Debug Parallel Lazy Functional LanguagesMathematics10.3390/math80608648:6(864)Online publication date: 26-May-2020
  • (2019)PorcE: a deparallelizing compilerProceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3357390.3361023(117-130)Online publication date: 21-Oct-2019
  • (2019)Colocation of Potential Parallelism in a Distributed Adaptive Run-Time System for Parallel HaskellZivilgesellschaft und Wohlfahrtsstaat im Wandel10.1007/978-3-030-18506-0_1(1-19)Online publication date: 24-Apr-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PLDI '96: Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
May 1996
300 pages
ISBN:0897917952
DOI:10.1145/231379
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1996

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PLDI96
Sponsor:
PLDI96: Programming Language Design and Implementation
May 21 - 24, 1996
Pennsylvania, Philadelphia, USA

Acceptance Rates

PLDI '96 Paper Acceptance Rate 28 of 112 submissions, 25%;
Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)158
  • Downloads (Last 6 weeks)43
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2020)A Semantic Framework to Debug Parallel Lazy Functional LanguagesMathematics10.3390/math80608648:6(864)Online publication date: 26-May-2020
  • (2019)PorcE: a deparallelizing compilerProceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3357390.3361023(117-130)Online publication date: 21-Oct-2019
  • (2019)Colocation of Potential Parallelism in a Distributed Adaptive Run-Time System for Parallel HaskellZivilgesellschaft und Wohlfahrtsstaat im Wandel10.1007/978-3-030-18506-0_1(1-19)Online publication date: 24-Apr-2019
  • (2018)And Now for Something Completely Different: Running Lisp on GPUs2018 IEEE International Conference on Cluster Computing (CLUSTER)10.1109/CLUSTER.2018.00060(434-444)Online publication date: Sep-2018
  • (2016)Why So Many?Proceedings of the 1st International Workshop on Real World Domain Specific Languages10.1145/2889420.2893172(1-2)Online publication date: 12-Mar-2016
  • (2016)Transparent fault tolerance for scalable functional computationJournal of Functional Programming10.1017/S095679681600006X26Online publication date: 17-Mar-2016
  • (2014)The HdpH DSLs for scalable reliable computationACM SIGPLAN Notices10.1145/2775050.263336349:12(65-76)Online publication date: 3-Sep-2014
  • (2014)The HdpH DSLs for scalable reliable computationProceedings of the 2014 ACM SIGPLAN symposium on Haskell10.1145/2633357.2633363(65-76)Online publication date: 3-Sep-2014
  • (2014)Parallel Haskell implementations of the N-body problemConcurrency and Computation: Practice & Experience10.1002/cpe.308726:4(987-1019)Online publication date: 25-Mar-2014
  • (2013)The Design and Implementation of GUMSMPProceedings of the 25th symposium on Implementation and Application of Functional Languages10.1145/2620678.2620682(37-48)Online publication date: 28-Aug-2013
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media