Synonyms
Definition
Glasgow Parallel Haskell (GpH) is a simple parallel dialect of the purely functional programming language, Haskell. It uses a semi-explicit model of parallelism, where possible parallel threads are marked by the programmer, and a sophisticated runtime system then decides on the timing of thread creation, allocation to processing elements, migration. There have been several implementations of GpH, covering platforms ranging from single multicore machines through to computational grids or clouds. The best known of these is the GUM implementation that targets both shared-memory and distributed-memory systems using a sophisticated virtual shared-memory abstraction built over a common message-passing layer, but there is a new implementation, GHC-SMP, which directly exploits shared-memory systems, and which targets multicore architectures.
Discussion
Purely Functional Languages and Parallelism
Because of the absence of side effects in purely...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Bibliography
Hammond K, Loidl H-W, Partridge A (1995) Visualising granularity in parallel programs: a graphical winnowing system for Haskell. Proceedings of the HPFC’95 – Conference on High Performance Functional Computing, Denver, pp 208–221, 10–12 April 1995
Hammond K, Michaelson G (eds) (1999) Research directions in parallel functional programming. Springer, Heidelberg
Hammond K, Zain AA, Cooperman G, Petcu D, Trinder PW (2007) SymGrid: a framework for symbolic computation on the grid. Proceedings of the EuroPar ’07: 13th International EuroPar Conference, Springer LNCS 4641, Rennes, France, pp 457–466
Loidl H-W, Trinder P, Hammond K, Junaidu SB, Morgan RG, Peyton Jones SL (1999) Engineering parallel symbolic programs in GpH. Concurrency Pract Exp 11(12):701–752
Loogen R, Ortega-Mallén Y, Peña Mar R (2005) Parallel functional programming in Eden. J Functional Prog 15(3):431–475
Marlow S, Jones SP, Singh S (2009) Runtime support for multicore Haskell. Proceedings of the ICFP ’09: 14th ACM SIGPLAN International Conference on Functional Programming, ACM Press, New York
Mohr E, Kranz DA, Halstead RH Jr (1991) Lazy task creation: a technique for increasing the granularity of parallel programs. IEEE Trans Parallel Distrib Syst 2(3):264–280
Peyton Jones S, Clack C, Salkild J (1989) High-performance parallel graph reduction. Proceedings of the PARLE’89 – Conference on Parallel Architectures and Languages Europe, Springer LNCS 365, pp 193–206
Peyton Jones S, Hall C, Hammond K, Partain W, Wadler P (1993) The Glasgow Haskell compiler: a technical overview. Proceedings of the JFIT (Joint Framework for Information Technology) Technical Conference, Keele, UK, pp 249–257
Peyton Jones S (ed), Hughes J, Augustsson L, Barton D, Boutel B, Burton W, Fasel J, Hammond K, Hinze R, Hudak P, Johnsson T, Jones M, Launchbury J, Meijer E, Peterson J, Reid A, Runciman C, Wadler P (2003) Haskell 98 language and libraries. The revised report. Cambridge University Press, Cambridge
Pointon R, Trinder P, Loidl H-W (2000) The design and implementation of Glasgow distributed Haskell. Proceedings of the IFL’00 – 12th International Workshop on the Implementation of Functional Languages, Springer LNCS 2011, Aachen, Germany, pp 53–70
Rauber Du Bois A, Trinder P, Loidl H (2005) mHaskell: mobile computation in a purely functional language. J Univ Computer Sci 11(7):1234–1254
Roe P (1991) Parallel programming using functional languages. PhD thesis, Department of Computing Science, University of Glasgow
Trinder P, Hammond K, Loidl H-W, Peyton Jones S (1998) Algorithm + strategy = parallelism. J Funct Prog 8(1):23–60
Trinder P, Hammond K, Mattson J Jr, Partridge A, Peyton Jones S (1996) GUM: a portable parallel implementation of Haskell. Proceedings of the PLDI’96 – ACM Conference on Programming Language Design and Implementation, Philadelphia, pp 79–88
Trinder P, Loidl H-W, Pointon R (2002) Parallel and distributed Haskells. J Funct Prog 12(4&5):469–510. Special Issue on Haskell
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
Hammond, K. (2011). Glasgow Parallel Haskell (GpH). In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_46
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_46
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering