skip to main content
10.1145/62297.62347acmconferencesArticle/Chapter ViewAbstractPublication Pagesc3pConference Proceedingsconference-collections
Article
Free Access

Coherent parallel C

Authors Info & Claims
Published:01 January 1988Publication History

ABSTRACT

Coherent Parallel C (CPC) is an extension of C for parallelism. The extensions are not simply parallel for loops; instead, a data parallel programming model is adopted. This means that one has an entire process for each data object. An example of an “object” is one mesh point in a finite element solver. How the processes are actually distributed on a parallel machine is transparent—the user is to imagine that an entire processor in a distributed-memory environment is dedicated to each process. This simplifies programming tremendously: complex if statements associated with domain boundaries disappear; problems which do not exactly match the machine size and irregular boundaries are all handled transparently.

The usual communication calls are not seen at all at the user level. Variables of other processes (which may or may not be on another processor) are merely accessed (global memory). The first pass of the CPC compiler schedules the necessary communications in an efficient, coherent manner. Processes in CPC are insulated from one another and interact in a deterministic manner. This allows tractable debugging. Standard C I/O is provided, with simple extensions for parallelism.

We currently have a CPC runtime system implemented on an NCUBE and have started implementing a true compiler for the language.

CPC is not specific to distributed memory machines. Implementation of this language on other architectures is natural—for example, there seems to be no fundamental problem with CPC on shared-memory parallel computers.

References

  1. Chow87.E. Chow, H. Madan, and J. Peterson, "A Real-Time Adaptive Message Routing Network for the Hypercube Corn= purer," Caltech Concurrent Comput~ tion Program ~eport C3P-469, 1987.Google ScholarGoogle Scholar
  2. Dall86.W. Dally and C. Seits, "A VLSI Architecture for Concurrent Data Structures," Y. Distributed Systems I (1986), 187.Google ScholarGoogle Scholar
  3. Dull88.W. Dally, "Fine-Grain Message-Passing Concurrent Computers," this volume. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. DAP79."The DAP Approach," in Infotech Slate of ~he Art Report: S~percomputers, 2, edited by C.R. J esshop=, R.W. Hockney, Infotech Intl. Ltd., Maidenhead (1979), 311-29.Google ScholarGoogle Scholar
  5. Denn74.J.B. Dennis, "First Version ofa Datafiow Procedure Language," in Proc. Prograra~ing Syraposi~m, Paris 1974, edited by, G. Goos and J. Hartmanis, Springer- Verlag, New York (1974). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Felt85.E.W. Felten, S.C. Karlin, and $.W. Otto, "Sorting on a Hypercube," Caltech Concurrent Computation Program report C3P-244.Google ScholarGoogle Scholar
  7. Felt88.E.W. Felten and S.W. Otto, "Chess on a Hypercube," this volume. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Fox88a.G.C. Fox, "What Have We Learned from Using Real Parallel Machines to Solve Real Problems?" in this volume. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Fox88b.G.C. Fox, M.A. Johnson, G.A. Lyzenga, S.W. Otto, J.K. Salmon, and D.W. Walker, "Solving Problems on Concurrent Processors", Prentice Hall, New Jersey 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Harb87.S.P. Harbison and G.L. Steele, Jr., "C: A R. eference Manual," Prentice Hall, New Jersey, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hill85.W.D. Hfilis, "The Connection Machine," MIT Press, Cambridge, 1985.Google ScholarGoogle Scholar
  12. NCUB87."NCUBE Reference Manual," NCUBE Corporation, 1987.Google ScholarGoogle Scholar
  13. Quin88.M.J. Quinn, P.J. Hatcher, K.C. lourdenais, "Compiling C* Programs for a Hypercube Multicomputer," this volume.Google ScholarGoogle Scholar
  14. Rose87.J. Rose, G. Steele, "C*: An Extended C Language for Data Parallel Programming,'' Thinking Machines Technical Report PL87-5 (1987)Google ScholarGoogle Scholar
  15. Salm87.S. Salmon, "CUBIX: Programming Hypercubes Without Programming Hosts," in Hype~cu& Mtdtiprocessors i987, edited by M. Heath, SIAM (1987), 3, Caltech Concurrent Computation Program report C3P-378.Google ScholarGoogle Scholar
  16. Stro86.B. Stroustrup, "The C++ Programming Language," Addison Wesley, Reading, Mass., 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Coherent parallel C

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              C3P: Proceedings of the third conference on Hypercube concurrent computers and applications: Architecture, software, computer systems, and general issues - Volume 1
              January 1988
              895 pages
              ISBN:0897912780
              DOI:10.1145/62297
              • Editor:
              • Geoffrey Fox

              Copyright © 1988 ACM

              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: 1 January 1988

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • Article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader