Write a Blog >>
POPL 2021
Sun 17 - Fri 22 January 2021 Online

This paper introduces PaSh, a new shell that exposes data parallelism in POSIX shell scripts. To achieve that, PaSh includes: (i) an order-aware dataflow model that captures a subset of the shell and accompanying parallelizing transformations that we have proven to be correct, (ii) a lightweight annotation language for shell commands that captures their important parallelizability properties, and (iii) a just-in-time compilation framework that allows for effective compilation despite the dynamic nature of the shell. A preliminary evaluation of PaSh on 40 unmodified \unix scripts shows significant speedups (0.890.89–15.81\times15.81×, avg: 6.56\times6.56×).