CnC Logo

CnC 2021: The Thirteenth Annual Concurrent Collections Workshop

October 27–28, 2021 at SUNY Global Center

NOTE: The workshop will be in person. However, we are following the CDC and SUNY Global Center guidelines. If there is any change to the plan, we will announce accordingly.

Zoom link (password: cnc2021)


Important Dates

Workshop
October 27–28, 2021

Chairs

George Bosilca
University of Tennessee, Knoxville
Mohammad Mahdi Javanmard
Facebook

Steering committee

Zoran Budimlić
Rice University
P. Sadayappan
University of Utah
Robert Harrison
Stony Brook University
Louis-Noel Pouchet
Colorado State University
Frank Schlimbach
Intel Corp.

Past Workshops

CnC'20 (12th annual)
CnC'19 (11th annual)
CnC'18 (10th annual)
CnC'17 (9th annual)
CnC'16 (8th annual)
CnC'15 (7th annual)
CnC'14 (6th annual)
CnC'13 (5th annual)
CnC'12 (4th annual)
Earlier workshops
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.

Registration:

There is no registration fee for workshop attendance (presenters and attendees).

Remote Attendance/Presentation:

If you are presenting or attending the CnC'21 workshop remotely, please use this zoom link (password: cnc2021).

Workshop Location:

The workshop will be held in SUNY Global Center.

SUNY Global COVID-19 regulations:

    Currently, all attendees must wear a mask at all times in all areas of the building.
    Individuals who are not fully vaccinated are required to wear a mask and remain socially distanced in all common areas of the SUNY Global Center (SGC).

Workshop Agenda (all times in EST):

Wednesday (Oct 27, 2021)

    9:15 AM - 9:30 AM
    Breakfast
    9:30 AM - 10:30 AM
    Keynote Talk: How CnC captures the essence of Dataflow and more
    Vivek Sarkar
    Georgia Institute of Technology
    Bio

    Dr. Vivek Sarkar is Chair of the School of Computer Science and the Stephen Fleming Chair for Telecommunications in the College of Computing at Georgia Institute of Technology. He conducts research in multiple aspects of programmability and productivity in parallel computing, including programming languages, compilers, runtime systems, and debuggers for parallel, heterogeneous, and high-performance computer systems.

    Dr. Sarkar started his career in IBM Research after obtaining his Ph.D. from Stanford University, supervised by John Hennessy. His research projects at IBM include the PTRAN automatic parallelization system led by Fran Allen, the ASTI optimizer for IBM’s XL Fortran product compilers, the open-source Jikes Research Virtual Machine for the Java language, and the X10 programming language developed in the DARPA HPCS program. He was a member of the IBM Academy of Technology during 1995-2007. After moving to academia, Sarkar has mentored over 30 Ph.D. students and postdoctoral researchers in the Habanero Extreme Scale Software Research Laboratory, first at Rice University since 2007, and now at Georgia Tech since 2017. Researchers in his lab have developed the Habanero-C/C++ and Habanero-Java programming systems for parallel, heterogeneous, and distributed platforms, and have introduced a wide range of extensions to the Concurrent Collections (CnC) programming model and implementations . While at Rice, Sarkar was the E.D. Butcher Chair in Engineering, served as Chair of the Department of Computer Science, created a new sophomore-level course on the fundamentals of parallel programming, as well as a three-course Coursera specialization on parallel, concurrent, and distributed programming.

    Dr. Sarkar is an ACM Fellow and an IEEE Fellow. He has been serving as a member of the US Department of Energy’s Advanced Scientific Computing Advisory Committee (ASCAC) since 2009, and on CRA’s Board of Directors since 2015. He is also the recipient of the 2020 ACM-IEEE CS Ken Kennedy Award.

    10:30 AM - 11:15 AM
    Introduction to Intel Concurrent Collections
    Frank Schlimbach
    Intel
    11:15 AM - 12 PM
    Introduction to Template Task Graph (TTG)
    Robert Harrison and Poornima Nookala
    Stony Brook University and Illinois Institute of Technology [slides]
    12 PM - 1 PM
    Lunch Break
    1 PM - 2:10 PM
    Invited Talk: Towards a standard C++ asynchronous programming model
    Hartmut Kaiser
    Louisiana State University [slides]
    Abstract

    With the advent of modern computer architectures characterized by -- amongst other things -- many-core nodes, deep and complex memory hierarchies, heterogeneous subsystems, and power-aware components, it is becoming increasingly difficult to achieve best possible application scalability and satisfactory parallel efficiency. The community is experimenting with new programming models that rely on finer-grain parallelism, and flexible and lightweight synchronization, combined with work-queue-based, message-driven computation. The recently growing interest in the C++ programming language in industry and in the wider community increases the demand for libraries implementing those programming models for the language.

    In this talk, we present a new asynchronous C++ parallel programming model that is built around lightweight tasks and mechanisms to orchestrate massively parallel (and -- if needed -- distributed) execution. This model uses the concept of (Standard C++) futures to make data dependencies explicit, employs explicit and implicit asynchrony to hide latencies and to improve utilization, and manages finer-grain parallelism with a work-stealing scheduling system enabling automatic load balancing of tasks.

    Bio

    Dr. Hartmut Kaiser is a member of the faculty at Louisiana State University (LSU) and a senior research scientist at LSU's Center for Computation and Technology (CCT). He is probably best known through his involvement in open source software projects, mainly as the author of several C++ libraries he has contributed to Boost, which are in use by thousands of developers worldwide. His current research is focused on leading the STE||AR group at CCT working on the practical design and implementation of future execution models and programming methods. He is a voting member of the C++ standardization committee.

    2:10 PM - 2:40 PM
    DSLs and APIs for Dataflow Programming
    Thomas Herault, George Bosilca, and Joseph Schuchart
    Innovative Computing Laboratory at University of Tennessee [slides]
    2:40 - 3:10 PM
    Future MPI Extensions for Parallel Runtime Systems
    Joseph Schuchart, and George Bosilca
    Innovative Computing Laboratory at University of Tennessee [slides]
    3:10 PM - 3:20 PM
    Coffee Break
    3:20 PM - 3:40 PM
    Introduction to Ookami supercomputer
    Eva Siegmann
    Stony Brook University [slides]
    3:40 PM - 4:20 PM
    HERDS: Heterogeneous, Resilient, Distributed System for Key-Value Programming
    Max Grossman, Matthew Whitlock, and Vivek Sarkar
    Georgia Institute of Technology [slides]
    4:20 PM - 5 PM
    On Representing Trees Using Polyhedral Concepts
    Louis-Noel Pouchet and Alexandre Dubois
    Colorado State University
    5 PM - 5:30 PM
    Distributed Hierarchical Runtime for CnC
    Srdjan Milakovic and Zoran Budimlic
    Rice University [slides]

