Skip to main content

Improving Granularity in Parallel Functional Programs: A Graphical Winnowing System for Haskell

  • Conference paper
Book cover Functional Programming, Glasgow 1994

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

To take advantage of distributed-memory parallel machines it is essential to have good control of task granularity. This paper describes a fairly accurate parallel simulator for Haskell, based on the Glasgow compiler, and complementary tools for visualising task granularities. Together these tools allow us to study the effects of various annotations on task granularity on a variety of simulated parallel architectures. They also provide a more precise tool for the study of parallel execution than has previously been available for Haskell programs.

These tools have already confirmed granularity results previously obtained for our novel GRIP architecture, demonstrated a close correlation between thread execution times and total heap allocations, and revealed that conservative granularity analysis may well be too conservative

Supported by a SOED Research Fellowship from the Royal Society of Edinburgh and the UK EPSRC Parade project.

Supported by a Kurt-Gödel scholarship (GZ 558.012/38-IV/5a/93) of the Austrian Ministry of Science and Research and by a KIP scholarship of the government of Upper Austria.

Winnow (v.): To treat (as grain) by exposure to a current of air so that waste matter is eliminated.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. JM. Deschner. Simulating Multiprocessor Architectures for Compiled Graph-Reduction. In MK. Davis and RJM. Hughes (Eds), Glasgow Workshop on Functional Programming,pp. 225–237, Fraserburgh, Scotland, August 21–23, 1989. Springer.

    Google Scholar 

  2. MCJD. van Eekelen, EGJMH. Nöcker, MJ. Plasmeijer, and JEW. Smetsers. Concurrent Clean. Technical Report 89–18, Univ. of Nijmegen, October 1989.

    Google Scholar 

  3. S. Finne and SL. Peyton Jones. Supporting Concurrent State Threads. In Glasgow Workshop on Functional Programming,Ayr, Scotland, September 12–14, 1994. Springer.

    Google Scholar 

  4. B. Goldberg. Multiprocessor Execution of Functional Programs. PhD thesis, Dept. of Computer Science, Yale University, April 1988.

    Google Scholar 

  5. B. Goldberg and P. Hudak. Alfalfa: Distributed Graph Reduction on a Hypercube Multiprocessor. In Workshop on Graph Reduction and Techniques, LNCS 279, pp. 94–113. Springer, 1987.

    Google Scholar 

  6. K. Hammond, GL. Burn, and DB. Howe. Spiking your Caches. In JT. O’Donnell and K. Hammond (Eds), Glasgow Workshop on Functional Programming,pp. 58–68, Ayr, Scotland, July 5–7, 1993. Springer.

    Google Scholar 

  7. K. Hammond, JS. Mattson Jr., and SL. Peyton Jones. Automatic Spark Strategies and Granularity for a Parallel Functional Language Reducer. In B. Buchberger and J. Volkert (Eds), CONPAR’94, LNCS 854, pp. 521532, Linz, Austria, September 6–8, 1994.

    Google Scholar 

  8. K Hammond and SL. Peyton Jones. Some Early Experiments on the GRIP Parallel Reducer. In MJ. Plasmeijer (Ed), Second Intl. Workshop on the Parallel Implementation of Functional Languages, Univ. of Nijmegen, The Netherlands, pp. 51–72, June 1990.

    Google Scholar 

  9. K. Hammond and SL. Peyton Jones. Profiling Scheduling Strategies on the GRIP Multiprocessor. In H. Kuchen and W Loogen (Eds), Fourth Intl. Workshop on the Parallel Implementation of Functional Languages, pp. 73–98, RWTH Aachen, Germany, September 1992.

    Google Scholar 

  10. PH. Hartel and AH. Veen. Statistics on Graph Reduction of SASL Programs. Software—Practice and Experience, 18 (3): 239–253, March 1988.

    Article  Google Scholar 

  11. M. Kesseler. Reducing Graph Copying Costs - Time to Wrap it up. In H. Hong (Ed), PASCO ‘84,pp. 244–253, Linz, Austria, September 26–28, 1994. World Scientific.

    Google Scholar 

  12. P. Lopez Garcia, M. Hermenegildo, and SK. Debray. Towards Granularity Based Control of Parallelism in Logic Programs. In H.Hong (Ed), PASCO’94,pp. 133–144, Linz, Austria, September 26–28, 1994. World Scientific.

    Google Scholar 

  13. W. Partain. The nofib Benchmark Suite of Haskell Programs. In J. Launch-bury and P. Sansom (Eds), Glasgow Workshop on Functional Programming,pp. 195–202, Ayr, Scotland, July 6–8, 1992. Springer.

    Google Scholar 

  14. P. Roe. Parallel Programming using Functional Languages. PhD thesis, Dept. of Computing Science, Univ. of Glasgow, February 1991.

    Google Scholar 

  15. C. Runciman and D. Wakeling. Profiling Parallel Functional Computations (Without Parallel Machines). In JT. O’Donnell and K. Hammond (Eds), Glasgow Workshop on Functional Programming,pp. 236–251, Ayr, Scotland, July 5–7, 1993. Springer.

    Google Scholar 

  16. C. Runciman and D. Wakeling (Eds). Functional Languages Applied to Realistic Examplars: the FLARE Project. UCL Press, 1994.

    Google Scholar 

  17. J. Sargeant. Improving Compilation of Implicit Parallel Programs by Using Runtime Information. Workshop on Compilation of Symbolic Langs. for Parallel Computers, Argonne National Lab. Technical Report ANL-91/34, pp. 129–148, 1991.

    Google Scholar 

  18. P. ‘hinder, K. Hammond, H-W. Loidl, JS. Mattson Jr., A. Partridge, and SL. Peyton Jones. GRAPHing the Future. In J. Glauert (Ed), Sixth Intl. Workshop on the Implementation of Functional Languages, Univ. of East Anglia, Norwich, U.K., September 7–9, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag London

About this paper

Cite this paper

Hammond, K., Loidl, H.W., Partridge, A. (1995). Improving Granularity in Parallel Functional Programs: A Graphical Winnowing System for Haskell. In: Hammond, K., Turner, D.N., Sansom, P.M. (eds) Functional Programming, Glasgow 1994. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3573-9_8

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3573-9_8

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19914-4

  • Online ISBN: 978-1-4471-3573-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics