getMaxNodesNeeded.sh 993 Bytes
Newer Older
1
2
#!/bin/bash

3
4
5
6
# Obtains for a given configuration file how many nodes will be needed
# Parameter 1 - Configuration file name for the emulation.
# Parameter 2 - Base directory of the malleability benchmark
# Parameter 3 - Number of cores in the machines. The machines must be homogenous. Must be a positive number.
7
8
9
10
11
12
#====== Do not modify these values =======

codeDir="/Codes/build"
execDir="/Exec"
ResultsDir="/Results"

13
14
15
16
17
18
19
if [ "$#" -lt "3" ]
then
  echo "Not enough arguments"
  echo "Usage -> bash getMaxNodesNeeded.sh Configuration.ini BaseDirectory NumCores"
  exit -1
fi

20
config_file=$1
21
22
dir=$2
cores=$3
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

max_numP=-1
total_resizes=$(grep Total_Resizes $config_file | cut -d '=' -f2)
total_groups=$(($total_resizes + 1))
for ((j=0; j<total_groups; j++));
do
  numP=$(bash $dir$execDir/BashScripts/getNumPNeeded.sh $config_file $j)
  if [ "$numP" -gt "$max_numP" ];
  then
    max_numP=$numP
  fi
done
node_qty=$(($max_numP / $cores))
if [ $node_qty -eq 0 ]
then
  node_qty=1
fi

echo $node_qty