Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2016
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. #!/bin/bash
  2. launchPowerSpy() {
  3.  
  4. PS2MAC=$1
  5. RATE=$2
  6. OUTPUT_FILE=$3
  7. ~/powerspy.py/powerspy.py -i $RATE $PS2MAC 1> $OUTPUT_FILE 2> err-$OUTPUT_FILE &
  8. PID=$!
  9. sleep 10
  10. if ps -p $PID > /dev/null
  11. then
  12. echo $PID
  13. else
  14. echo $(launchPowerSpy $PS2MAC $RATE $OUTPUT_FILE)
  15. fi
  16. }
  17.  
  18. killPowerSpy() {
  19.  
  20. PID=$1
  21. kill -s INT $PID
  22. sleep 10
  23. }
  24.  
  25. IP=$1
  26. USER=$2
  27. PASS=$3
  28. PS2MAC=$4
  29.  
  30. #disable c-states
  31. for ((i=0; i < 8; i++))
  32. do
  33. for ((j=1;j<6;j++))
  34. do
  35. sshpass -p$PASS ssh $USER@$IP "echo 1 | sudo tee /sys/devices/system/cpu/cpu$i/cpuidle/state$j/disable"
  36. done
  37. done
  38.  
  39. for ((z=0;z<3;z++))
  40. do
  41. PSPID=$(launchPowerSpy $PS2MAC "1" "acpower_nocstates_0.$z.txt")
  42. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; sudo ./joulesCpu > raplenergy_nocstates_0.$z.txt & sleep 600; sudo killall joulesCpu"
  43. killPowerSpy $PSPID
  44.  
  45. for u in 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
  46. do
  47. util=$(echo "scale=2;$u/100.0" | bc)
  48. PSPID=$(launchPowerSpy $PS2MAC "1" "acpower_nocstates_$u.$z.txt")
  49. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; sudo ./joulesCpu > raplenergy_nocstates_$u.$z.txt" &
  50. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; java -cp stress-0.0.1-jar-with-dependencies.jar stress.Stress 0 $util 10" &
  51. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; java -cp stress-0.0.1-jar-with-dependencies.jar stress.Stress 1 $util 10" &
  52. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; java -cp stress-0.0.1-jar-with-dependencies.jar stress.Stress 2 $util 10" &
  53. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; java -cp stress-0.0.1-jar-with-dependencies.jar stress.Stress 3 $util 10" &
  54. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; java -cp stress-0.0.1-jar-with-dependencies.jar stress.Stress 4 $util 10" &
  55. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; java -cp stress-0.0.1-jar-with-dependencies.jar stress.Stress 5 $util 10" &
  56. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; java -cp stress-0.0.1-jar-with-dependencies.jar stress.Stress 6 $util 10" &
  57. sshpass -p$PASS ssh $USER@$IP "cd ~/journal-revision; java -cp stress-0.0.1-jar-with-dependencies.jar stress.Stress 7 $util 10"
  58. sshpass -p$PASS ssh $USER@$IP "sudo killall joulesCpu"
  59. killPowerSpy $PSPID
  60. done
  61. done
  62.  
  63. #re-enable c-states
  64. for ((i=0; i < 8; i++))
  65. do
  66. for ((j=1;j<6;j++))
  67. do
  68. sshpass -p$PASS ssh $USER@$IP "echo 0 | sudo tee /sys/devices/system/cpu/cpu$i/cpuidle/state$j/disable"
  69. done
  70. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement