Concurrent Collections

نویسندگان

  • Zoran Budimlic
  • Michael G. Burke
  • Vincent Cavé
  • Kathleen Knobe
  • Geoff Lowney
  • Ryan Newton
  • Jens Palsberg
  • David M. Peixotto
  • Vivek Sarkar
  • Frank Schlimbach
  • Sagnak Tasirlar
چکیده

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.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

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