Concurrent Collections
نویسندگان
چکیده
We introduce the Concurrent Collections (CnC) programming model. CnC supports flexible combinations of task and data parallelism while retaining determinism. CnC is implicitly parallel, with the user providing high-level operations along with semantic ordering constraints that together form a CnC graph. We formally describe the execution semantics of CnC and prove that the model guarantees deterministic computation. We evaluate the performance of CnC implementations on several applications and show that CnC offers performance and scalability equivalent to or better than that offered by lower-level parallel programming models.
منابع مشابه
TITLE The Concurrent Collections Programming Model BYLINE
Concurrent Collections (CnC) is a parallel programming model, with an execution semantics that is influenced by dynamic dataflow, stream-processing, and tuple spaces. The three main constructs in the CnC programming model are step collections, data collections, and control collections. A step collection corresponds to a computation, and its instances correspond to invocations of that computatio...
متن کاملConcurrent Collections (CnC)
CnC is a system for describing the structure of parallel computation, or coordinating the dataand control-flow between the individual steps of a computation [2, 3]. A CnC application specifies a set of discrete step functions, and the data collections used as input to and output from those step functions.1 The CnC coordination language describes the relationship between a specific invocation of...
متن کاملA Case Study in Coordination Programming: Performance Evaluation of S-Net vs Concurrent Collections
We present a programming methodology and runtime performance case study comparing the declarative data flow coordination language S-NET with Intel’s Concurrent Collections (CnC). As a coordination language S-NET achieves a near-complete separation of concerns between sequential software components implemented in a separate algorithmic language and their parallel orchestration in an asynchronous...
متن کاملBest Paper Award at ICST ’13 CHECK-THEN-ACT Misuse of Java Concurrent Collections
Concurrent collections provide thread-safe, highly-scalable operations, and are widely used in practice. However, programmers can misuse these concurrent collections when composing two operations where a check on the collection (such as non-emptiness) precedes an action (such as removing an entry). Unless the whole composition is atomic, the program contains an atomicity violation bug. In this ...
متن کاملLecture 26 : Dataflow Programming with Intel Concurrent Collections
The Concurrent Collections (CnC) model was developed to address the need for making parallel programming accessible to domain experts or non-professional programmers. One approach that has historically addressed this problem is the creation of domain specific languages (DSLs), such as Matlab, R, SQL, and Google’s MapReduce framework that hide the details of parallelism when programming for a sp...
متن کاملIntel Concurrent Collections for Haskell
Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (functions) communicate through message-passing as well as a limited form of shared memory. This paper describes a new implementation of CnC for Haskell. Compared to existing parallel programming models for Haskell, CnC occupies a useful point in the design space: pure and deterministic like Strategie...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Scientific Programming
دوره 18 شماره
صفحات -
تاریخ انتشار 2010