This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Compiling Global Name-Space Parallel Loops for Distributed Execution
October 1991 (vol. 2 no. 4)
pp. 440-451

Compiler support required to allow programmers to express their algorithms using a global name-space is discussed. A general method for the analysis of a high-level source program and its translation into a set of independently executing tasks that communicate using messages is presented. It is shown that if the compiler has enough information, the translation can be carried out at compile time. Otherwise, run-time code is generated to implement the required data movement. The analysis required in both situations is described, and the performance of the generated code on the Intel iPSC/2 hypercube is presented.

[1] J. R. Allen, "Dependence analysis for subscripted variables and its application to program transformations," Ph.D. dissertation, Dept. Math. Sci., Rice Univ., May 1983.
[2] F. André, J.-L. Pazat, and H. Thomas "PANDORE: A system to manage data distribution," inProc. 4th Int. Conf. Supercomput., Amsterdam, The Netherlands, June, 1990, pp. 380-388.
[3] J. Bennett, J. Carter, and W. Zwaenepoel, "Munin: Distributed Shared Memory Based on Type-Specific Memory Coherence,"Proc. 1990 Conf. Principles and Practice of Parallel Programming, ACM Press, New York, N.Y., 1990, pp. 168-176.
[4] D. Callahan and K. Kennedy, "Compiling programs for distributed-memory multiprocessors,"J. Supercomput., vol. 2, pp. 151-169, 1988.
[5] J. S. Chase, F. G. Amador, E. D. Lazowska, H. M. Levy, and R. J. Littlefield, "The Amber system: parallel programming on a network of multiprocessors," inProc. 12th ACM Symp. on Oper. Syst. Principles, (Litchfield Park, AZ), Dec. 1989, pp. 147-158.
[6] A. Chueng and A. P. Reeves, "The Paragon multicomputer environment: A first implementation," Tech. Rep. EE-CEG-89-9, Cornell Univ. Comput. Eng. Group, Ithaca, NY, July 1989.
[7] R. G. Cytron, "Compile-time scheduling and optimization for multiprocessors," Ph.D. dissertation, Univ. of Illinois at Urbana-Champaign, DCS Rep. UIUCDCS-R-84-1177, 1984.
[8] G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C. Tseng, and M. Wu, "Fortran D language specification," Tech. Rep. TR90-141, Dep. Comput. Sci., Rice Univ., Dec. 1990.
[9] M. Foxet al., Solving Problems on Concurrent Processors, vol. 1. Englewood Cliffs, NJ: Prentice-Hall, 1988.
[10] H. M. Gerndt, "Automatic parallelization for distributed-memory multiprocessing systems," Ph.D. dissertation, Univ. of Bonn, Dec. 1989.
[11] C. Koelbel, "Compiling programs for nonshared memory machines," Ph.D. dissertation, Purdue Univ., West Lafayette, IN, Aug. 1990.
[12] C. Koelbel and P. Mehrotra, "Compiler transformations for nonshared memory machines," inProc. 4th Int. Conf. Supercomput., vol. 1, May 1989, pp. 390-397.
[13] C. Koelbel, P. Mehrotra, and J. Von Rosendale, "Semi-automatic process partitioning for parallel computation,"Int. J. Parallel Programming, vol. 16, no. 5, pp. 365-382, 1987.
[14] C. Koelbel, P. Mehrotra, and J. Van Rosendale, "Supporting shared data structures on distributed memory architectures," inProc. 2nd ACM SIGPLAN Symp. Principles Practice of Parallel Programming, Mar. 1990, Rep. 90-7, ICASE, Jan. 1990.
[15] J. Li and M. Chen, "Synthesis of explicit communication from shared-memory program references," Tech. Rep. YALEU/DCS/TR-755, Yale Univ., New Haven, CT, May 1990.
[16] K. Li,Shared Virtual Memory on Loosely Coupled Multiprocessors, doctoral dissertation, Yale Univ., Sept. 1985.
[17] D. J. Mavriplis, "Multigrid solution of the two-dimensional Euler equations on unstructured triangular meshes,"AIAA J., vol. 26, no. 7, pp. 824-831, July 1988.
[18] P. Mehrotra and J. Van Rosendale, "The BLAZE language: A parallel language for scientific programming,"Parallel Comput., vol. 5, pp. 339-361, 1987.
[19] P. Mehrotra and J. Van Rosendale, "Programming distributed memory architectures using Kali," inLanguages and Compilers for Parallel Computing. London, England: Pitman/MIT-Press, 1990.
[20] R. Mirchandaney, J. H. Saltz, R. M. Smith, D. M. Nicol, and Kay Crowley, "Principles of runtime support for parallel processors," inProc. 1988 ACM Int. Conf. Supercomput., St. Malo, France, July 1988, pp. 140-152.
[21] S. Mirchandaney, J. Saltz, P. Mehrotra, and H. Berryman, "A scheme for supporting automatic data migration on multicomputers," inProc. 5th Distributed Memory Comp. Conf, Charleston, SC, Apr. 8-12, 1990, pp. 1028-1037.
[22] E. Paalvast, A. van Gemund, and H. Sips, "A method of parallel program generation with an application to Booster language," inProc. 4th Int. Conf. Supercomput., Amsterdam, The Netherlands, June 1990.
[23] M. J. Quinn and P. J. Hatcher, "Compiling SIMD programs for MIMD architectures," inProc. 1990 Int. Conf. Comput. Languages, IEEE Computer Society Press, 1990, pp. 291-296.
[24] A. Rogers and K. Pingali, "Process decomposition through locality of reference," inProc. SIGPLAN'89 Conf. Programming Language Design and Implementation, 1989, pp. 69-80.
[25] M. Rosing, R. W. Schnabel, and R. P. Weaver, "Expressing complex parallel algorithms in DINO," inProc. 4th Conf. Hypercubes, Concurrent Comput. Appl., 1989, pp. 553-560.
[26] R. Ruhl and M. Annaratone, "Parallelization of FORTRAN code on distributed memory processors," inProc. 4th Int. Conf. Supercomput., Amsterdam, The Netherlands, June 1990.
[27] J. Saltz, H. Berryman, and J. Wu, "Multiprocessors and runtime compilation," ICASE Rep. 90-59, Instit. for Comput. Appl. in Sci. and Eng., Hampton, VA, 1990.
[28] Z. Shen, Z. Li, and P. C. Yew, "An empirical study on array subscripts and data dependencies,"IEEE Trans. Parallel Distributed Syst., vol. 1, pp. 356-364, July 1990.
[29] P.S. Tseng, "A Parallelizing Compiler for Distributed-Memory Parallel Computers," doctoral dissertation, Carnegie Mellon Univ., Pittsburgh, May 1989.
[30] R. D. Williams and R. Glowinski, "Distributed irregular finite elements," Tech. Rep. C3P 715, Caltech Concurrent Computation Program, Pasadena, CA, Feb. 1989.
[31] M. J. Wolfe, "Optimizing supercompilers for supercomputers," Ph.D. thesis, Ctr. Supercomput. Res. and Development, Univ. Illinois, Urbana-Champaign, 1980.
[32] H. Zima, H. Bast, and M. Gerndt, "Superb: A tool for semi-automatic MIMD/SIMD parallelization,"Parallel Comput., vol. 6, pp. 1-18, 1988.

Index Terms:
Index Termsmessage communication; global name-space parallel loops; distributed execution;high-level source program; translation; independently executing tasks; compiler; run-timecode; data movement; performance; Intel iPSC/2 hypercube; parallel programming;program compilers
Citation:
C. Koelbel, P. Mehrotra, "Compiling Global Name-Space Parallel Loops for Distributed Execution," IEEE Transactions on Parallel and Distributed Systems, vol. 2, no. 4, pp. 440-451, Oct. 1991, doi:10.1109/71.97901
Usage of this product signifies your acceptance of the Terms of Use.