Abstract
This paper discusses a software tool to determine parallelism in sequential programs automatically and to determine the granularity size of parallel tasks to be executed on parallel machines. It includes a discussion of the techniques to detect parallelism in sequential programs and the techniques for determining the best way to partition parallel tasks into modules called grains, which will then be scheduled on a parallel machine to give near optimal parallel execution time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Almasi, S.A. and Gottlieb, A., Highly Parallel Computing, The Benjamin/Cummings Publishing Comp. Inc, (1989).
Allen, F.E., A Program Data Flow Analysis Procedure, Communications of the ACM 19, No. 3, pp. 137–147, March 1976.
Allen, R., Automatic Decomposition of Scientific Programs for Parallel Execution, Proc. of 14th ACM Symp. on Principles of Prog.Lang. 1987.
Appelbe, B. and Smith, K., Start/Pat: A Parallel-Programming Toolkit, IEEE Software July 1989 pp:29–38.
Axelrod, T.S., Effects of Synchronization Barriers on Multiprocessor Performance, Parallel Computing 3, 1986, pp. 129–140, North-Holland.
Bernstein, A.J., Analysis of Programs for Parallel Processing, IEEE Trans. on Electronic Computing, Vol. EC-15, pp.757–763, (1966).
Burke, M., Cytron, R., Interprocedural Dependence Analysis and Parallelization, SIGPLAN Notices Vol. 21 July 1986, pp. 162–175.
Burke, M., Cytron, R., Ferrante, J., Hsieh, W., Sarkar, V., Shield, D., Automatic Discovery of Parallelism: A Tool and an Experiment (Extended Abstract), Proc. of the ACM/SIGPLAN APPELALS 1988.
Callahan, D., Cooper, K.D., Hood, R.T., Kennedy, K., Torczon, L., Warren, S.K., Parallel Programming Support in Parascope, Parallel Computing in science and Engineering, Lecture Notes in Computer Science 295 (1987).
Duda, A, On the Tradeoff Between Paralelism and Communication, Proc. of the 8th Int.Conf. on Modelling Techniques and Tools for Computer Performance Evaluation, 1988, pp.323–334.
Evans, DJ. and Williams, S.A., Analysis and Detection of Parallel Processable Code, The Computer Journal, Vol. 23, No. 1, pp.66–72, (1978).
Garey, M.R. and Johnson, D.S., Computers and Interactability: A Guide to the Theory of NP-Completeness, W.H. Freeman and Company (1979).
Gonzalez, Mario J., Parallel Task Execution in Decentralized System, IEEE Transactions on Computers 21, No. 12, pp. 1310–1322, December 1972.
Guarna, V.A., Gannon, D., Jaolononowksi, D., Malony, A.D. and Gaur, Y., Faust: An Integrated Environment for Parallel Programming, IEEE Software July 1989, pp.20–26.
Kernighan, B.W. and Ritchie, D.M., The C Programming Language, Prentice-Hall 1988.
Kruatrachue, B. and Lewis, T., Grain Size Determination for Parallel Processing, IEEE Software January 1988.
Kuck, D.J., Muraoka, Y., Chen, S.C., On the Number of Operations Simultaneously Executable in Fortran-like Programs and their Resulting Speedup, IEEE Transactions on Computer 21, No. 12, pp. 1293–1310, December 1972.
McCreary, C. and Gill, H., Automatic Determination of Grain Size for Efficient Parallel Processing, CACM September 1989, Vol.32, No.9.
Mohd-Saman, M.Y. and Evans D.J., Investigation of a set of Bernstein Tests for the Detection of Loop Parallelization, Report 712, Dept. Computer Studies, Loughborough University of Technology, U.K., May 1992.
Muchnick, S.S. and Jones, N.D., Program Flow Analysis: Theory and Applications, Englewood Cliff, N.J. Prentice-Hall, Inc. 1981.
Padua, D.A. and Michael, J.W., Advanced Compiler Optimizations for Supercomputers, Comm. of the ACM 29, No. 12, pp. 1184–1201, December 1986.
Polychronopoulos, C.D., Parallel Programming and Compilers, Kluwer Academic Publishers, 1988.
Sarkar, V., Partitioning and Scheduling Parallel Programs for Multiprocessors, Pitman, London 1989.
Smith, B.J., Shared Memory, Vectors, Message Passing and Scalability, Parallel Computing in Science and Engineering, Lecture Notes in Computer Science 295, (1987).
Spyropoulos, C.D., Analysis of Job Scheduling Algorithms for Heterogeneous Multiprocessor Computing Systems, Ph.D. Dissertation, Loughborough University of Tech., 1979.
Tjaden, G.S., Detection and Parallel Execution of Independent Instructions, IEEE Transactions on Computer 19, No. 10, pp.889–895, October 1970.
Walmsley, S.W. and Williams, S.A., Basically MODULA-2, Chartwell-Bratt (1990).
Williams, S., Approaches to the Determination for Parallelism for Computer Programs, Ph.D. Loughborough University of Tech., 1978.
Wolfe, M. and Banerjee, U., Data Dependence and its Application to Parallel Processing, Int. J. Parallel Prog., Vol.16, 1987, pp. 137–178.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Evans, D.J., Saman, M.Y.M. (1993). Automatic Determination of Parallelism in Programs. In: Kowalik, J.S., Grandinetti, L. (eds) Software for Parallel Computation. NATO ASI Series, vol 106. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-58049-9_12
Download citation
DOI: https://doi.org/10.1007/978-3-642-58049-9_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-63453-6
Online ISBN: 978-3-642-58049-9
eBook Packages: Springer Book Archive