Concurrent Collections (known as CnC) is a programming model for software frameworks to expose parallelism in applications. The Concurrent Collections conception originated from tagged stream processing development with HP TStreams.
TStreams
[edit]Around 2003, Hewlett-Packard Cambridge Research Lab developed TStreams, a stream processing forerunner of the basic concepts of CnC.[1][2][3]
Concurrent Collections for C++
[edit]Concurrent Collections for C++ is an open source C++ template library developed by Intel for implementing parallel CnC applications in C++ with shared and/or distributed memory.
Habanero CnC
[edit]Rice University has developed various CnC language implementations based on their Habanero project infrastructure.
See also
[edit]- Stream processing
- Flow-based programming (FBP)
- Tuple space
- Functional reactive programming (FRP)
- Linda (coordination language)
- Threading Building Blocks (TBB)
- Cilk/Cilk Plus
- Intel Parallel Studio
Notes
[edit]- ^ TStreams: How to Write a Parallel Program (Technical report). Archived from the original on 2019-02-07. Retrieved 2014-09-07.
- ^ TStreams: A Model of Parallel Computation (Technical report). Archived from the original on 2014-09-07. Retrieved 2014-09-07.
- ^ Compiling to TStreams, a New Model of Parallel Computation (Technical report).
References
[edit]- Budimlic, Z.; Chandramowlishwaran, A. M.; Knobe, K.; Lowney, G. N.; Sarkar, V.; Treggiari, L. (2008). Declarative aspects of memory management in the concurrent collections parallel programming model (PDF). DAMP '09. Proceedings of the 4th workshop on Declarative aspects of multicore programming. pp. 47–58. doi:10.1145/1481839.1481846. ISBN 978-1-60558-417-1.
- Budimlić, Z.; Burke, M.; Cavé1, V.; Knobe, K.; Lowney, G.; Newton, R.; Palsberg, J.; Peixotto1, D.; Sarkar, V.; Schlimbach, F.; Taşırlar, S. (2010). "Concurrent Collections" (PDF). Scientific Programming. 18 (3–4): 203–217. doi:10.1155/2010/521797. Retrieved 2013-08-25.
{{cite journal}}
: CS1 maint: numeric names: authors list (link) - Chandramowlishwaran, A.; Knobe, K.; Vuduc, R. (2010). Applying the concurrent collections programming model to asynchronous parallel dense linear algebra (PDF). PPoPP '10. Proceedings of the 15th ACM SIGPLAN symposium on Principles and practice of parallel programming. pp. 345–346. doi:10.1145/1693453.1693506. ISBN 978-1-60558-708-0.
- Chandramowlishwaran, A.; Knobe, K.; Vuduc, R. (2010). "Performance evaluation of concurrent collections on high-performance multicore computing systems". 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS) (PDF). IPDPS 2010. pp. 1–12. CiteSeerX 10.1.1.169.5643. doi:10.1109/IPDPS.2010.5470404. ISBN 978-1-4244-6442-5.
- Burke, M. G.; Knobe, K.; Newton, R.; Sarkar, V. (2011). "Concurrent Collections Programming Model". Encyclopedia of Parallel Computing (PDF). Vol. 4. Springer. pp. 364–371. doi:10.1007/978-0-387-09766-4_238. ISBN 978-0-387-09765-7. Retrieved 2013-08-25.
- Tang, P. (25 December 2012). "Measuring the overhead of Intel C++ Concurrent Collections over Threading Building Blocks for Gauss–Jordan elimination" (PDF). Concurrency and Computation: Practice and Experience. 24 (18): 2282–2301. doi:10.1002/cpe.2811. S2CID 13585339.
External links
[edit]- Intel Concurrent Collections for C++ for Windows and Linux at Intel DZ, a "What If" project
- CNC - Habanero Concurrent Collections as part of the Rice University Habanero project