Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/62115.62122acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
Article
Free access

Compiling C* programs for a hypercube multicomputer

Published: 01 January 1988 Publication History
  • Get Citation Alerts
  • Abstract

    A data parallel language such as C* has a number of advantages over conventional hypercube programming languages. The algorithm design process is simpler, because (1) message passing is invisible, (2) race conditions are nonexistent, and (3) the data can be put into a one-to-one correspondence with the virtual processors. Since data are mapped to virtual processors, rather than physical processors, it is easier to move algorithms implemented on one size hypercube to a larger or smaller system. We outline the design of a C* compiler for a hypercube multicomputer. Our design goals are to minimize the amount of time spent synchronizing, limit the number of interprocessor communications, and make each physical processor's emulation of a set of virtual processors as efficient as possible. We have hand translated three benchmark programs and compared their performance with that of ordinary C programs. All three programs—matrix multiplication, LU decomposition, and hyperquicksort—achieve reasonable speedup on a commercial hypercube, even when solving problems of modest size. On a 64-processor NCUBE/7, the C* matrix multiplication program achieves a speedup of 27 when multiplying two 64 × 64 matrices, the hyperquicksort program achieves a speedup of 10 when sorting 16,384 integers, and LU decomposition attains a speedup of 7 when decomposing a 256 × 256 system of linear equations. We believe the degradation in machine performance resulting from the use of a data parallel language will be more than compensated for by the increase in programmer productivity.

    References

    [1]
    Anonymous. Introduction to data level parallelism. Technical Report 86.14, Thinking Machines Corporation, 1986.
    [2]
    C. A. Grasso and M. J. quinn. Art {/0 system for NCUBE node processors. Technical Report PCL-87-10, University of New Hampshire, 1987.
    [3]
    W. D. Hillis. The Connection Machine. The MIT Press, Cambridge, MA, 1985.
    [4]
    W. D. Hillis and G. L. Steele Jr. Data parallel algorithms. Communications of the ACM, 29( 12):1170-1183, December 1986.
    [5]
    B. W. Kernighan and D. Ritchie. The C Proqrammin# Language. Prentice-Hall, Englewood Cliffs, N J, 1978.
    [6]
    D. A. Padua and M. J. Wolfe. Advanced compiler optimizations for supercomputers. Commurtications of the ACM, 29(12):1184-1201, December 1986.
    [7]
    J. F. Palmer. A VLSI parallel supercompurer. In M. T. tteath, editor, Hypercube Mul. ticomputers 1986, pages 19-26, SIAM Press, Philadelphia, PA, 1986.
    [8]
    M. J. Quinn. Ar~alysis and benchmarking of two parallel 8ortin9 alqorithms: hyperquicksort and quickmerge. Technical Report PCL-88-13, University of New Hampshire, 1988.
    [9]
    M. J. Quhm. Analysis and implementation of branch-and-bound algorithms on a hypercube multicomputer. Technical Report PCL-88-15, University of New Hampshire, 1988.
    [10]
    M. J. Quinn. Designin~ Eff~cier~t Al9orithms for Parallel Computers. McGraw-Hill, New York, NY, 1987.
    [11]
    J. R. Rose and (3. L. Steele Jr. C*: An extended C languaye for data parallel program. rainy. Technical Report PL 87-5, Tl~inking Machines Corporation, 1986.
    [12]
    J. Salmon. CUBtX: programnaing hypercubes without programming hosts. In M. T. Heath, editor, Hypercube Multiprocessors 1987, pages 3-9, SIAM Press, Philadelphia, PA, 1987.
    [13]
    R. Sedgewick. hnplementing quicksort programs. Communications of the A CM, 21(10):S47-857, October 1978.
    [14]
    B. Stroustrup. The C++ Programmia9 Language. Addison-Wesley, Reading, MA, 1986.
    [15]
    S. J. Sulsky. gypercube implementations .for the solution of linear systems of equations. Master's thesis, University of New Halnpshire, 1987.
    [16]
    B. Wagar. Hyperquicksort~a fast sorting algorithln for hypercubes. In M. T. Heath, editor, Hypercube Multiprocessors 1987, pages 292-299, SIAM Press, Philadelphia, PA, 1987.

    Cited By

    View all
    • (1996)Loop Transformations for Fault Detection in Regular Loops on Massively Parallel SystemsIEEE Transactions on Parallel and Distributed Systems10.1109/71.5532737:12(1238-1249)Online publication date: 1-Dec-1996
    • (1994)A comparison of message passing and shared memory architectures for data parallel programsACM SIGARCH Computer Architecture News10.1145/192007.19202022:2(94-105)Online publication date: 1-Apr-1994
    • (1994)A comparison of message passing and shared memory architectures for data parallel programsProceedings of the 21st annual international symposium on Computer architecture10.1145/191995.192020(94-105)Online publication date: 18-Apr-1994
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PPEALS '88: Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
    January 1988
    246 pages
    ISBN:0897912764
    DOI:10.1145/62115
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 23, Issue 9
      Proceedings of the ACM/SIGPLAN PPEALS 1988
      Sept. 1988
      246 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/62116
      Issue’s Table of Contents
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 January 1988

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    PPEALS88
    Sponsor:

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)56
    • Downloads (Last 6 weeks)8
    Reflects downloads up to 29 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (1996)Loop Transformations for Fault Detection in Regular Loops on Massively Parallel SystemsIEEE Transactions on Parallel and Distributed Systems10.1109/71.5532737:12(1238-1249)Online publication date: 1-Dec-1996
    • (1994)A comparison of message passing and shared memory architectures for data parallel programsACM SIGARCH Computer Architecture News10.1145/192007.19202022:2(94-105)Online publication date: 1-Apr-1994
    • (1994)A comparison of message passing and shared memory architectures for data parallel programsProceedings of the 21st annual international symposium on Computer architecture10.1145/191995.192020(94-105)Online publication date: 18-Apr-1994
    • (1994)A comparison of message passing and shared memory architectures for data parallel programsProceedings of 21 International Symposium on Computer Architecture10.1109/ISCA.1994.288158(94-105)Online publication date: 1994
    • (1994)Compiling HPF for Distributed Memory MIMD ComputersThe Interaction of Compilation Technology and Computer Architecture10.1007/978-1-4615-2684-1_8(191-221)Online publication date: 1994
    • (1993)Language support for data parallelism in pointer based dynamic data structuresProceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: distributed computing - Volume 210.5555/962367.962398(933-941)Online publication date: 24-Oct-1993
    • (1993)Comparing Data-Parallel and Message-Passing ParadigmsProceedings of the 1993 International Conference on Parallel Processing - Volume 0210.1109/ICPP.1993.57(11-20)Online publication date: 16-Aug-1993
    • (1991)Parallel programming with coordination structuresProceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/99583.99612(197-208)Online publication date: 3-Jan-1991
    • (1991)A production-quality C* compiler for Hypercube multicomputersACM SIGPLAN Notices10.1145/109626.10963426:7(73-82)Online publication date: 1-Apr-1991
    • (1991)A production-quality C* compiler for Hypercube multicomputersProceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming10.1145/109625.109634(73-82)Online publication date: 1-Apr-1991
    • 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