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.
- {1} G. Agha. Concurrent object-oriented programming. Communications of the Association for Computing Machinery , 33(9):125-41, September 1990. Google ScholarDigital Library
- {2} Pierre America. A parallel object-oriented language with inheritance and subtyping. In Proceedings of ECOOP/OOPSLA '90, pages 161-8, 1990. Google ScholarDigital Library
- {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 ScholarDigital Library
- {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 ScholarDigital Library
- {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 ScholarCross Ref
- {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 ScholarDigital Library
- {7} Andrew A. Chien. Concurrent Aggregates: Supporting Modularity in Massively-Parallel Programs. MIT Press, Cambridge, MA, 1993. Google ScholarDigital Library
- {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 Scholar
- {9} Concurrent Systems Architecture Group. The ICC++ reference manual. Concurrent Systems Architecture Group Memo, May 1996.Google Scholar
- {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 ScholarDigital Library
- {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 ScholarDigital Library
- {12} Barbara Liskov. Data abstraction and hierarchy. ACM SIGPLAN Notices, 23(5):17-34, May 1988. Google ScholarDigital Library
- {13} N. Wirth and M. Reiser. Programming in Oberon-Steps beyond Pascal and Modula. Addison Wesley, 1992. Google Scholar
- {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 ScholarDigital Library
- {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 ScholarDigital Library
- {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 ScholarDigital Library
- {17} Akinori Yonezawa, editor. ABCL: An Object-Oriented Concurrent System. MIT Press, 1990. ISBN 0-262- 24029-7. Google ScholarDigital Library
- {18} Xingbin Zhang, Vijay Karamcheti, Tony Ng, and Andrew Chien. Optimizing COOP languages: Study of a protein dynamics program. In IPPS'96, 1996. Google ScholarDigital Library
Index Terms
- ICC++—a C++ dialect for high performance parallel computing
Recommendations
FRC: a high-performance concurrent parallel deferred reference counter for C++
ISMM 2018: Proceedings of the 2018 ACM SIGPLAN International Symposium on Memory ManagementWe present FRC, a high-performance concurrent parallel reference counter for unmanaged languages. It is well known that high-performance garbage collectors help developers write memory-safe, highly concurrent systems and data structures. While C++, C, ...
FRC: a high-performance concurrent parallel deferred reference counter for C++
ISMM '18We present FRC, a high-performance concurrent parallel reference counter for unmanaged languages. It is well known that high-performance garbage collectors help developers write memory-safe, highly concurrent systems and data structures. While C++, C, ...
On high performance distributed transactional data structures
MiddlewareDPT '13: Proceedings Demo & Poster Track of ACM/IFIP/USENIX International Middleware ConferenceWe present three protocols for developing high performance distributed transactional data structures. Our first protocol, QR-ON, incorporates the open nesting transactional model into QR, a quorum-based protocol for managing concurrency on distributed ...
Comments