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
Copy file name to clipboardExpand all lines: docs/generate_deploy_info_docs.md
+16-9Lines changed: 16 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,10 @@
1
1
# Deploy Info JSON
2
2
3
-
## 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 is generated using `workloads/container/generate_deploy_info.py` Python script, which outputs a JSON that embeds the yaml-location and pre-deployment commands for every vSwarm function. 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.
3
+
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
4
5
-
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:
6
-
```console
7
-
tar -xzvf workloads/container/vSwarm_deploy_metadata.tar.gz -C workloads/container
8
-
cd workloads/container/
9
-
python3 generate_deploy_info.py
10
-
```
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 is generated using `workloads/container/generate_deploy_info.py` Python script, which outputs a JSON that embeds the yaml-location and pre-deployment commands for every vSwarm function. 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.
11
8
12
9
The `deploy_info.json` has the following schema:
13
10
```console
@@ -20,9 +17,19 @@ The `deploy_info.json` has the following schema:
20
17
}
21
18
```
22
19
23
-
## The `PredeploymentPath` is the path to the YAML file, which is applied via `kubectl apply -f`, before creating the service under `YamlLocation`. This pre-deployment step is required in some vSwarm benchmarks, like `cartservice` which depends on a separate service `online-shop-database` before it can be started.
20
+
The `PredeploymentPath` is the path to the YAML file, which is applied via `kubectl apply -f`, before creating the service under `YamlLocation`. This pre-deployment step is required in some vSwarm benchmarks, like `cartservice` which depends on a separate service `online-shop-database` before it can be started.
21
+
## Deployment File Generation
22
+
23
+
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:
24
+
```console
25
+
tar -xzvf workloads/container/vSwarm_deploy_metadata.tar.gz -C workloads/container
26
+
cd workloads/container/
27
+
python3 generate_deploy_info.py
28
+
```
29
+
30
+
## YAML Generation
24
31
25
-
Similarly, 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 parameterize the YAML script for the benchmark for different configurations, and creates YAML files accordingly.
32
+
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.
26
33
27
34
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:
Copy file name to clipboardExpand all lines: docs/loader.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -110,7 +110,7 @@ To account for difference in CPU performance set `ITERATIONS_MULTIPLIER=102` if
110
110
Cloudlab `xl170` or `d430` machines. (Date of measurement: 18-Oct-2022)
111
111
112
112
## Executing vSwarm functions
113
-
If the input trace directory has a `mapper_output.json`file, which you would like to use as profiles for benchmark execution in the loader, run the following from the root of this directory:
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
114
115
115
```console
116
116
# install pre-requisites
@@ -120,11 +120,12 @@ git lfs install
120
120
git lfs fetch
121
121
git lfs checkout
122
122
```
123
-
This retrieves the `yamls.tar.gz` from Git LFS. Then, untar this tarball by running the following command from the root of this directory:
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
124
125
125
```bash
126
126
$ tar -xzvf workloads/container/vSwarm_deploy_metadata.tar.gz -C workloads/container/
127
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.
128
129
129
130
## Single execution
130
131
@@ -138,12 +139,12 @@ To run load generator to use vSwarm functions based on `mapper_output.json` run
138
139
```bash
139
140
$ go run cmd/loader.go --config cmd/config_vswarm_trace.json
140
141
```
142
+
The difference between instructing the loader to run vSwarm functions is by setting the `VSwarm` flag in the loader configuration to `true`. For information on how to configure the workload for load generator, please refer to `docs/configuration.md`.
143
+
141
144
Additionally, one can specify log verbosity argument as `--verbosity [info, debug, trace]`. The default value is `info`.
142
145
143
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.
144
147
145
-
For to configure the workload for load generator, please refer to `docs/configuration.md`.
146
-
147
148
There are a couple of constants that should not be exposed to the users. They can be examined and changed
0 commit comments