Region inference is a type-based program analysis that takes a non-annotated program as input and constructs a program that explicitly manages memory allocation and deallocation by dividing the heap into a stack of regions, each of which can grow and shrink independently from other regions, using constant-time operations.
Whereas region-based memory management has shown useful in the contexts of explicit region-based memory management, and in particular, in combination with parallel execution of code, combining region inference with techniques for higher-order parallel programming has not been investigated.
In this paper, we present an implementation of a fork-join parallel construct suitable for a compiler based on region inference. We present a minimal higher-order language incorporating the parallel construct, including typing rules and a dynamic semantics for the language, and demonstrate type soundness. We present a novel effect-based region-protection inference algorithm and discuss benefits and shortcomings of the approach. We also describe an efficient implementation embedded in the MLKit Standard ML compiler. Finally, we evaluate the approach and the implementation based on a number of parallel benchmarks, and thereby demonstrate that the technique effectively utilises multi-core architectures in a higher-order functional setting.
Mon 19 JunDisplayed time zone: Eastern Time (US & Canada) change
16:00 - 18:00 | PLDI: Concurrency & ParallelismPLDI Research Papers at Cypress 2 Chair(s): Calin Cascaval Google Research | ||
16:00 20mTalk | Type-Checking CRDT Convergence PLDI Research Papers George Zakhour University of St.Gallen, Pascal Weisenburger University of St. Gallen, Guido Salvaneschi University of St. Gallen DOI Pre-print | ||
16:20 20mTalk | Reliable Actors with Retry Orchestration PLDI Research Papers Olivier Tardieu IBM Research, David Grove IBM Research, Gheorghe-Teodor Bercea IBM Research, Paul Castro IBM Research, Jaroslaw Cwiklik IBM Research, Edward Epstein IBM Research DOI | ||
16:40 20mTalk | Dynamic Partial Order Reduction for Checking Correctness Against Transaction Isolation Levels PLDI Research Papers Ahmed Bouajjani IRIF, Université Paris Diderot, Constantin Enea LIX, CNRS, Ecole Polytechnique, Enrique Román-Calvo Université Paris Cité - CNRS - IRIF DOI | ||
17:00 20mTalk | Responsive Parallelism with Synchronization PLDI Research Papers Stefan K. Muller Illinois Institute of Technology, Kyle Singer Washington University in St. Louis, USA, Devyn Terra Keeney Illinois Institute of Technology, Andrew Neth Illinois Institute of Technology, Kunal Agrawal Washington University in St. Louis, USA, I-Ting Angelina Lee Washington University in St. Louis, USA, Umut A. Acar Carnegie Mellon University DOI | ||
17:20 20mTalk | Parallelism in a Region Inference Context PLDI Research Papers DOI | ||
17:40 20mTalk | Performal: Formal Verification of Latency Properties for Distributed Systems PLDI Research Papers Nuda Zhang University of Michigan, Upamanyu Sharma Massachusetts Institute of Technology, Manos Kapritsos University of Michigan, USA DOI |