skip to main content
article
Free access

Distributed data access in AC

Published: 01 August 1995 Publication History

Abstract

We have modified the C language to support a programming model based on a shared address space with physically distributed memory. With this model users can write programs in which the nodes of a massively parallel processor can access remote memory without message passing. AC provides support for distributed arrays as well as pointers to distributed data. Simple array references and pointer dereferencing are sufficient to generate low-overhead remote reads and writes. We have implemented these ideas in a compiler based on the GNU C compiler and targeted at Cray Research's T3D. Initial performance measurements show that AC generates code for remote accesses which is considerably faster than that of the native compiler for structures up to about 16 words in size and virtually equivalent for larger transfers.

References

[1]
American National Standards Institute, American National Standard for Information Systems--Programming Language--C, 1989, sec. 3.5.4.1.
[2]
Baldwin, Douglas, "A Status Report on CON- SUL", in Languages and Compilers for Parallel Computing, ed. David Gelemter, Alexandru Nicolau, and David Padua, The MIT Press, Cambridge, MA, 1990, pp. 37-53.
[3]
Berlekamp, Elwyn R., John H. Conway, and Richard K. Guy, Winning Ways for Your Mathematical Plays, Volume 2: Games in Particular, Academic Press, New York, 1982, p. 736.
[4]
Bromley, Mark, Steven Heller, Tim McNerney, and Guy L. Steele, Jr., "Fortran at Ten Gigaflops: The Connection Machine Convolution Compiler," in Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, Toronto, Ontario, Canada, June 26-28, 1991, pp. 145-156.
[5]
Culler, David E., Andrea Dusseau, Seth Copen Goldstein, Arvind Krishnamttrthy, Steven Lumetta, Thorsten yon Eicken, and Katherine Yelick, "Parallel Programming in Split-C," in Proceedings of Supercomputing '93, Portland, OR, November 15-19, 1993, pp. 262-273.
[6]
Chandra, Rohit, Anoop Gupta, and John L. Hennessy, "COOL: A Language for Parallel Programming", in Languages and Compilers for Parallel Computing, ed. David Gelernter, Alexandru Nicolau, and David Padua, The MIT Press, Cambridge, MA, 1990, pp. 126-148.ue
[7]
Dongarra, Jack J., Iain S. Duff, Danny C. Sorensen, and Henk A. van der Vorst, Solving Linear Systerns on Vector and Shared Memory Computers, SIAM Press, Philadelphia, 1991.
[8]
Forin, Alessandro, "Futures", in Topics in Advanced Language Implementation, ed. Peter Lee, The MIT Press, Cambridge, MA, 1991, pp. 219-241.
[9]
Gokhale, Maya, and Judith Schlesinger, "A Data Parallel C and its Platforms," Proceedings of the Fifth Symposium on the Frontiers of Massively Parallel Computation (Frontiers 95)", McLean, VA, February 1995.
[10]
High Performance Fortran Forum, High Performance Fortran Language Specification, Version 1.0, Rice University, May 1993.
[11]
Klappholz David, Apostolos D. Kallis, and Xiangyun Kong, "Refined C: An Update," in Languages and Compilers for Parallel Computing, ed. David Gelemter, Alexandru Nicolau, and David Padua, The MIT Press, Cambridge, MA, 1990, pp. 331-357.
[12]
Koelbel, Chuck, Piyush Mehrotra, and John Van Rosendale, "Supporting Shared Memory Data Structures on Distributed Memory Architectures", in Proceedings of the Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP), Seattle, Washington, March 14-16, 1990, pp. 177-186.
[13]
McGraw, J. R., S. K. Skedzielewski, S. J. Allan, R. R. Oldehoeft, J. Glauert, C. Kirkham, W. Noyce, and R. Thomas, SISAL: Streams and Iteration in a Single Assignment Language: Reference Manual Version 1.2, Lawrence Livermore National Laboratory, Livermore, CA, 1985.
[14]
Ortiz, Luis F., Ron Y. Pinter, and Shlomit S. Pinter, "An Array Language for Data Parallelism: Definition, compilation, and Applications", The Journal of Supercomputing, 5, pp. 7-29 (1991 ).
[15]
Rose, J.R., and Guy L. Steele, Jr., "C*: An Extended C Language for Data Parallel Programming", Proceedings of the Second International Conference on Supercomputing, Vol. 2, ed. Kartashev, L.E, and S.I. Kartashev, Santa Clara, CA, May, 1987, pp. 2-16.
[16]
Richarcl M. Stallman, Using and Porting GNU CC.
[17]
Thinking Machines, Getting Started in CM-Fortran, Thinking Machines Corporation, Cambridge, MA, February, 1990.

Cited By

View all
  • (2022)Multithreaded runtime framework for parallel and adaptive applicationsEngineering with Computers10.1007/s00366-022-01713-738:5(4675-4695)Online publication date: 1-Oct-2022
  • (2005)Parallel symbolic computing in CidParallel Symbolic Languages and Systems10.1007/BFb0023064(215-242)Online publication date: 10-Jun-2005
  • (1997)A study of performance on SMP and distributed memory architectures using a shared memory programming modelProceedings of the 1997 ACM/IEEE conference on Supercomputing10.1145/509593.509637(1-16)Online publication date: 15-Nov-1997
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 30, Issue 8
Aug. 1995
226 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/209937
Issue’s Table of Contents
  • cover image ACM Conferences
    PPOPP '95: Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
    August 1995
    234 pages
    ISBN:0897917006
    DOI:10.1145/209936
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 August 1995
Published in SIGPLAN Volume 30, Issue 8

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)92
  • Downloads (Last 6 weeks)41
Reflects downloads up to 15 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Multithreaded runtime framework for parallel and adaptive applicationsEngineering with Computers10.1007/s00366-022-01713-738:5(4675-4695)Online publication date: 1-Oct-2022
  • (2005)Parallel symbolic computing in CidParallel Symbolic Languages and Systems10.1007/BFb0023064(215-242)Online publication date: 10-Jun-2005
  • (1997)A study of performance on SMP and distributed memory architectures using a shared memory programming modelProceedings of the 1997 ACM/IEEE conference on Supercomputing10.1145/509593.509637(1-16)Online publication date: 15-Nov-1997
  • (2015)Partitioned Global Address Space LanguagesACM Computing Surveys10.1145/271632047:4(1-27)Online publication date: 26-May-2015
  • (2007)Parallel Languages and CompilersInternational Journal of High Performance Computing Applications10.1177/109434200707844921:3(266-290)Online publication date: 1-Aug-2007
  • (2006)Benchmarking parallel compilersFuture Generation Computer Systems10.1016/j.future.2006.02.00222:7(764-775)Online publication date: 1-Aug-2006
  • (2006)Forklight: A control-synchronous parallel programming languageHigh-Performance Computing and Networking10.1007/BFb0100613(525-534)Online publication date: 17-Nov-2006
  • (2005)Fast Address Translation Techniques for Distributed Shared Memory CompilersProceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 0110.1109/IPDPS.2005.219Online publication date: 4-Apr-2005
  • (2005)Parallel symbolic computing in CidParallel Symbolic Languages and Systems10.1007/BFb0023064(215-242)Online publication date: 10-Jun-2005
  • (2004)Analytic Comparison of Two Advanced C Language-Based Parallel Programming ModelsThird International Symposium on Parallel and Distributed Computing/Third International Workshop on Algorithms, Models and Tools for Parallel Computing on Heterogeneous Networks10.1109/ISPDC.2004.11(284-291)Online publication date: 2004
  • 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