Thursday (Oct 28, 2021) - Morning

    9:15 AM - 9:30 AM
    Breakfast
    9:30 AM - 10:15 AM
    Invited Talk: Automatic Optimization and Code Generation for Asynchronous Task-Based Runtimes
    Muthu Baskaran Reservoir Labs, Inc [slides]
    Abstract

    Asynchronous task-based programming has become a popular parallel programming model, offering advantages such as better extraction of available parallelism, dynamic load balancing, and improved scalability. For productivity, performance, and code sustainability reasons, there is an increasing demand for auto-parallelizing and optimizing compilers to generate code using task-based models. In this talk, we present our work that delivers an end-to-end path for optimization and code generation for asynchronous task-based systems using R-Stream, an auto-parallelizing polyhedral compiler. We also discuss the key aspects of our compiler to generate task-based parallelism and data management for a broader class of task-based runtimes that includes (but not limited to) Legion, Kokkos, OpenMP, and PaRSEC. We give an overview of the benefits of our compiler support that provides improved developer productivity and application performance.

    Bio

    Dr. Muthu Baskaran, Fellow and Managing Engineer at Reservoir Labs, is an expert in compilers and high-performance computing (HPC). He is one of the principal leads of Reservoir Labs' R-Stream compiler. He has been developing advanced compiler techniques for modern high-performance parallel systems, Exascale systems, and low-power embedded systems. He is the primary inventor of several patented/patent-pending techniques in R-Stream. His work has been published in several top-tier peer-reviewed conferences and journals. He has also served in the Technical and Program Committees of several top-tier HPC conferences and forums. He has won Best Paper Awards at IEEE HPEC Conference for his innovative work on high-performance optimizations.

    10:15 AM - 10:40 AM
    Portable and Ordinal Memory Complexity Analyses through Data Movement Distance
    Wesley Smith and Chen Ding
    University of Rochester [slides]
    10:40 AM - 11:05 AM
    PLUSS: Parallel Locality analysis using Static Sampling
    Fangzhou Liu, Dong Chen, Wesley Smith, and Chen Ding
    University of Rochester [slides]
    11:05 AM - 11:30 AM
    Tree Traversals in Dynamic CnC Applications
    Srdjan Milakovic and Zoran Budimlic
    Rice University [slides]
    11:30 AM - 11:55 AM
    “Where should I start for Parallelization?” - A Graph Neural Network Based Parallelism Detection Approach
    Le Chen and Ali Jannesari
    Iowa State University [slides]

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:
https://icnc.github.io
      and
https://habanero.rice.edu/cnc
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 bosilca@icl.utk.edu and mjavanmard@cs.stonybrook.edu.

CnC Workshop Sponsors


Last updated: Oct 28, 2021