PaSh: light-touch data-parallel shell processing

PaSh: light-touch data-parallel shell processing
复制标题

DOI:
10.1145/3447786.3456228
复制
发表时间:
2020-07
期刊:
Proceedings of the Sixteenth European Conference on Computer Systems
影响因子:
--
通讯作者:
N. Vasilakis;Konstantinos Kallas;Konstantinos Mamouras;Achilleas Benetopoulos;Lazar Cvetkovich
N. Vasilakis;Konstantinos Kallas;Konstantinos Mamouras;Achilleas Benetopoulos;Lazar Cvetkovich
中科院分区:
其他
文献类型:
--
作者:
N. Vasilakis;Konstantinos Kallas;Konstantinos Mamouras;Achilleas Benetopoulos;Lazar Cvetkovich

文献摘要

相似文献

本文介绍了Pash,这是一个并行化Posix Shell脚本的系统,Pash将其转换为DataFlow图,执行一系列语义保护程序转换,以揭示并行性,然后将数据流图转换为脚本 - - 将POSIX构造添加到明确指导并行性,并与Pash提供的Unix-Aware-Aware运行时原始人来解决绩效和正确性相关的问题。 POSIX和GNU命令---两个大型且常用的组---指导Pash使用的注释语言和优化的聚合库。 ×)源于其程序转换和运行时原始人的组合。
This paper presents PaSh, a system for parallelizing POSIX shell scripts. Given a script, PaSh converts it to a dataflow graph, performs a series of semantics-preserving program transformations that expose parallelism, and then converts the dataflow graph back into a script---one that adds POSIX constructs to explicitly guide parallelism coupled with PaSh-provided Unix-aware runtime primitives for addressing performance- and correctness-related issues. A lightweight annotation language allows command developers to express key parallelizability properties about their commands. An accompanying parallelizability study of POSIX and GNU commands---two large and commonly used groups---guides the annotation language and optimized aggregator library that PaSh uses. PaSh's extensive evaluation over 44 unmodified Unix scripts shows significant speedups (0.89--61.1×, avg: 6.7×) stemming from the combination of its program transformations and runtime primitives.