You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `deploy_info.json` file is used to identify deployment information for services and their pre-dependencies. It is pre-generated, and stored inside the `vSwarm_deploy_metadata.tar.gz` to contain deployment information for vSwarm functions.
4
+
5
+
## Schema and Usage
6
+
7
+
The `deploy_info.json` file in the `vSwarm_deploy_metadata.tar.gz` is used to identify the relative file paths for the Knative YAML manifests for deploying vSwarm functions. It also contains the path of YAML files needed as part of the pre-deployment commands to run certain vSwarm benchmarks, for example the `online-shop-database` which requires to be deployed before running `cartservice` benchmark.
The `PredeploymentPath` is the path to the YAML file, which is applied via `kubectl apply -f`, before creating the service under `YamlLocation`.
21
+
22
+
## Deployment File Generation
23
+
24
+
While the `deploy_info.json` file ships with the `vSwarm_deploy_metadata.tar.gz`, In order to regenerate the `deploy_info.json` run from the root of this repository:
25
+
```console
26
+
tar -xzvf workloads/container/vSwarm_deploy_metadata.tar.gz -C workloads/container
27
+
cd workloads/container/
28
+
python3 generate_deploy_info.py
29
+
```
30
+
31
+
## YAML Generation
32
+
33
+
The `workloads/container/generate_all_yamls.py` is a wrapper script that calls the `generate-yamls.py` script for each vSwarm benchmark in the `vSwarm_deploy_metadata.tar.gz`. The `generate-yamls.py` Python script generates YAML files for vSwarm benchmarks with different workload parameters to create a variety of durations and memory consumption.
34
+
35
+
While the YAMLs are pre-generated inside the `vSwarm_deploy_metadata.tar.gz` tarball, to regenerate the YAMLs, run this from the root of this repository:
36
+
```console
37
+
tar -xzvf workloads/container/vSwarm_deploy_metadata.tar.gz -C workloads/container
Copy file name to clipboardExpand all lines: docs/loader.md
+24-2Lines changed: 24 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -109,20 +109,42 @@ value previously collected.
109
109
To account for difference in CPU performance set `ITERATIONS_MULTIPLIER=102` if using
110
110
Cloudlab `xl170` or `d430` machines. (Date of measurement: 18-Oct-2022)
111
111
112
+
## Executing vSwarm functions
113
+
If you would like to use vSwarm benchmarks as profile functions to execute, first you need to generate a `mapper_output.json` using the `mapper` tool. Please refer to `mapper.md` docs for usage of the mapper tool to generate an output file. Once the `mapper_output.json` has been generated in the input trace directory, next run the following from the root of this repository:
114
+
115
+
```console
116
+
# install pre-requisites
117
+
sudo apt update
118
+
sudo apt -y install git-lfs pip xz-utils
119
+
git lfs install
120
+
git lfs fetch
121
+
git lfs checkout
122
+
```
123
+
This retrieves the `vSwarm_deploy_metadata.tar.gz` from Git LFS. Then, untar this tarball by running the following command from the root of this repository:
124
+
125
+
```bash
126
+
$ tar -xzvf workloads/container/vSwarm_deploy_metadata.tar.gz -C workloads/container/
127
+
```
128
+
This untar the tarball into the `workloads/container/yamls` directory, which contains deployment information and deployment YAML files for all vSwarm benchmarks. If you would like to change some of these deployment files of regenerate them, refer to `generate_deploy_info_docs.md` for an outline of what these deployment files are, and how you can regenerate them.
129
+
112
130
## Single execution
113
131
114
132
To run load generator use the following command:
115
133
116
134
```bash
117
135
$ go run cmd/loader.go --config cmd/config_knative_trace.json
118
136
```
137
+
To run load generator with vSwarm functions based on `mapper_output.json` run the following:
138
+
139
+
```bash
140
+
$ go run cmd/loader.go --config cmd/config_vswarm_trace.json
141
+
```
142
+
To direct the loader to execute vSwarm functions, set the `VSwarm` flag in the loader configuration `true`. For information on how to configure the workload for load generator, please refer to `docs/configuration.md`.
119
143
120
144
Additionally, one can specify log verbosity argument as `--verbosity [info, debug, trace]`. The default value is `info`.
121
145
122
146
To execute in a dry run mode without generating any load, set the `--dry-run` flag to `true`. This is useful for testing and validating configurations without executing actual requests.
123
147
124
-
For to configure the workload for load generator, please refer to `docs/configuration.md`.
125
-
126
148
There are a couple of constants that should not be exposed to the users. They can be examined and changed
0 commit comments