Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Parallelization of FORTRAN code on distributed-memory parallel processors

Published: 01 June 1990 Publication History
  • Get Citation Alerts
  • Abstract

    This paper presents some preliminary results toward the automatic parallelization of uniprocessor FORTRAN code on distributed-memory parallel processors (DMPPs). The paper introduces Oxygen, a compiler for a DMPP under development at the Laboratory. The design of Oxygen and its parallelization strategy are discussed, and an analysis of its most significant components is presented, together with performance benchmarks. Oxygen carries out data consistency analysis at run-time; our results show that the overhead introduced is acceptable. Run-time data consistency analysis may also be the only viable approach to parallelize certain “hard” algorithms, as we will show in this study.

    References

    [1]
    M. Annaratone et al. The K2 parallel processor: Architecture and hardware implementation. In Proc. 17th Symposium on Computer Architecture, Seattle, June 1990. ACM-IEEE.
    [2]
    J. McGraw et al. Sisal - language reference manual. Technical report, LLNL-CSU-UM-DEC, March 1985.
    [3]
    I. Foster. Strand: a practical parallel programming language, 1989.
    [4]
    tt.F. Jordan. The Force. Technical report, Dept. of Electrical and Computer Eng.- University of Colorado, January 1987.
    [5]
    H.F. Jordan et al. Force user's manual. Technical report, Dept. of Electrical and Computer Eng.- University of Colorado, March 1989.
    [6]
    D. Gelernter S. Ahuja, N. Carriero. Linda and friends. 1EEE Computer, 19(8):26-34, August 1986.
    [7]
    M. Wolfe. Automatic detection of concurrency for shared memory multiprocessors. Technical report, Kuck and Associates inc., October 1987. 1987 ESUG meeting.
    [8]
    Alliant Computer Systems Co. FX/FORTRAN programmer's handbook. Technical Report 302-00001-C, Alliant Computer Systems Co., March 1987.
    [9]
    M. Burke et al. Automatic discovery of parallelism: a tool and an experiment. In PPEALS, pages 77-84, New Haven, July 1988. ACM/SIGPLAN.
    [10]
    C. Polychronopoulos and D.J. Kuck. Guided selfscheduling: A practical scheduling scheme for supercomputers. IEEE Trans. on Computers, C- 36(12):1425-1439, December 1987.
    [11]
    D. J. Kuck et al. The effects of program restructuring, algorithm change and architecture choice on program performance. In International Conference on Parallel Processing, August 1984.
    [12]
    C. D. Polychronopoulos. Parallel Programming and Compilers. Kluwer Academic Publishers, 1988.
    [13]
    C. Polychronopoulos et al. Parafrase-2: An environment for parallelizing, partitioning, synchronizing, and scheduling programs on multiprocessors. Technical report, University of illinois, CSRD, 1989.
    [14]
    M. Y. Wu and D. D. Gajski. A programming aid for hypercube architectures. The Journal o~ Supercomput. ing, Vol 2:349-372, 1988.
    [15]
    D. Callahan and K. Kennedy. Compiling programs for distributed memory multiprocessors. The Journal o} Supercomputing, Vol 2:151-169, 1988.
    [16]
    P. Mehrotra. Programming parallel architectures: the BLAZE family of languages. Technical Report ICASE report No. 88-21, ICASE, March 1988.
    [17]
    P. Mehrotra and J. van Rosendale. Parallel language constructs for tensor product computation on loosely coupled architectures. In Proc. Supercoraputin9 89, page 616, Reno~ Nevada, November 1989. ACM-IEEE.
    [18]
    K. Growley et al. Run-time scheduling and execution of loops on message passing machines. Technical Report ICASE report No. 89-7, Institute for Computer Applications in Science and Engineering, NASA Langley Research Center, Hampton, Virginia, January 1989.
    [19]
    S. Borkar et al. iWarp: an integrated solution to highspeed parallel computation. In Pro~. Supercomputing 88, November 1988.
    [20]
    H. T. Kung and M. Lain. On automatic generation of parallel programs for one dimensional arrays. Draft, 1988.
    [21]
    T. Gross and M. Lain. Compilation for a highperformance systolic array. In Proc. SIGPLAN 86 Syrup. Compiler Construction, pages 27-38. ACM SIG- PLAN, June 1986.
    [22]
    P. S. Tseng, M. Lain, and H. T. Kung. The domain parallel computation model on Warp. In Proc. SPIE. SPIE, 1988.
    [23]
    P.S. Tseng. A parallelizing compiler/or distributed memory parallel computers. PhD thesis, Carnegie Mellon University - School of Computer Science, May 1989. (also available as technical report number CMU- CS-89-148).
    [24]
    U. Banerjee. Dependence Analysis/or Supercomputing. Kluwer Academic Publishers, 1088.
    [25]
    M. Annaratone, C. Pommerell, and R. Ruehl. Interprocessor communication and performance in distributedmemory parallel processors. In Proc. 16th Symposium on Computer Architecture, pages 315-324, Jerusalem, May 1989. ACM-IEEE.
    [26]
    P. Beadle, C. Pommerell, and M. Annaratone. Kg: A simulator of distributed-memory paralIeI processors. In Proc. Supercomputing 89, Reno, Nevada, November 1989. ACM-IEEE.
    [27]
    J. W. Cooley and J. W. Tukey. An algorithm for the machine calculation of complex Fourier series. Mathematics o/ computation, 19:297, 1965.
    [28]
    G.H. Golub and G. Reinsch. Singular value decomposition and least-square solutions. In J.H. Wilkinson and C. Reinsch, editors, Handbook}or Automatic Computation. Vol. ~ (Linear Algebra), pages 134-151. Springer- Verlag, New York, 1971.
    [29]
    E.M. Murman and J.D. Cole. Calculation of plane steady transonic flows. Technical Report 1D-82-0943, Boeing Scientific Research Laboratories, 1970.
    [30]
    J. Moran. An Introduction to Theoretical and Computational Aerodynamics. John Wiley & Sons, 1984.

    Cited By

    View all
    • (2005)Architecture, implementation, and system software of K2Distributed Memory Computing10.1007/BFb0032963(473-484)Online publication date: 17-Jun-2005
    • (1995)VPP Fortran for Distributed Memory Parallel ComputersParallel Language and Compiler Research in Japan10.1007/978-1-4615-2269-0_17(405-428)Online publication date: 1995
    • (1992)Pandore: A System to Manage Data DistributionLanguages, Compilers and Run-Time Environments for Distributed Memory Machines10.1016/B978-0-444-88712-2.50013-5(177-184)Online publication date: 1992
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM SIGARCH Computer Architecture News
    ACM SIGARCH Computer Architecture News  Volume 18, Issue 3b
    Special Issue: Proceedings of the 4th international conference on Supercomputing
    Sept. 1990
    489 pages
    ISSN:0163-5964
    DOI:10.1145/255129
    Issue’s Table of Contents
    • cover image ACM Conferences
      ICS '90: Proceedings of the 4th international conference on Supercomputing
      June 1990
      492 pages
      ISBN:0897913698
      DOI:10.1145/77726
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 June 1990
    Published in SIGARCH Volume 18, Issue 3b

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)35
    • Downloads (Last 6 weeks)5

    Other Metrics

    Citations

    Cited By

    View all
    • (2005)Architecture, implementation, and system software of K2Distributed Memory Computing10.1007/BFb0032963(473-484)Online publication date: 17-Jun-2005
    • (1995)VPP Fortran for Distributed Memory Parallel ComputersParallel Language and Compiler Research in Japan10.1007/978-1-4615-2269-0_17(405-428)Online publication date: 1995
    • (1992)Pandore: A System to Manage Data DistributionLanguages, Compilers and Run-Time Environments for Distributed Memory Machines10.1016/B978-0-444-88712-2.50013-5(177-184)Online publication date: 1992
    • (1991)Code generation for data parallel programs on DMPCsDistributed Memory Computing10.1007/BFb0032950(337-346)Online publication date: 1991
    • (2007)An Approach To Data Distributions in ChapelInternational Journal of High Performance Computing Applications10.1177/109434200707845121:3(313-335)Online publication date: 1-Aug-2007
    • (2007)From FORTRAN 77 to locality-aware high productivity languages for peta-scale computingScientific Programming10.1155/2007/21906115:1(45-65)Online publication date: 1-Jan-2007
    • (2007)The rise and fall of High Performance FortranProceedings of the third ACM SIGPLAN conference on History of programming languages10.1145/1238844.1238851(7-1-7-22)Online publication date: 9-Jun-2007
    • (2006)High Performance Fortran: Status and prospectsApplied Parallel Computing Large Scale Scientific and Industrial Problems10.1007/BFb0095356(345-356)Online publication date: 20-Oct-2006
    • (2005)EclpssEnvironmental Modelling & Software10.1016/j.envsoft.2004.06.00620:9(1081-1100)Online publication date: 1-Sep-2005
    • (2005)Architecture, implementation, and system software of K2Distributed Memory Computing10.1007/BFb0032963(473-484)Online publication date: 17-Jun-2005
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media