CnC Logo

CnC-2016: The Eighth Annual Concurrent Collections Workshop

September 27-28, 2016 at Rochester, NY (co-located with LCPC'16)

Important Dates

August 29, 2016
September 12, 2016
September 27-28, 2016

CnC Events

CnC'15 (7th annual)
CnC'14 (6th annual)
CnC'13 (5th annual)
CnC'12 (4th annual)
CnC'11 (3rd annual)
CnC'10 (2nd)
CnC'09 (1st)


Alina Sbîrlea
Google Inc.
Vivek Sarkar
Rice University

Steering committee

Zoran Budimlić
Rice University
Aparna Chandramowlishwaran
UC Irvine
Kath Knobe
Rice University
Milind Kulkarni
Purdue University
Louis-Noel Pouchet
Colorado State University
Frank Schlimbach
Intel Corp.
The annual Concurrent Collections (CnC) workshop is as a forum for researchers and developers of parallel programs to interact on a variety of issues related to next-generation parallel programming models. The focus is on fostering a community around the CnC programming model; however, we also strongly encourage participation by anyone with an interest programming models inspired by dataflow and/or tuple space ideas as well as current or emerging applications of such models.

Participation and call for abstracts

The workshop agenda includes a CnC tutorial on current and future trends and talks selected from contributed abstracts. Topics of interest include, but are not limited to: language design and implementation, semantics and theory, application experiences, and teaching CnC.

If you are interested in giving a talk, please submit a short abstract (between 200–500 words in length) to the workshop chairs at no later than Monday, August 29, 2016. Please include:

  • Name
  • Affiliation
  • At most one page abstract of the work to be presented
  • .


The workshop will be held at Hilton Garden Inn, in the college town next to University of Rochester river campus (arts, sciences and engineering) and medical school.

Hotel Information

Accomodations information for CnC 2016 participants can be found here.

Workshop Agenda

Tuesday, September 27, 2016 (Salon A):

08:30 -- Workshop Registration
09:00 -- Welcome to CnC 2016
09:15 -- CnC Tutorial - Frank Schlimbach (Intel) (slides)

10:00 -- Session 1: Principles

  • Overwriting, Non-Deterministic and Safe Data-Puts in (Intel®) CnC - Frank Schlimbach (Intel) and Kath Knobe (Rice University). (slides)
  • CnC is a Dependence Programming Model - Kath Knobe (Rice University) and Zoran Budimlic (Rice University). (slides; pptx)
  • Declarative Communication for CnC - Zoran Budimlic (Rice University) and Kath Knobe (Rice University). (pptx)
11:30 -- Networking and Lunch break (Salon B)

13:30 -- Session 2: Graph aspects in CnC

  • Hierarchical CnC - Kath Knobe (Rice University). (slides)
  • Algorithmic Generation and Evaluation of Step-code Hierarchies in CnC Applications - Nick Vrvilo (Rice University). (slides)
  • Demand-driven execution in CnC: First Steps - Peter Elmers (Rice University) and Nick Vrvilo (Rice University). (slides)
  • Abstract graph semantics for CnC - Tiago Cogumbreiro (Rice University) (slides)
15:30 -- Afternoon Break (Salon A)

16:00 -- Session 3: Distributed

  • PIPES: A Language and Compiler for Distributed Task based Programming - Martin Kong (Rice University), Louis-Noel Pouchet (Colorado State University), P. Sadayappan (Ohio State University), and Vivek Sarkar (Rice University). (slides)
  • On Improving the Execution of Distributed CnC Programs - Yuhan Peng (Rice University), Martin Kong (Rice University), Louis-Noel Pouchet (Colorado State University), and Vivek Sarkar (Rice University). (slides)
  • Towards Resilient CnC-OCR - Sara Hamouda (The Australian National University), Sanjay Chatterjee (Rice University), Nick Vrvilo (Rice University), Zoran Budimlic (Rice University), and Vivek Sarkar (Rice University). (slides)
17:30 -- Networking
18:00 -- Dinner outing

Wednesday, September 28, 2016 (Salon A):

08:30 -- Continental Breakfast
09:00 -- Keynote Presentation: "Parallel Computation Models for HPC and Big Data Systems -- From Dataflow to Codelets, and Beyond" - Guang R. Gao (University of Delaware)

10:00 -- Session 4: New directions and tuning in CnC

  • Dynamic Task Speculation Support Through Divide-and-merge Memory Allocation - Chen Ding (University of Rochester), Benjamin O’Halloran (University of Rochester), Jacob Bisnett (University of Rochester), Joel Kottas (University of Rochester), and Colin Pronovost (University of Rochester) (slides)
  • Evaluating Performance of Task and Data Coarsening in Concurrent Collections - Chenyang Liu (Purdue University) and Milind Kulkarni (Purdue University). (slides)
  • Adaptive Tuning of Parallel Programs with CnC - Murali Emani (Lawrence Livermore National Laboratory). (slides)
  • Experimenting With Bringing Data-Analytics Kernels To CnC - Frank Schlimbach (Intel) and Kath Knobe (Rice University).
12:00 -- Closing remarks / End of CnC 2016
13:00 -- LCPC Keynote Presentation: "The Multi-core Problem as an Algorithmic Problem" - Leslie Valiant (Harvard University)

Background on CnC

CnC is a parallel programming model for mainstream programmers that philosophically differs from other approaches. CnC programmers do not specify parallel operations. Instead, they only specify semantic ordering constraints. This provides a separation of concerns between the domain expert and tuning expert, simplifying the domain expert’s job while providing more flexibility to the tuning expert. Details on CnC and related research can be found at:
Prior workshops have served as a forum for users and potential users of Concurrent Collections (CnC), to discuss experiences with CnC and a range of topics, including developments for the language, applications, usability, performance, semantics, and teaching of CnC.

Need more information?

If you have any questions about logistics or participation, please contact the workshop chairs at

Last updated: October 1st, 2016

Valid XHTML 1.0 Transitional