POSH: A Data-Aware Shell
POSH: A Data-Aware Shell
复制标题
DOI:
--
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Deepti Raghavan;Sadjad Fouladi;P. Levis;M. Zaharia
中科院分区:
文献类型:
--
作者:
Deepti Raghavan;Sadjad Fouladi;P. Levis;M. Zaharia
We present P OSH , a framework that accelerates shell applications withI/O-heavycomponents,suchas data analytics with command-line utilities. Remote storage such as networked filesystems can severely limit the performance of these applications: data makes a round trip over the network for relatively little computation at the client. Reducing the data movement by moving the code to the data can improve performance. P OSH automatically optimizes unmodified I/O-intensive shell applications running over remote storage by offloading the I/O-intensive portions to proxy servers closer to the data. A proxy can run directly on a storage server, or on a machine closer to the storage layer than the client. P OSH intercepts shell pipelines and uses metadata called annotations to decide where to run each command within the pipeline. We address three principal challenges that arise: an annotation language that allows P OSH to understand which files a command will access, a scheduling algorithm that places commands to minimize data movement, and a system runtime to execute a distributed schedule but retain local semantics. We benchmark P OSH on real shell pipelines such as image processing, network security analysis, log analysis, distributed system debugging, and git . We find that P OSH provides speedups ranging from 1.6 × to 15 × compared to NFS, without requiring any modifications to the applications.