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

Compiling C* programs for a hypercube multicomputer

Published: 01 January 1988 Publication History

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
  • (2015)Fusion of Calling Sites2015 27th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)10.1109/SBAC-PAD.2015.16(90-97)Online publication date: Oct-2015
  • (2012)Data and Instruction Uniformity in Minimal Multi-threadingProceedings of the 2012 IEEE 24th International Symposium on Computer Architecture and High Performance Computing10.1109/SBAC-PAD.2012.21(270-277)Online publication date: 24-Oct-2012
  • (1992)An Optimizing C* Compiler for a Hypercube MulticomputerLanguages, Compilers and Run-Time Environments for Distributed Memory Machines10.1016/B978-0-444-88712-2.50019-6(285-298)Online publication date: 1992
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

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 January 1988
Published in SIGPLAN Volume 23, Issue 9

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)76
  • Downloads (Last 6 weeks)14
Reflects downloads up to 06 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2015)Fusion of Calling Sites2015 27th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD)10.1109/SBAC-PAD.2015.16(90-97)Online publication date: Oct-2015
  • (2012)Data and Instruction Uniformity in Minimal Multi-threadingProceedings of the 2012 IEEE 24th International Symposium on Computer Architecture and High Performance Computing10.1109/SBAC-PAD.2012.21(270-277)Online publication date: 24-Oct-2012
  • (1992)An Optimizing C* Compiler for a Hypercube MulticomputerLanguages, Compilers and Run-Time Environments for Distributed Memory Machines10.1016/B978-0-444-88712-2.50019-6(285-298)Online publication date: 1992
  • (1991)Architecture-independent scientific programming in data parallel CProceedings of the 1991 ACM/IEEE conference on Supercomputing10.1145/125826.125945(208-217)Online publication date: 1-Aug-1991
  • (1990)Key references in distributed computer systems 1959–1989Distributed Computer Systems10.1016/B978-0-408-02938-4.50016-4(193-295)Online publication date: 1990
  • (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
  • 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