The Concurrent Collections Programming Model

dc.contributor.authorBudimlić, Zoranen_US
dc.contributor.authorBurke, Michael G.en_US
dc.contributor.authorCavé, Vincenten_US
dc.contributor.authorKnobe, Kathleenen_US
dc.contributor.authorLowney, Geoffen_US
dc.contributor.authorPalsberg, Jensen_US
dc.contributor.authorPeixotto, Daviden_US
dc.contributor.authorSarkar, Viveken_US
dc.contributor.authorSchlimbach, Franken_US
dc.contributor.authorTaşırlar, Sağnaken_US
dc.date.accessioned2017-08-02T22:03:08Zen_US
dc.date.available2017-08-02T22:03:08Zen_US
dc.date.issued2010-01-04en_US
dc.date.noteJanuary 4, 2010en_US
dc.description.abstractWe introduce the Concurrent Collections (CnC) programming model. In this model, programs are written in terms of high-level operations. These operations are partially ordered according to only their semantic constraints. These partial orderings correspond to data dependences and control dependences. The role of the domain expert, whose interest and expertise is in the application domain, and the role of the tuning expert, whose interest and expertise is in performance on a specific architecture, can be viewed as separate concerns. The CnC programming model pro vides a high-level specification that can be used as a common language between the two experts, raising the level of their discourse. The model facilitates a significant degree of separation, which simplifies the task of the domain expert, who can focus on the application rather than scheduling concerns and mapping to the target architecture. This separation also simplifies the work of the tuning expert, who is given the maximum possible freedom to map the computation onto the target architecture and is not required to understand the details of the domain. However, the domain and tuning expert may still be the same person. We formally describe the execution semantics of CnC and prove that this model guarantees deterministic computation. We evaluate the performance of CnC implementations on several applications and show that CnC can effectively exploit several different kinds of parallelism and offer performance and scalability that is equivalent to or better than that offered by the current low-level parallel programming models. Further, with respect to ease of programming, we discuss the tradeoffs between CnC and other parallel program ming models on these applications.en_US
dc.format.extent19 ppen_US
dc.identifier.citationBudimli?, Zoran, Burke, Michael G., Cav�, Vincent, et al.. "The Concurrent Collections Programming Model." (2010) https://hdl.handle.net/1911/96386.en_US
dc.identifier.digitalTR10-05en_US
dc.identifier.urihttps://hdl.handle.net/1911/96386en_US
dc.language.isoengen_US
dc.rightsYou are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).en_US
dc.titleThe Concurrent Collections Programming Modelen_US
dc.typeTechnical reporten_US
dc.type.dcmiTexten_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR10-05.pdf
Size:
585.41 KB
Format:
Adobe Portable Document Format