-
Notifications
You must be signed in to change notification settings - Fork 10
vHive Benchmarking
Theodor Amariucai edited this page Feb 25, 2021
·
12 revisions
- For the basic setup, please run:
git clone --single-branch --branch deployment https://github.com/ease-lab/vhive-bench.git
cd vhive-bench
bash initialize_machine.sh
- Data transfer functions then need to be deployed to vHive:
- Save the following in
prod-cons.yaml
:
cat > prod-cons.yaml <<- EOM
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
namespace: default
spec:
template:
spec:
containers:
- image: crccheck/hello-world:latest # Stub image. See https://github.com/ease-lab/vhive/issues/68
ports:
- name: h2c # For GRPC support
containerPort: 50051
env:
- name: GUEST_PORT # Port on which the firecracker-containerd container is accepting requests
value: "50051"
- name: GUEST_IMAGE # Container image to use for firecracker-containerd container
value: "vhiveease/vhive-bench:latest"
EOM
- Start the VMs:
kn service apply producer -f prod-cons.yaml --concurrency-target 1 --scale=1
kn service apply consumer -f prod-cons.yaml --concurrency-target 1 --scale=1
- Benchmarking:
-
vHive inline data transfers:
sudo ./main -o latency-samples -g endpoints -c experiments/data-transfer/inline/vhive/quick-warm-IAT10s.json
-
vHive storage data transfers:
- Create K8s minio storage:
sudo mkdir -p /minio-storage
cd ~/vhive/configs/storage/minio
MINIO_NODE_NAME=$HOSTNAME MINIO_PATH=/minio-storage envsubst < pv.yaml | kubectl apply -f -
kubectl apply -f pv-claim.yaml
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
* Create K8s minio bucket:
* Create K8s minio bucket:
sudo ./main -o latency-samples -g endpoints -c experiments/data-transfer/storage/vhive-minio/quick-warm-IAT10s.json