There is a newer version of the record available.

Published May 21, 2021 | Version v4
Software Open

Artifact for "Efficient Tree-Traversals: Reconciling Parallelism and Dense Data Representations"

  • 1. Indiana University
  • 2. Carnegie Mellon University
  • 3. University of Kent
  • 4. Purdue University
  • 5. Facebook

Description

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.

Files

README.md

Files (1.7 GB)

Name Size Download all
md5:8b3628f053c7efcad4c6add354522e2a
38.8 MB Download
md5:5ac7c47cc4e5b024a62193cf718e176c
1.7 GB Download
md5:8ffdab34487b3c6c253102836690ab72
12.3 kB Preview Download