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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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.
MCJD. van Eekelen, EGJMH. Nöcker, MJ. Plasmeijer, and JEW. Smetsers. Concurrent Clean. Technical Report 89–18, Univ. of Nijmegen, October 1989.
S. Finne and SL. Peyton Jones. Supporting Concurrent State Threads. In Glasgow Workshop on Functional Programming,Ayr, Scotland, September 12–14, 1994. Springer.
B. Goldberg. Multiprocessor Execution of Functional Programs. PhD thesis, Dept. of Computer Science, Yale University, April 1988.
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.
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.
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.
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.
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.
PH. Hartel and AH. Veen. Statistics on Graph Reduction of SASL Programs. Software—Practice and Experience, 18 (3): 239–253, March 1988.
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.
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.
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.
P. Roe. Parallel Programming using Functional Languages. PhD thesis, Dept. of Computing Science, Univ. of Glasgow, February 1991.
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.
C. Runciman and D. Wakeling (Eds). Functional Languages Applied to Realistic Examplars: the FLARE Project. UCL Press, 1994.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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