Let be $USER the variable that contain your grid5000 user and $FRONT the one that define with which frontend you are working with.
- Run the pustToFront.sh script (located in /deploy). provide the option -u $USER and -f $FRONT. It will automatically copy the complete project to the grid05000 frontend you specified. The process can take some time depending on your connection speed.
cd deploy/
bash pustToFront -u $USER -f $FRONT
- Connect to your frontend and run a screen session to get an uninteruptable ssh session.
ssh [email protected]
ssh $FRONT
screen
cd /tmp/$USER/dvfs-linux-kernel
- Reserve the node you need
- wattmeter='YES': Required to tell grid5000 that we need nodes where the power consumption can be probe.
- cluster='orion': We would like to perform the experiment on the orion cluster. (orion have fairly new intel cpu lyon:hardware. To perform the experiment, cpu with dynamic frequency functionnality are needed. Choose your cluter carrefully (link above)
- I: For interactive mode. As soon as the ssh session is terminated, the node are released.
- cluster=1: All node should be on the same cluster to ensure an homogeneity of the hardware.
- nodes=2: Here put as much as you need (should fit in the number of node present in the cluster you asked for). *walltime=4:0:0: The node are reserved for a maximum of of 4 hours. see grid5000:UsagePolicy
- t: deploy the ssh key to the node
oarsub -p "cluster='orion' AND wattmeter='YES'" -I -l cluster=1/nodes=2,walltime=4:0:0 -t deploy
- Deploy the linux image
- "ubuntu16.04-x64-min.env" is in the deploy directory
kadeploy3 -a ubuntu16.04-x64-min.env -f $OAR_FILE_NODES -k
- oarsub reserves the nodes and store the name of the chosen machine in the variable $OAR_FILE_NODES. It is important to copy the content of this variable into the cluster.txt file in deploy directory in order for the scripts to work. It is also required to export the local python bin path to use very usefull commands such as pssh.
cd deploy/
cat $OAR_FILE_NODES | uniq > cluster.txt
export PATH=$PATH:~/.local/bin/
- Compile the experiment benchmark software on all nodes by running the script main.sh,
⚠️ the process is quite long and depends on the hardware you reserved. installation time for a i5-6200U is approximatively 20 minutes.
bash main.sh
- Change the kernel to 4.10 for each nodes by running postdeploy-smart-governor script :warning: This will reboot the nodes and the procedure can take sometime
bash postdeploy-smart-governor.sh
- Run the buildSmartGovernor.sh script to compile and set the DVFS governor in the nodes.
bash buildSmartGovernor.sh
- Move the the Measurement directory and create here a new one, called results, that will contain all the result of the experiment, the AutoExecution/main.py will successively run the different benchmark on all node and aggregate the data in the result directory.
cd ../Measurement
mkdir results
python AutoExecution/main.py --nodes ../deploy/cluster.txt -$FRONT -o results/
-
Repeat the experiment for all the governor you would like to compare your result with. performance, ondemand, powersave, ...
8.2) screen -d -m sh -c '/tmp/NPB/bin/sar.sh' # sysstat script removes afters restart, so ensure that is runing