Efficient Tree-Traversals: Reconciling Parallelism and Dense Data Representations

07/01/2021
by   Chaitanya Koparkar, et al.
0

Recent work showed that compiling functional programs to use dense, serialized memory representations for recursive algebraic datatypes can yield significant constant-factor speedups for sequential programs. But serializing data in a maximally dense format consequently serializes the processing of that data, yielding a tension between density and parallelism. This paper shows that a disciplined, practical compromise is possible. We present Parallel Gibbon, a compiler that obtains the benefits of dense data formats and parallelism. We formalize the semantics of the parallel location calculus underpinning this novel implementation strategy, and show that it is type-safe. Parallel Gibbon exceeds the parallel performance of existing compilers for purely functional programs that use recursive algebraic datatypes, including, notably, abstract-syntax-tree traversals as in compilers.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/06/2020

Responsive Parallelism with Futures and State

Motivated by the increasing shift to multicore computers, recent work ha...
research
08/29/2019

TapirXLA: Embedding Fork-Join Parallelism into the XLA Compiler in TensorFlow Using Tapir

This work introduces TapirXLA, a replacement for TensorFlow's XLA compil...
research
12/31/2017

A Light Modality for Recursion

We investigate the interplay between a modality for controlling the beha...
research
10/03/2019

Types for Parallel Complexity in the Pi-calculus

Type systems as a way to control or analyze programs have been largely s...
research
05/15/2023

A Direct-Style Effect Notation for Sequential and Parallel Programs

Modeling sequential and parallel composition of effectful computations h...
research
12/31/2017

Two Light Modalities for Recursion

We investigate the interplay between two modalities for controlling the ...
research
12/31/2020

An Order-aware Dataflow Model for Extracting Shell Script Parallelism

We present a dataflow model for extracting data parallelism latent in Un...

Please sign up or login with your details

Forgot password? Click here to reset