PPoPP 2023
Sat 25 February - Wed 1 March 2023 Montreal, Canada
Tue 28 Feb 2023 10:00 - 10:20 at Montreal 4 - Session 4: Parallelism Chair(s): Gagan Agrawal

This paper presents OpenCilk, an open-source software infrastructure for task-parallel programming that allows for substantial code reuse and easy exploration of design choices in language abstraction, compilation strategy, runtime mechanism, and productivity-tool development.

The OpenCilk infrastructure consists of three main components: a compiler designed to compile fork-join task-parallel code, an efficient work-stealing runtime scheduler, and a productivity-tool development framework based on compiler instrumentation designed for fork-join parallel computations. OpenCilk is \emph{modular} — modifying one component for the most part does not necessitate modifications to the other components — and \emph{easy to extend} — its construction naturally encourages code reuse. Despite being modular and easy to extend, OpenCilk produces \emph{high-performing} code.

We investigated OpenCilk’s modularity and extensibility through several case studies, including a study to extend OpenCilk to support multiple runtime systems, including Cilk Plus, OpenMP, and oneTBB. OpenCilk’s design enables quick prototyping of new compiler back ends to target different parallel-runtime ABIs. Each back end required fewer than 2000 new lines of code. To demonstrate OpenCilk’s performance, we empirically evaluated the OpenCilk runtime and found that, on 15 benchmark Cilk programs, it outperforms the other runtimes by a geometric mean of $4%$–$26%$ on 1 core and $10%$–$120%$ on 48 cores.

Tue 28 Feb

Displayed time zone: Eastern Time (US & Canada) change

10:00 - 11:40
Session 4: ParallelismMain Conference at Montreal 4
Chair(s): Gagan Agrawal The Ohio State University
10:00
20m
Talk
OpenCilk: A Modular and Extensible Software Infrastructure for Fast Task-Parallel Code
Main Conference
TB Schardl MIT CSAIL, I-Ting Angelina Lee Washington University in St. Louis, USA
10:20
20m
Talk
Merchandiser: Data Placement on Heterogeneous Memory for Task-Parallel HPC Applications with Load-Balance Awareness
Main Conference
Zhen Xie Argonne National Laboratory, Jie Liu University of California, Merced, Jiajia Li North Carolina State University, Dong Li University of California, Merced
10:40
20m
Talk
Visibility Algorithms for Dynamic Dependence Analysis and Distributed Coherence
Main Conference
Michael Bauer NVIDIA, Elliott Slaughter SLAC National Accelerator Laboratory, Sean Treichler NVIDIA, Wonchan Lee NVIDIA, Michael Garland NVIDIA, Alex Aiken Stanford University
11:00
20m
Talk
Block-STM: Scaling Blockchain Execution by Turning Ordering Curse to a Performance Blessing
Main Conference
Rati Gelashvili Aptos, Alexander Spiegelman Aptos, Zhuolun Xiang Aptos, George Danezis Mysten Labs & University College London, Zekun Li Aptos, Dahlia Malkhi Chainlink Labs, Yu Xia MIT, Runtian Zhou Aptos
11:20
20m
Talk
TL4x - Buffered Durable Transactions on Disk as Fast as in Memory
Main Conference
Gal Assa Technion, Andreia Correia University of Neuchâtel, Pedro Ramalhete Cisco Systems, Valerio Schiavoni University of Neuchatel, Pascal Felber University of Neuchâtel