Practically Correct, Just-in-Time Shell Script Parallelization
Konstantinos Kallas, Tammam Mustafa, Jan Bielak, Dimitris Karnikis, Thurston H. Y. Dang, Michael Greenberg, Nikos Vasilakis
摘要
Recent shell-script parallelization systems enjoy mostly automated speedups by parallelizing scripts ahead-of-time. Unfortunately, such static parallelization is hampered by dynamic behavior pervasive in shell scripts-e.g., variable expansion and command substitution-which often requires reasoning about the current state of the shell and filesystem.
We present a just-in-time (JIT) shell-script compiler, PASH-JIT, that intermixes evaluation and parallelization during a script's run-time execution. JIT parallelization collects runtime information about the system's state, but must not alter the behavior of the original script and must maintain minimal overhead. PASH-JIT addresses these challenges by (1) using a dynamic interposition framework, guided by a static preprocessing pass, (2) developing runtime support for transparently pausing and resuming shell execution; and (3) operating as a stateful server, communicating with the current shell by passing messages-all without requiring modifications to the system's underlying shell interpreter.
When run on a wide variety of benchmarks, including the POSIX shell test suite, PASH-JIT (1) does not break scripts, even in cases that are likely to break shells in widespread use; and (2) offers significant speedups, whenever parallelization is possible. These results show that PASH-JIT can be used as a drop-in replacement for any non-interactive shell use, providing significant speedups without any risk of breakage.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper8
- The Koala Benchmarks for the Shell: Characterization and ImplicationsEvangelos Lamprou, Ethan Williams, Georgios Kaoukis, Zhuoxuan Zhang 等USENIX ATC 2025 · 被引用 12 次
- DiSh: Dynamic Shell-Script DistributionTammam Mustafa, Konstantinos Kallas, Pratyush Das, Nikos VasilakisNSDI 2023 · 被引用 11 次
- SysXCHG: Refining Privilege with Adaptive System Call FiltersAlexander J. Gaidis, Vaggelis Atlidakis, Vasileios P. KemerlisCCS 2023 · 被引用 9 次
- Controlling Opaque-Component Effects with Semisolates and TryEvangelos Lamprou, Tianyu (Ezri) Zhu, Di Jin, Grigoris Ntousakis 等OSDI 2026 · 被引用 4 次
- Incr: Faster Re-Execution via Bolt-On IncrementalizationYizheng Xie, Evangelos Lamprou, Jerry Xia, Nikos VasilakisOSDI 2026 · 被引用 4 次
它引用的顶会 Paper4
- POSH: A Data-Aware ShellDeepti Raghavan, Sadjad Fouladi, Philip Alexander Levis, Matei ZahariaUSENIX ATC 2020 · 被引用 33 次
- Preventing Dynamic Library Compromise on Node.js via RWX-Based Privilege ReductionNikos Vasilakis, Cristian-Alexandru Staicu, Grigoris Ntousakis, Konstantinos Kallas 等CCS 2021 · 被引用 27 次
- Perspective: A Sensible Approach to Speculative Automatic ParallelizationSotiris Apostolakis, Ziyang Xu, Greg Chan, Simone Campanoni 等ASPLOS 2020 · 被引用 19 次
- PaSh: light-touch data-parallel shell processingNikos Vasilakis, Konstantinos Kallas, Konstantinos Mamouras, Achilles Benetopoulos 等EuroSys 2021 · 被引用 12 次
相关 Paper
- hS: Speculative Script Reordering at Subprocess GranularityGeorgios Liargkovas, Di Jin, Tianyu (Ezri) Zhu, Dan Liu 等OSDI 2026 · 被引用 3 次
- Partial Evaluation, Whole-Program CompilationChris Fallin, Maxwell BernsteinPLDI 2025 · 被引用 1 次
- Ahead-of-Time Analysis of Shell Program EffectsLukas Lazarek, Evangelos Lamprou, George Kapetanakis, Anirudh Narsipur 等SOSP 2026
- Executable formal semantics for the POSIX shellMichael Greenberg, Austin J. BlattPOPL 2020 · 被引用 21 次
- Automatic Parallelism ManagementSam Westrick, Matthew Fluet, Mike Rainey, Umut A. AcarPOPL 2024 · 被引用 7 次
