@@ -8,7 +8,7 @@ This project provides tools to measure the energy consumption of Flower-based fe
...
@@ -8,7 +8,7 @@ This project provides tools to measure the energy consumption of Flower-based fe
-[Installation](#installation)
-[Installation](#installation)
-[Usage](#usage)
-[Usage](#usage)
-[FL framework](#fl-framework)
-[FL framework](#fl-framework)
-[Configure instances](#configure-instance)
-[Configure instances for CPU](#configure-instance-for-cpu)
-[Run exp](#run-exp)
-[Run exp](#run-exp)
-[Quickstart](#quickstart)
-[Quickstart](#quickstart)
-[Step 1. Reserve the Hosts in G5K](#step-1-reserve-the-hosts-in-g5k)
-[Step 1. Reserve the Hosts in G5K](#step-1-reserve-the-hosts-in-g5k)
...
@@ -51,13 +51,13 @@ cd Run
...
@@ -51,13 +51,13 @@ cd Run
### FL framework
### FL framework
FL scripts (includes server and client scripts) can be updated, example in dir `Flower_v1`.
FL scripts (includes server and client scripts) can be updated, example in dir `Flower_v1`.
### Configure instance
### Configure instance for CPU
Configure instances of experiment in a json format, structure is shown below.
Configure instances of experiment in a json format, structure is shown below.
-**instances** includes **"1"**, **"2"** ,... are identifies of each instance.
-**instances** includes **"1"**, **"2"** ,... are identifies of each instance.
-**instance**: name of instance.
-**instance**: name of instance.
-**output_dir**: location stores the output files (experiment log and energy monitoring output).
-**output_dir**: location stores the output files (experiment log and energy monitoring output).
-**dvfs**: choose only one in 3 settings, detects all available CPU frequencies and go through all of them.
-**dvfs_cpu**: choose only one in 3 settings.
-`dummy`: for testing in min and max CPU freq (`false` or `true`).
-`dummy`: for testing in min and max CPU freq (`false` or `true`).
-`baseline`: for testing in max CPU freq (`false` or `true`).
-`baseline`: for testing in max CPU freq (`false` or `true`).
-`frequencies`: Limits to the provided list of frequencies (`null` or `int list []`).
-`frequencies`: Limits to the provided list of frequencies (`null` or `int list []`).
...
@@ -80,7 +80,7 @@ Configure instances of experiment in a json format, structure is shown below.
...
@@ -80,7 +80,7 @@ Configure instances of experiment in a json format, structure is shown below.
"1":{
"1":{
"instance":"",
"instance":"",
"output_dir":"",
"output_dir":"",
"dvfs":{
"dvfs_cpu":{
"dummy":true,
"dummy":true,
"baseline":false,
"baseline":false,
"frequencies":null
"frequencies":null
...
@@ -112,6 +112,25 @@ Configure instances of experiment in a json format, structure is shown below.
...
@@ -112,6 +112,25 @@ Configure instances of experiment in a json format, structure is shown below.
}
}
```
```
### Configure instance for GPU
- The configuration is as same CPU, except **dvfs** role. In GPU config, the role is **dvfs_gpu**.
Choose only one in 3 settings (steps - zoomfrom - zoomto use for one setting).
-`dummy`: for testing in min and max GPU freq (`false` or `true`).
-`baseline`: for testing in max GPU freq (`false` or `true`).
-`steps`: steps to jump in range/window of frequencies (int).
-`zoomfrom`: freq start
-`zoomto`: freq stop
```json
"dvfs_gpu":{
"dummy":true,
"baseline":false,
"steps":2,
"zoomfrom":0,
"zoomto":0
},
```
### Run exp
### Run exp
2 options of experiment: run single instance or all instances (a campaign).
2 options of experiment: run single instance or all instances (a campaign).
...
@@ -137,17 +156,25 @@ Configure instances of experiment in a json format, structure is shown below.
...
@@ -137,17 +156,25 @@ Configure instances of experiment in a json format, structure is shown below.
### Step 1. Reserve the Hosts in G5K
### Step 1. Reserve the Hosts in G5K
Reserve the required number of hosts (*See the [document of G5K](https://www.grid5000.fr/w/Getting_Started#Reserving_resources_with_OAR:_the_basics) for more details*)
Reserve the required number of hosts (*See the [document of G5K](https://www.grid5000.fr/w/Getting_Started#Reserving_resources_with_OAR:_the_basics) for more details*)
<u>For example</u>: Reserve 4 hosts (1 server + 3 clients) for 2 hours:
<u>For example</u>:
Reserve 4 hosts (CPU) (1 server + 3 clients) for 2 hours:
```bash
```bash
oarsub -I-lhost=4,walltime=2
oarsub -I-lhost=4,walltime=2
```
```
Reserve 4 hosts (GPU) (1 server + 3 clients) for 2 hours:
Create the JSON configuration file (e.g. `config_instances.json`) to specify experiment details includes one or more instances.
Create the JSON configuration file (e.g. `config_instances.json` for CPU and `config_instances_1.json` for GPU) to specify experiment details includes one or more instances.