skip to main content
article
Free Access

ICC++—a C++ dialect for high performance parallel computing

Authors Info & Claims
Published:01 April 1996Publication History
Skip Abstract Section

Abstract

ICC++ is a new concurrent C++ dialect which supports a single source code for sequential and parallel program versions, the construction of concurrent data abstractions, convenient expression of irregular and fine-grained concurrency, and high performance implementation. ICC++ programs are annotated with potential concurrency, facilitating both sharing source with sequential programs and automatic grain size tuning for efficient execution. Concurrency control is at the object level; each object ensures the consistency of its own state. This consistency can be extended over larger data abstractions. Finally, ICC++ integrates arrays into the object system and the concurrency model. In short, ICC++ addresses concurrency and its relation to abstractions --- whether they are implemented by single objects, several objects, or object collections. The design of the language, its rationale, and where to find implementations are all described.

References

  1. {1} G. Agha. Concurrent object-oriented programming. Communications of the Association for Computing Machinery , 33(9):125-41, September 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. {2} Pierre America. A parallel object-oriented language with inheritance and subtyping. In Proceedings of ECOOP/OOPSLA '90, pages 161-8, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. {3} K. Mani Chandy and Carl Kesselman. Compositional C++: Compositional parallel programming. In Proceedings of the Fifth Workshop on Compilers and Languages for Parallel Computing, New Haven, Connecticut, 1992. YALEU/DCS/RR-915, Springer-Verlag Lecture Notes in Computer Science, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. {4} A. A. Chien, W. Feng, V. Karamcheti, and J. Plevyak. Techniques for efficient execution of fine-grained concurrent programs. In Proceedings of the Fifth Workshop on Compilers and Languages for Parallel Computing , pages 103-13, New Haven, Connecticut, 1992. YALEU/DCS/RR-915, Springer-Verlag Lecture Notes in Computer Science, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. {5} A. A. Chien, M. Straka, J. Dolby, V. Karamcheti, J. Plevyak, and X. Zhang. A case study in irregular parallel programming. In DIMACS Workshop on Specification of Parallel Algorithms, May 1994. Also available as Springer-Verlag LNCS.Google ScholarGoogle ScholarCross RefCross Ref
  6. {6} Andrew Chien, Vijay Karamcheti, and John Plevyak. The Concert system--compiler and runtime support for efficient fine-grained concurrent object-oriented programs. Technical Report UTUCDCS-R-93-1815, Department of Computer Science, University of Illinois, Urbana, Illinois, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. {7} Andrew A. Chien. Concurrent Aggregates: Supporting Modularity in Massively-Parallel Programs. MIT Press, Cambridge, MA, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. {8} Andrew A. Chien and Julian Dolby. The Illinois Concert system: A problem-solving environment for irregular applications. In Proceedings of DAGS'94, The Symposium on Parallel Computation and Problem Solving Environments., 1994.Google ScholarGoogle Scholar
  9. {9} Concurrent Systems Architecture Group. The ICC++ reference manual. Concurrent Systems Architecture Group Memo, May 1996.Google ScholarGoogle Scholar
  10. {10} Vijay Karamcheti and Andrew Chien. Concert - efficient runtime support for concurrent object-oriented programming languages on stock hardware. In Proceedings of Supercomputing'93, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. {11} 3. Lee and D. Gannon. Object oriented parallel programming. In Proceedings of the ACM/IEEE Conference on Supercomputing. IEEE Computer Society Press, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. {12} Barbara Liskov. Data abstraction and hierarchy. ACM SIGPLAN Notices, 23(5):17-34, May 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. {13} N. Wirth and M. Reiser. Programming in Oberon-Steps beyond Pascal and Modula. Addison Wesley, 1992. Google ScholarGoogle Scholar
  14. {14} John Plevyak and Andrew A. Chien. Precise concrete type inference of object-oriented programs. In Proceedings of OOPSLA '94, Object-Oriented Programming Systems, Languages and Architectures, pages 324-340, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. {15} John Plevyak and Andrew A. Chien. Type directed cloning for object-oriented pragrams In Proceedings of the Workshop for Languages and Gompilers for Parallel Computing, pages 566-580, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. {16} John Plevyak, Xingbin Zhang, and Andrew A. Chien. Obtaining sequential efficiency in concurrent object-oriented programs. In Proceedings of the ACM Symposium on the Principles of Programming Languages, pages 311-321, January 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. {17} Akinori Yonezawa, editor. ABCL: An Object-Oriented Concurrent System. MIT Press, 1990. ISBN 0-262- 24029-7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. {18} Xingbin Zhang, Vijay Karamcheti, Tony Ng, and Andrew Chien. Optimizing COOP languages: Study of a protein dynamics program. In IPPS'96, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. ICC++—a C++ dialect for high performance parallel computing

        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

        Full Access

        • Published in

          cover image ACM SIGAPP Applied Computing Review
          ACM SIGAPP Applied Computing Review  Volume 4, Issue 1
          Spring 1996
          29 pages
          ISSN:1559-6915
          EISSN:1931-0161
          DOI:10.1145/240732
          Issue’s Table of Contents

          Copyright © 1996 Author

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 April 1996

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader