We present Parcas, a concurrent separation logic for verifying the parallel time complexity of fork-join programs. In order to abstract from the specifics of the machine, time complexity for parallel programs is given in terms of two metrics: the work, measuring the total number of operations, and the span, measuring the longest chain of sequential dependencies. Together, these two metrics determine the running time on any number of processors. For proving bounds on the work and span, Parcas is equipped with work credits and span credits, logical devices that represent permissions to incur costs.

Work credits are a straightforward adaptation of time credits, a standard tool for bounding time complexity of sequential programs, and can be split additively between parallel tasks. Span credits, however, require a fundamentally different treatment. Indeed, the span of the parallel composition of two tasks is the maximum of the span of the two tasks. To account for this, we propose a rule for duplicating span credits at fork points, with each copy tagged by a logical task identifier that restricts which task may spend them. A transfer rule allows unused span credits to be forwarded across sequential compositions to subsequent tasks. The logic is expressive enough to give modular, higher-order specifications for common parallel primitives such as a parallel for loop and a tabulate function. We demonstrate Parcas on several case studies, including parallel prefix sums, parallel merge sort, and a variant of Treiber’s lock-free stack that mixes concurrency with parallelism. All the presented results are mechanized in the Rocq prover using the Iris separation logic framework.

Tue 25 Aug

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

13:30 - 15:00
Memory Models, Garbage Collection, and ConcurrencyICFP Papers at IP126 Auditorium
Chair(s): Mae Milano Princeton University
13:30
18m
Talk
Tail Modulo Async-AwaitRemote
ICFP Papers
Emma Nardino École Normale Supérieure de Lyon / LIP, Ludovic Henrio University of Lyon - ENS Lyon - UCBL - CNRS - Inria - LIP, Gabriel Radanne Inria, Yannick Zakowski Inria
DOI Pre-print File Attached
13:48
18m
Talk
Set-Theoretic Types for Erlang in PracticeRemote
ICFP Papers
Albert Schimpf University of Kaiserslautern-Landau, Annette Bieniusa RPTU Kaiserslautern-Landau
DOI
14:06
18m
Talk
Mode Crossing
ICFP Papers
Benjamin Peters MPI-SWS, Jules Jacobs Jane Street, Diana Kalinichenko Jane Street, Liam Stevenson Jane Street, Aspen Smith Jane Street, Derek Dreyer MPI-SWS, Richard A. Eisenberg Jane Street
DOI
14:24
18m
Talk
A Separation Logic for Parallel Time Complexity with Work and Span Credits
ICFP Papers
Alexandre Moine New York University, Sam Westrick New York University, Joseph Tassarotti New York University
DOI Pre-print
14:42
18m
Talk
LoCalMem: Type-Directed Adaptive Serialization for Location- and Content-Addressable Memory
ICFP Papers
Michael Rainey Carnegie Mellon University, Michael Borkowski Purdue University, Michael Vollmer University of Kent, Chaitanya S. Koparkar Indiana University, Mikah Kainen Purdue University, Vidush Singhal Purdue University
DOI Pre-print