1
- ## PaSh: Light-touch Data-Parallel Shell Processing
1
+ ## SPLaSh: Scaling Out Shell Scripts on Serverless Platforms
2
2
3
- > _ A system for parallelizing POSIX shell scripts._
4
- > _ Hosted by the [ Linux Foundation] ( https://linuxfoundation.org/press-release/linux-foundation-to-host-the-pash-project-accelerating-shell-scripting-with-automated-parallelization-for-industrial-use-cases/ ) ._
3
+ > _ A system for deploying POSIX shell scripts to serverless._
5
4
5
+ ## Running SPLaSh
6
6
7
- | Service | Main | Develop |
8
- | :--- | :----: | :----: |
9
- | Tests | [ ![ Tests] ( https://github.com/binpash/pash/actions/workflows/tests.yaml/badge.svg?branch=main&event=push )] ( https://github.com/binpash/pash/actions/workflows/tests.yaml?query=branch%3Amain++ ) | [ ![ Tests] ( https://github.com/binpash/pash/actions/workflows/tests.yaml/badge.svg?branch=future&event=push )] ( https://github.com/binpash/pash/actions/workflows/tests.yaml?query=branch%3Afuture++ ) |
10
- | Build | [ ![ Build] ( https://github.com/binpash/pash/actions/workflows/build.yaml/badge.svg?branch=main&event=push )] ( https://github.com/binpash/pash/actions/workflows/build.yaml?query=branch%3Amain++ ) | [ ![ Build] ( https://github.com/binpash/pash/actions/workflows/build.yaml/badge.svg?branch=future&event=push )] ( https://github.com/binpash/pash/actions/workflows/build.yaml?query=branch%3Afuture++ ) |
11
- | Pages | [ ![ DeployPublish] ( https://github.com/binpash/web/actions/workflows/pages.yaml/badge.svg )] ( https://github.com/binpash/web/actions/workflows/pages.yaml ) | [ ![ DeployPublish] ( https://github.com/binpash/web/actions/workflows/pages.yaml/badge.svg )] ( https://github.com/binpash/web/actions/workflows/pages.yaml ) |
12
-
13
-
14
- Quick Jump: [ Running PaSh] ( #running-pash ) | [ Installation] ( #installation ) | [ Testing] ( #testing ) | [ Repo Structure] ( #repo-structure ) | [ Community & More] ( #community--more ) | [ Citing] ( #citing )
15
-
16
- ## Running PaSh
17
-
18
- To parallelize, say, ` ./evaluation/intro/hello-world.sh ` with parallelization degree of 2× run:
7
+ To parallelize, say, ` ./evaluation/intro/hello-world.sh ` with a parallelization degree of 2× run:
19
8
20
9
``` sh
21
- ./pa.sh ./evaluation/intro/hello-world.sh
10
+ ./pa.sh --serverless_exec -w 2 ./evaluation/intro/hello-world.sh
22
11
```
23
12
24
13
Run ` ./pa.sh --help ` to get more information about the available commands.
25
- Jump to [ docs/tutorial] ( docs/tutorial/ ) for a longer tutorial.
26
14
27
15
## Installation
28
16
29
- On Ubuntu, Fedora, and Debian run the following to set up PaSh .
17
+ On Ubuntu, Fedora, and Debian, run the following to set up SPLaSh .
30
18
``` sh
31
19
wget https://raw.githubusercontent.com/binpash/pash/main/scripts/up.sh
32
20
sh up.sh
@@ -39,12 +27,12 @@ For more details, manual installation, or other platforms see [installation inst
39
27
40
28
## Repo Structure
41
29
42
- This repo hosts the core ` pash ` development . The structure is as follows:
30
+ This repo is a frozen version of ` splash ` . For the most up-to-date version, visit https://github.com/binpash/pash . The structure is as follows:
43
31
44
- * [ compiler] ( ./compiler ) : Shell-dataflow translations and associated parallelization transformations.
32
+ * [ compiler] ( ./compiler ) : Shell-dataflow translations, associated parallelization transformations, and serverless transformations/primitives .
45
33
* [ docs] ( ./docs ) : Design documents, tutorials, installation instructions, etc.
46
34
* [ evaluation] ( ./evaluation ) : Shell pipelines and example [ scripts] ( ./evaluation/other/more-scripts ) used for the evaluation.
47
- * [ runtime] ( ./runtime ) : Runtime component — e.g., ` eager ` , ` split ` , and associated combiners .
35
+ * [ runtime] ( ./runtime ) : Runtime components for the shell— e.g., ` eager ` , ` split ` — and serverless execution—e.g., ` invoke-lambda ` , ` send-object ` .
48
36
* [ scripts] ( ./scripts ) : Scripts related to continuous integration, deployment, and testing.
49
37
50
38
## Community & More
@@ -59,24 +47,3 @@ Mailing Lists:
59
47
Development/contributions:
60
48
* Contribution guide: [ docs/contributing] ( docs/contributing/contrib.md )
61
49
* Continuous Integration Server: [ ci.binpa.sh] ( http://ci.binpa.sh )
62
-
63
- ## Citing
64
-
65
- If you used PaSh, consider citing the following paper:
66
- ```
67
- @inproceedings{pash2021eurosys,
68
- author = {Vasilakis, Nikos and Kallas, Konstantinos and Mamouras, Konstantinos and Benetopoulos, Achilles and Cvetkovi\'{c}, Lazar},
69
- title = {PaSh: Light-Touch Data-Parallel Shell Processing},
70
- year = {2021},
71
- isbn = {9781450383349},
72
- publisher = {Association for Computing Machinery},
73
- address = {New York, NY, USA},
74
- url = {https://doi.org/10.1145/3447786.3456228},
75
- doi = {10.1145/3447786.3456228},
76
- pages = {49–66},
77
- numpages = {18},
78
- keywords = {POSIX, Unix, pipelines, automatic parallelization, source-to-source compiler, shell},
79
- location = {Online Event, United Kingdom},
80
- series = {EuroSys '21}
81
- }
82
- ```
0 commit comments