From 48ecc17b82eac7af6d4abcc2d1dff30209a3932c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lazar=20Cvetkovi=C4=87?= Date: Tue, 20 Aug 2024 17:25:40 +0200 Subject: [PATCH] Final artifact evaluation scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lazar Cvetković --- artifact_evaluation/.gitignore | 3 ++- artifact_evaluation/README.md | 22 +++++++----------- .../azure_500/dirigent/.gitignore | 4 ++-- .../azure_500/dirigent/INSTRUCTIONS.md | 10 ++++---- .../azure_500_firecracker/dirigent.csv | 3 --- .../azure_500_firecracker/durations.csv | 3 --- .../azure_500_firecracker/invocations.csv | 3 --- .../dirigent/azure_500_firecracker/memory.csv | 3 --- .../cold_start_sweep/dirigent/.gitignore | 4 ++-- .../cold_start_sweep/dirigent/INSTRUCTIONS.md | 6 ++--- .../azure_500_per_function_slowdown.png | Bin 0 -> 28105 bytes .../azure_500_scheduling_latency.png | Bin 0 -> 42775 bytes .../sample_results/cold_start_sweep.png | Bin 0 -> 37170 bytes scripts/remote_install.sh | 3 +-- 14 files changed, 23 insertions(+), 41 deletions(-) delete mode 100755 artifact_evaluation/azure_500/dirigent/azure_500_firecracker/dirigent.csv delete mode 100755 artifact_evaluation/azure_500/dirigent/azure_500_firecracker/durations.csv delete mode 100755 artifact_evaluation/azure_500/dirigent/azure_500_firecracker/invocations.csv delete mode 100755 artifact_evaluation/azure_500/dirigent/azure_500_firecracker/memory.csv create mode 100644 artifact_evaluation/sample_results/azure_500_per_function_slowdown.png create mode 100644 artifact_evaluation/sample_results/azure_500_scheduling_latency.png create mode 100644 artifact_evaluation/sample_results/cold_start_sweep.png diff --git a/artifact_evaluation/.gitignore b/artifact_evaluation/.gitignore index aab52d9..52daffb 100644 --- a/artifact_evaluation/.gitignore +++ b/artifact_evaluation/.gitignore @@ -1 +1,2 @@ -*.png \ No newline at end of file +*.png +!sample_results/*.png \ No newline at end of file diff --git a/artifact_evaluation/README.md b/artifact_evaluation/README.md index 8ec18e7..b1a89ab 100755 --- a/artifact_evaluation/README.md +++ b/artifact_evaluation/README.md @@ -1,11 +1,11 @@ ## Dirigent Artifact Evaluation Instructions -The following experiments aim to repeat results from Figures 7, 9, and 10, i.e., main results from sections 5.3 and 5.2.1, which constitute the biggest contribution of the paper. +The following experiments aim to repeat results from Figures 7, 9, and 10, i.e., main results from sections 5.3 and 5.2.1, which constitute the biggest contribution of the paper. We chose not to describe Firecracker experiments as they are very complicated and time-consuming. -Time burden: We expect you will need at most a day of active work to run all the experiments. +Time burden: We expect you will need at 3-5 hours to run the experiments we describe below. Prerequisites: -- Cloudlab cluster of at least 20 xl170 machines instantiated using `maestro_sosp24ae` Cloudlab profile (`https://www.cloudlab.us/p/faas-sched/maestro_sosp24ae`). +- Cloudlab cluster of at least 20 xl170 machines instantiated using `maestro_sosp24ae` Cloudlab profile (`https://www.cloudlab.us/p/faas-sched/maestro_sosp24ae`). We recommend using a 27-node cluster. - Chrome Cloudlab extension - install from https://github.com/eth-easl/cloudlab_extension Order of experiments to run experiments: @@ -17,12 +17,6 @@ Order of experiments to run experiments: - **Reload the cluster through Cloudlab interface** -- Cold start sweep - Firecracker (instructions in `cold_start_sweep/dirigent`) -- Azure 500 - Firecracker (instructions in `azure_500/dirigent`) -- **Plot the data and verify** (run `run_plotting_scripts.sh`) -- **Reload the cluster through Cloudlab interface** - - - Azure 500 - Knative/K8s (instructions in `azure_500/knative`) - Cold start sweep - Knative/K8s (instructions in `cold_start_sweep/knative`) - **Plot the data and verify** (run `run_plotting_scripts.sh`) @@ -30,14 +24,13 @@ Order of experiments to run experiments: Notes: - For simplicity and because we cannot guarantee artifact evaluators a huge Cloudlab cluster, we will be running all experiments in mode where Dirigent and Knative/K8s components are not replicated. We also ran experiment in an environment where components run in high-availability mode, but we did not notice significant performance differences. Our deployment scripts put load generator on `node0`, control plane on `node1`, data plane on `node2`, whereas all the other nodes serve as worker nodes. - All the plotting scripts are configured to work out of the box provided you placed experiment results in correct folders. -- For Firecracker experiments on Cloudlab, we noticed some disk operation delays while creating Firecracker snapshots. First 10 minutes of experiments on a new cluster may experience a lot of timeouts. You should discard these measurements. The problems resolve after ~10 minutes on their own, assuming snapshots creation was triggered on each node. To make sure a snapshot was created on each node run Firecracker cold start sweep for a couple of minutes. - Traces for the experiments described here are stored on Git LFS. Make sure you pull these files before proceeding further. - Default Cloudlab shell should be `bash`. You can configure when logged in here `https://www.cloudlab.us/myaccount.php`. Instructions to set up a Dirigent cluster: - Make sure the cluster is in a reloaded state, i.e., that neither Dirigent nor Knative is not running. - Clone Dirigent locally (`git clone https://github.com/eth-easl/dirigent.git`) -- Set sandbox runtime (`containerd` or `firecracker`) by editing `WORKER_RUNTIME` in `./scripts/setup.cfg` +- Set sandbox runtime (`containerd`) by editing `WORKER_RUNTIME` in `./scripts/setup.cfg` - Open Cloudlab experiment, open Cloudlab extension, and copy list of all addresses (RAW) using the extension. This puts the list of all nodes in your clipboard in format requested by the scripts below. - Run locally `./scripts/remote_install.sh`. Arguments should be the copied list of addresses from the previous step. For example, `./scripts/remote_install.sh user@node0 user@node1 user@node2`. This script should be executed only once. - Run locally `./scripts/remote_start_cluster.sh user@node0 user@node1 user@node2`. After this step Dirigent cluster should be operational. This script can be executed to restart Dirigent cluster in case you experience issues without reloading the Cloudlab cluster. @@ -50,6 +43,7 @@ Instructions to set up Knative/K8s baseline cluster: - After a couple of minutes, once the script has completed executing, the cluster should be running, and you can ssh into `node0`. Execute `kubectl get pods -A` and verify that installation has completed successfully by checking that all pods are in `Running` or `Completed` state. Results expectation/interpretation: -- Since we cannot guarantee artifact evaluators access to a 100-node cluster over a 2-week artifact evaluation period, there will be some performance degradation than what we show in the paper. - - For cold start sweep, the throughput we show in Figure 7 will be reduced, as worker nodes become the bottleneck. What you should verify is that the cold start throughput conforms to the following inequalities -- `Knative/K8s throughtput << Maestro - containerd throughtput < Maestro - Firecracker throughtput` and `Knative/K8s latency >> Maestro latency`. - - For Azure 500 trace experiments, per-function slowdown of containerd and Firecracker should almost be identical. The workload on Knative/K8s should be worse, and should suffer from a long tail. Per-invocation scheduling latency for Dirigent should be better almost all the time, and the average per-function scheduling latency of Dirigent should be by a couple of orders of magnitude better than with Knative/K8s. +- Since we cannot guarantee artifact evaluators access to a 100-node cluster over a 2-week artifact evaluation period, the performance on the smaller cluster will be slightly degraded. + - For cold start sweep, the throughput we show in Figure 7 will be reduced, as worker nodes become the bottleneck. What you should verify is that the cold start throughput conforms to the following inequalities -- `Knative/K8s throughtput << Dirigent - containerd` and `Knative/K8s latency >> Dirigent - containerd latency`. + - For Azure 500 trace experiments, the workload on Knative/K8s should be worse, and should suffer from a long tail. Per-invocation scheduling latency for Dirigent should be better almost all the time, and the average per-function scheduling latency of Dirigent should be by a couple of orders of magnitude better than with Knative/K8s. + - You can see the results we got on a 17-node cluster in `sample_results` directory. \ No newline at end of file diff --git a/artifact_evaluation/azure_500/dirigent/.gitignore b/artifact_evaluation/azure_500/dirigent/.gitignore index f175cdc..4f8d116 100644 --- a/artifact_evaluation/azure_500/dirigent/.gitignore +++ b/artifact_evaluation/azure_500/dirigent/.gitignore @@ -1,2 +1,2 @@ -results_azure_500 -results_azure_500_firecracker \ No newline at end of file +results_azure_500* +results_azure_500_firecracker* \ No newline at end of file diff --git a/artifact_evaluation/azure_500/dirigent/INSTRUCTIONS.md b/artifact_evaluation/azure_500/dirigent/INSTRUCTIONS.md index 3730920..6efd549 100755 --- a/artifact_evaluation/azure_500/dirigent/INSTRUCTIONS.md +++ b/artifact_evaluation/azure_500/dirigent/INSTRUCTIONS.md @@ -2,16 +2,16 @@ Time required: 10 min to set up environment and 30 min per experiment -Description: This experiment runs the downsampled Azure trace with 500 functions. Instructions for running trace with containerd and Firecracker are the same, except that the cluster is deployed differently, as given in the `README.md` in the main folder of artifact evaluation. For Firecracker, make sure to use the trace with suffix `_firecracker`. We recommend you follow the order of experiments as given in the `README.md`. +Description: This experiment runs the downsampled Azure trace with 500 functions. We recommend you follow the order of experiments as given in the `README.md`. Instructions: - Start Dirigent cluster as per instructions located in the root folder of artifact evaluation instructions. -- On the `node0` execute `mkdir -p ~/invitro/data/traces/azure_500` or `mkdir -p ~/invitro/data/traces/azure_500_firecracker`, depending on which runtime you use. -- Copy traces from this folder to `node0` using `scp azure_500/* user@node0:~/invitro/data/traces/azure_500/` or `scp azure_500_firecracker/* user@node0:~/invitro/data/traces/azure_500_firecracker/`. -- Make sure on `node0` `~/invitro` branch is `rps_mode`. With text editor open `~/invitro/cmd/config_dirigent_trace.json` and change TracePath to match `azure_500` or `azure_500_firecracker`. +- On the `node0` execute `mkdir -p ~/invitro/data/traces/azure_500`. +- Copy traces from this folder to `node0` using `scp azure_500/* user@node0:~/invitro/data/traces/azure_500/`. +- Make sure on `node0` `~/invitro` branch is `rps_mode`. With text editor open `~/invitro/cmd/config_dirigent_trace.json` and change TracePath to match `data/traces/azure_500`. - On your local machine run `./scripts/start_resource_monitoring.sh user@node0 user@node1 user@node2`. - Run the load generator in screen/tmux on `node0` with `cd ~/invitro; go run cmd/loader.go --config cmd/config_dirigent_trace.json`. Wait until the experiment completed (~30 minutes). There should be ~170K invocations, with a negligible failure rate. - Gather experiment results. Make sure you do not overwrite data from the other experiment, and you place results in correct folders. - - Create folders for storing results with `mkdir -p ./artifact_evaluation/azure_500/dirigent/results_azure_500` and `mkdir -p ./artifact_evaluation/azure_500/dirigent/results_azure_500_firecracker` + - Create folders for storing results with `mkdir -p ./artifact_evaluation/azure_500/dirigent/results_azure_500`. - Copy load generator output with `scp user@node0:~/invitro/data/out/experiment_duration_30.csv results_azure_500/` - Copy resource utilization data with `mkdir -p ./artifact_evaluation/azure_500/dirigent/results_azure_500/cpu_mem_usage && ./scripts/collect_resource_monitoring.sh ./artifact_evaluation/azure_500/dirigent/results_azure_500/cpu_mem_usage user@node0 user@node1 user@node2`. diff --git a/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/dirigent.csv b/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/dirigent.csv deleted file mode 100755 index 691736b..0000000 --- a/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/dirigent.csv +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b5019b5dfd80e9905319ef63e42a2c93ced108c24c5dd2dfe5da9e715c008329 -size 45089 diff --git a/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/durations.csv b/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/durations.csv deleted file mode 100755 index 8c17d9e..0000000 --- a/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/durations.csv +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:bc2e52d33f1ec0d4032dc7cbdacadb7622413c9264f5478bf8da2c3aacd92b55 -size 122145 diff --git a/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/invocations.csv b/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/invocations.csv deleted file mode 100755 index 990f59f..0000000 --- a/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/invocations.csv +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a0ca953d1b50cc1f0e813c656e0c3d65b7369757804b571e2767e1ab76b05536 -size 598449 diff --git a/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/memory.csv b/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/memory.csv deleted file mode 100755 index 899f93f..0000000 --- a/artifact_evaluation/azure_500/dirigent/azure_500_firecracker/memory.csv +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ea3ac4b65629cb33e567ac0a517d6ae68747a5dd143ff394b86f78f685b65305 -size 139891 diff --git a/artifact_evaluation/cold_start_sweep/dirigent/.gitignore b/artifact_evaluation/cold_start_sweep/dirigent/.gitignore index de3e640..313a402 100644 --- a/artifact_evaluation/cold_start_sweep/dirigent/.gitignore +++ b/artifact_evaluation/cold_start_sweep/dirigent/.gitignore @@ -1,2 +1,2 @@ -results_containerd -results_firecracker \ No newline at end of file +results_containerd* +results_firecracker* \ No newline at end of file diff --git a/artifact_evaluation/cold_start_sweep/dirigent/INSTRUCTIONS.md b/artifact_evaluation/cold_start_sweep/dirigent/INSTRUCTIONS.md index 3fe5eb5..155d6d4 100755 --- a/artifact_evaluation/cold_start_sweep/dirigent/INSTRUCTIONS.md +++ b/artifact_evaluation/cold_start_sweep/dirigent/INSTRUCTIONS.md @@ -2,12 +2,12 @@ Time required: 10 min to set up environment and 2-3 min per data point -Description: This experiment triggers cold start in Maestro cluster. You should sweep the load until the cluster saturates, which will be visible on the latency plot. We suggest running experiments with 1, 10, 100, 250, 500, 750, 1000, ... RPS and observing the latency after conducting experiment for each data point. Low RPS (<10 RPS) rates should be run for 3-5 minutes, because of warmup, while any higher load can be run for just a minute. Always discard the results of the first experiment when starting a new cluster, as these measurements include image pull latency, which pollutes the measurements (can be seen as high p99 at low RPS). The instruction is for running experiments is the same for containerd and Firecracker, except the deployment method explained in `README.md` and `RpsImage` load generator field. +Description: This experiment triggers cold start in Maestro cluster. You should sweep the load until the cluster saturates, which will be visible on the latency plot. We suggest running experiments with 1, 10, 100, 200, 300, ... RPS and observing the latency after conducting experiment for each data point. Low RPS (<10 RPS) rates should be run for 3-5 minutes, because of warmup, while any higher load can be run for just a minute. Always discard the results of the first experiment when starting a new cluster, as these measurements include image pull latency, which pollutes the measurements (can be seen as high p99 at low RPS). Instructions: - Start Dirigent cluster according to instructions located in the root folder of artifact evaluation instructions (`README.md`). You can reuse the existing cluster running Dirigent containerd. -- On remote machine `node0` open `~/invitro/cmd/config_dirigent_rps.json`. Set `RpsColdStartRatioPercentage` to `100`, and sweep the load with `RpsTarget` while configuring `ExperimentDuration` according to instructions above. For higher RPS (>1000), it might be necessary to increase `RpsCooldownSeconds`, which controls the number of functions that are deployed in the cluster to achieve the requested RPS. Set `GRPCFunctionTimeoutSeconds` to `15`. For containerd experiments make sure `RpsImage` is set to `docker.io/cvetkovic/dirigent_empty_function:latest`, whereas for Firecracker experiments this field should be set to `empty`. +- On remote machine `node0` open `~/invitro/cmd/config_dirigent_rps.json`. Set `RpsColdStartRatioPercentage` to `100`, and sweep the load with `RpsTarget` while configuring `ExperimentDuration` according to instructions above. For higher RPS (>1000), it might be necessary to increase `RpsCooldownSeconds`, which controls the number of functions that are deployed in the cluster to achieve the requested RPS. Set `GRPCFunctionTimeoutSeconds` to `15`. For containerd experiments make sure `RpsImage` is set to `docker.io/cvetkovic/dirigent_empty_function:latest`. - Start RPS experiment by running `cd ~/invitro; go run cmd/loader.go --config cmd/config_dirigent_rps.json`. -- Create folder storing results with `mkdir -p ./artifact_evaluation/cold_start_sweep/dirigent/results_containerd` or `mkdir -p ./artifact_evaluation/cold_start_sweep/dirigent/results_firecracker`. +- Create folder storing results with `mkdir -p ./artifact_evaluation/cold_start_sweep/dirigent/results_containerd`. - Gather results located in `data/out/experiment_duration_X.csv` and copy them to your local machine in format `rps_X.csv` to the folder you created in the previous step. - Repeat for different RPS values until the cluster saturates, which you can see by plotting the data with the provided script. diff --git a/artifact_evaluation/sample_results/azure_500_per_function_slowdown.png b/artifact_evaluation/sample_results/azure_500_per_function_slowdown.png new file mode 100644 index 0000000000000000000000000000000000000000..dd553d532ae941a8f7e05da8ffae41dbd0ee4fb9 GIT binary patch literal 28105 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ΝFp|{N)NTe!FD!0GpZ*}4ONJIEN|Mm& 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 literal 0 HcmV?d00001 diff --git a/artifact_evaluation/sample_results/azure_500_scheduling_latency.png b/artifact_evaluation/sample_results/azure_500_scheduling_latency.png new file mode 100644 index 0000000000000000000000000000000000000000..29f53d1e506c471daa646dcdf09b9053072027be GIT binary patch literal 42775 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 Y+7Rt|V&l~ldnkNu-L!op-^TsSpGMVAM*si- literal 0 HcmV?d00001 diff --git a/artifact_evaluation/sample_results/cold_start_sweep.png b/artifact_evaluation/sample_results/cold_start_sweep.png new file mode 100644 index 0000000000000000000000000000000000000000..f9e53129720dbddebcac1803b89adcf54b02ffec GIT binary patch literal 37170 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 GLjD7dh2lQ| literal 0 HcmV?d00001 diff --git a/scripts/remote_install.sh b/scripts/remote_install.sh index 84299e3..02cdc67 100755 --- a/scripts/remote_install.sh +++ b/scripts/remote_install.sh @@ -18,8 +18,7 @@ function AddSshKeys() { } function SetupNode() { - AddSshKeys $1 - RemoteExec $1 'if [ ! -d ~/cluster_manager ];then git clone git@github.com:eth-easl/dirigent.git cluster_manager; fi' + RemoteExec $1 'if [ ! -d ~/cluster_manager ];then git clone https://github.com/eth-easl/dirigent.git cluster_manager; fi' RemoteExec $1 "bash ~/cluster_manager/scripts/setup_node.sh $2 $WORKER_RUNTIME" # LFS pull for VM kernel image and rootfs RemoteExec $1 'cd ~/cluster_manager; git pull; git lfs pull'