Abstract
This paper will discuss how to exploit parallelism efficiently by improving the granularity of functional programs on a multiprocessor. Asymptotic complexity analyses of a function, to estimate the computation time and also the communication involved in sending the arguments and receiving the results from the remote processor, are found to be quite useful. It is shown how some parallel programs can be run more efficiently with the prior information of time complexities (in big-O notation) and relative time complexities of its sub-expressions with the help of analytical reasoning and some practical examples on the larger-grain distributed multiprocessor machine LAGER. Ordered scheduling of the processes, determined by the priorities based on the relative time complexities, shows further improvement on the run-time dynamic load balancing methods and better utilisation of the resources.
Preview
Unable to display preview. Download preview PDF.
References
R. Allen, K. Kennedy, and A. Porterfield. PTOOL: A semi-automatic parallel programming assistant. Proceedings of the International Conference on Parallel Processing, 164–170, 1986.
B. Appelbe, K. Smith, C.E. McDowell. Start/Pat: A parallel-programming toolkit. IEEE Software, 6(4):29–38, 1989.
Arvind, D.E. Culler, G.K. Maa. Assessing the benefits of grain parallelism in dataflow programs. The International Journal of Supercomputer Applications, 2 (3):10–36, 1988.
R.G. Babb. Parallel processing with large-grain dataflow techniques. IEEE Computer, 7:55–61, 1984.
J. Backus. Can programming be liberated from the von Neumann Style? A Functional Style and its Algebra of Programs. Comm. ACM, Vol. 21, No. 8, pp. 613–641, August 1978.
M.D. Cripps, J. Darlington, A.J. Field, P.G. Harrison, and M. Reeve. The Design and Implementation of ALICE: A Parallel Graph Reduction Machine. In Selected Reprints on Dataflow and Reduction Architectures, Shreekant Thakkar (Ed.), IEEE Computer Society Press, 1987.
J. Darlington, M. Reeve, and S. Wright. Declarative Languages and Program Transformation for Programming Parallel Systems: A Case Study. Department of Computing, Imperial College, London 1989.
B. Goldberg. Multiprocessor Execution of Functional Programs. Ph.D. Thesis, YALEU/DCS/RR-618, Department of Computer Science, Yale University, April 1988.
A. King and P. Soper. Granularity Control of Concurrent Logic Programs. Technical Report CSTR-90-6, Department of Electronics and Computer Science, Southampton University, Southampton, March 1990.
D. Le Métayer. ACE: An automatic complexity evaluator. ACM Transactions on Programming Languages and Systems, Vol. 10, No. 2, pages 248–266, April 1988.
Piyush Maheshwari. Controlling Parallelism in Functional Programs using Complexity Information. Ph.D. Thesis, Department of Computer Science, University of Manchester, submitted October 1990.
S.L. Peyton-Jones. The Implementation of Functional Programming Languages. Prentice-Hall International, 1987.
S.L. Peyton-Jones, C.D. Clack, J. Salkild, and M. Hardie. GRIP — A High-performance Architecture for Parallel Graph Reduction. Proceeding 1988 Conference on Functional Programming Languages and Computer Architecture, Springer-Verlag, LNCS 274, September 1987.
F. Rabhi and G.A. Manson. Using Complexity Functions to Control Parallelism in Functional Programs. Technical Report CS-90-1, Department of Computer Science, University of Sheffield, Sheffield, 1990.
M. Rosendahl. Automatic Complexity analysis. In Proceedings Conference on Functional Programming Languages and Computer Architectures, London, ACM Press, September 1989.
Vivek Sarkar. Partitioning and Scheduling Parallel Programs for Multiprocessors. Pitman, London and the MIT Press, Cambridge, Massachusetts, 1989. In the series, Research Monographs in Parallel and Distributed Computing.
Ian Watson. Lager — Interim Report. Ref. No. FS/MU/IW/026-88. Department of Computer Science, University of Manchester, November 1988.
Ian Watson. Simulation of a Physical EDS Machine Architecture. EDS Internal Report, Department of Computer Science, University of Manchester, October 1989.
I. Watson, J. Sargeant, P. Watson, and J.V. Woods. Flagship Computational Models and Machine Architecture. In ICL Technical Journal, Vol. 5, No. 3, May 1987.
B. Wegbreit. Mechanical program analysis. Comm. ACM, 18, 9:528–539, September, 1975.
P.S. Wong. Parallel Implementation Techniques for Efficient Declarative Systems. Ph.D. Interim Report, Department of Computer Science, University of Manchester, November 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Maheshwari, P. (1991). Partitioning and scheduling of parallel functional programs using complexity information. In: Dehne, F., Fiala, F., Koczkodaj, W.W. (eds) Advances in Computing and Information — ICCI '91. ICCI 1991. Lecture Notes in Computer Science, vol 497. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54029-6_178
Download citation
DOI: https://doi.org/10.1007/3-540-54029-6_178
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54029-8
Online ISBN: 978-3-540-47359-6
eBook Packages: Springer Book Archive