Skip to content

Commit

Permalink
Updates docs and installing anna script to use Python3 (#29)
Browse files Browse the repository at this point in the history
- Includes instructions on how to install the common submodule and use the prepackaged scripts to install `protoc`
  • Loading branch information
briantliao authored Mar 7, 2020
1 parent 1aedf70 commit d736116
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ Cloudburst is a low-latency, stateful serverless programming framework built on
You can install Cloudburst's dependencies with `pip` and use the bash scripts included in this repository to run the system locally. You can find the Cloudburst client in `cloudburst/client/client.py`. Full documentation on starting a cluster in local mode can be found [here](docs/local-mode.md); documentation for the Cloudburst client can be found [here](docs/function-execution.md). An example interaction is modeled below.

```bash
$ pip install -r requirements.txt
$ ./scripts/start-cloudburst-local.sh
$ pip3 install -r requirements.txt
$ ./scripts/start-cloudburst-local.sh n n
...
$ ./scripts/stop-cloudburst-local.sh
$ ./scripts/stop-cloudburst-local.sh n
```

The `CloudburstConnection` is the main client interface; when running in local mode, all interaction between the client and server happens on `localhost`. Users can register functions and execute them. The executions return `CloudburstFuture`s, which can be retrieved asynchronously via the `get` method. Users can also register DAGs (directed, acylic graphs) of functions, where results from one function will be passed to downstream functions.
Expand Down
4 changes: 3 additions & 1 deletion docs/local-mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,12 @@ In order to run Cloudburst, whether in local mode or in [cluster mode](https://g

## Prerequisites

Cloudburst currently only supports Python3. To install Python dependencies, simply run `pip install -r requirements.txt` from the Cloudburst source directory.
Cloudburst currently only supports Python3. To install Python dependencies, simply run `pip3 install -r requirements.txt` from the Cloudburst source directory.

Before running Cloudburst, we need to compile its Protobufs locally to generate the Python dependency files. `scripts/build.sh` automatically does this for you and installs them in the correct location, but it requires having the `protoc` tool installed. If you need to remove the locally compiled protobufs, you can run `bash scripts/clean.sh`.

Prepackaged scripts to install dependencies such as `protoc` on Fedora, Debian, and macOS can be found in `common/scripts/install-dependencies(-osx).sh`. To install the common submodule run `git submodule update --init --recursive`.

Finally, Cloudburst requires access to the Anna Python client, which is in the Anna KVS repository. A default script to clone the Anna repository and install the client (the client is not currently `pip`-installable) can be found in `scripts/install-anna.sh`. You can customize the installation location by adding the `--prefix` flag to the `setup.py` command.

## Running Cloudburst
Expand Down
2 changes: 1 addition & 1 deletion scripts/install-anna.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@
cd $HOME
git clone --recurse-submodules https://github.com/hydro-project/anna
cd anna/client/python
python setup.py install
python3 setup.py install
cd $HOME
rm -rf anna

0 comments on commit d736116

Please sign in to comment.