There are four main components to launch.
- OpenWhisk with ALAP's Scheduler
- ALAP's Resource Allocator
- MinIO database (equivalent of S3, open-source)
- ALAP's daemon.
We provide steps for each below.
The following should be run on the controller node.
- Update
alap/config.yaml. Ensure you provide the file the controller's private IP and floating point IP. For the workers, use their floating point IP. - Ensure all nodes are connected via ssh with authentication key -- no password should be required. You can use the script we've provided in
alap/scripts/lachesis/connect-servers.shto do this automatically. - Update `openwhisk-3.0/ansible/environments/local/hosts.j2.ini
- Run
alap/lachesis/setup-workers.sh 0to copy installation scripts across all servers that will be workers in the setup - Run
alap/lachesis/setup-workers.sh 1to install packages across across servers that will be workers in the setup - Run
alap/ow-scripts/wsk-setup.shto install packages and build OpenWhisk on the controller node (where OpenWhisks's Conroller and ALAP's Scheduler sit) - Run
alap/ow-scripts/wsk-deploy.shto deploy OpenWhisk across the distributred setup - Run
alap/ow-scripts/wsk-cli-setup.shto deploy OpenWhisk's cli with our additions (specficying the number of CPU cores to allocate directly)
The following should be done on the controller node
- Run
pip3 install -r alap/requirements.txt - Run
alap/scripts/lachesis/install-grpc.sh - Run
ala/scripts/lachesis/install-vw.sh - Run
sudo apt install vowpal-wabbit.sh - Run
python3 alap/src/alap-controller.py. This is a gRPC-based controller that is now ready to listen to gRPC requests and run functions.
The MinIO database sits on the controller node. The following should be done on the controller node.
- Update
alap/benchmarks/minio/make-minio-config.pyto add the private IP of the controller node. - Run
python3 alap/benchmarks/minio/make-minio-config.pyto create config file for MinIO. - Get function inputs we use from Box: https://utexas.app.box.com/file/1360171127447?s=kev55un7ptl3hjoahdgkafv4x63depmq. Place them in
alap/benchmarks/minio-data - Run
python3 alap/benchmarks/minio/setup-minio.pyto launch MinIO and put inputs in the MinIO database.
The following should be done on the controller node.
- Run
alap/lachesis/setup-workers.sh 2to launch the daemons on each worker node. - To clean up the daemon on each worker node, run
alap/lachesis/setup-workers.sh 3.