- TStreams
- Concurrent Collections for C++
- Habanero CnC
- See also
- Notes
- References
- External links
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. TStreamsAround 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++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 CnCRice University has developed various CnC language implementations based on their Habanero project infrastructure. See also- 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
Notes1. ^{{cite techreport |title=TStreams: How to Write a Parallel Program |url=http://www.hpl.hp.com/techreports/2004/HPL-2004-193.html}} 2. ^{{cite techreport |title=TStreams: A Model of Parallel Computation |url=http://www.hpl.hp.com/techreports/2004/HPL-2004-78R1.html}} 3. ^{{cite techreport |title=Compiling to TStreams, a New Model of Parallel Computation |url=http://www.hpl.hp.com/techreports/2005/HPL-2005-138.html}}
References- {{Cite conference | doi = 10.1145/1481839.1481846| title = Declarative aspects of memory management in the concurrent collections parallel programming model| work = Proceedings of the 4th workshop on Declarative aspects of multicore programming| conference = DAMP '09| pages = 47–58| year = 2008| last1 = Budimlic | first1 = Z. | last2 = Chandramowlishwaran | first2 = A. M. | last3 = Knobe | first3 = K. | last4 = Lowney | first4 = G. N. | last5 = Sarkar | first5 = V. | last6 = Treggiari | first6 = L. | isbn = 978-1-60558-417-1| url = http://courses.cs.vt.edu/cs5204/fall11-kafura/Papers/CnC/Declarative-Aspects-Memory-Management.pdf}}
- {{Cite journal | last1 = Budimlić | first1 = Z. | last2 = Burke | first2 = M. | last3 = Cavé1 | first3 = V. | last4 = Knobe | first4 = K. | last5 = Lowney | first5 = G. | last6 = Newton | first6 = R. | last7 = Palsberg | first7 = J. | last8 = Peixotto1 | first8 = D. | last9 = Sarkar | first9 = V. | last10 = Schlimbach | first10 = F. | last11 = Taşırlar | first11 = S. | doi = 10.3233/SPR-2011-0305 | title = Concurrent Collections | journal = Scientific Programming | volume = 18 | issue = 3–4 | pages = 203–217 | year = 2010 | url = http://www.cs.rice.edu/~vs3/PDF/CNC_JSC10.pdf | accessdate = 2013-08-25}}
- {{Cite conference | doi = 10.1145/1693453.1693506| title = Applying the concurrent collections programming model to asynchronous parallel dense linear algebra| work = Proceedings of the 15th ACM SIGPLAN symposium on Principles and practice of parallel programming| conference = PPoPP '10| pages = 345–346| year = 2010| last1 = Chandramowlishwaran | first1 = A. | last2 = Knobe | first2 = K. | last3 = Vuduc | first3 = R. | isbn = 978-1-60558-708-0| url = http://hpcgarage.org/wp/chandramowlishwaran2010-cnc-poster.pdf}}
- {{Cite book | doi = 10.1109/IPDPS.2010.5470404| chapter = Performance evaluation of concurrent collections on high-performance multicore computing systems| title = 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS)| conference = IPDPS 2010| pages = 1–12| year = 2010| last1 = Chandramowlishwaran | first1 = A. | last2 = Knobe | first2 = K. | last3 = Vuduc | first3 = R. | isbn = 978-1-4244-6442-5| url = http://vuduc.org/pubs/chandramowlishwaran2010-ipdps-cnc.pdf| citeseerx = 10.1.1.169.5643}}
- {{Cite book| last1 = Burke | first1 = M. G.| last2 = Knobe | first2 = K.| last3 = Newton | first3 = R.| last4 = Sarkar | first4 = V.| doi = 10.1007/978-0-387-09766-4_238| chapter = Concurrent Collections Programming Model| title = Encyclopedia of Parallel Computing| publisher = Springer| volume = 4| pages = 364–371| year = 2011| isbn = 978-0-387-09765-7| url = https://wiki.rice.edu/confluence/download/attachments/4425835/cnc_encyc.pdf| accessdate = 2013-08-25}}
- {{Cite journal | doi = 10.1002/cpe.2811| title = Measuring the overhead of Intel C++ Concurrent Collections over Threading Building Blocks for Gauss–Jordan elimination| journal = Concurrency and Computation: Practice and Experience| volume = 24| issue = 18| pages = 2282–2301| date = 25 December 2012| last1 = Tang | first1 = P. | url = http://www.ualr.edu/pxtang/papers/ccpe12-journal.pdf}}
External links- [https://software.intel.com/en-us/articles/intel-concurrent-collections-for-cc/ Intel Concurrent Collections for C++ for Windows and Linux] at Intel DZ, a [https://software.intel.com/en-us/whatif "What If"] project
- {{SourceForge|icnc|Intel Concurrent Collections for C++}}
- [https://icnc.github.io/index.html Intel Concurrent Collections for C++] at GitHub
- {{Github|icnc/icnc|Intel Concurrent Collections for C++}}
- CNC - Habanero Concurrent Collections as part of the Rice University Habanero project
{{Intel software}} 2 : Parallel computing|Concurrent programming languages |