Skip to content

vHive Benchmarking

Theodor Amariucai edited this page Feb 25, 2021 · 12 revisions
  1. 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
  1. 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
  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

Clone this wiki locally