-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathchave.conf
209 lines (179 loc) · 8.16 KB
/
chave.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
#!/bin/bash
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
### THIS CONFIG FILE IS PART OF PROJECT CHAVE SIMULATOR ###
### AVAILABLE AT: dscar.ga/chave ###
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
### GLOBAL CONFIGURATIONS FOR CHAVE PROJECT ###
### IS ONLY USED LINUX ENVIRONMENT VARIABLES `export` ###
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
#_________________________________________________________
# MISCELANEOUS
export _NC='\033[0m' # No Color
export _RED='\033[1;31m'
export _BLUE='\033[1;34m'
export _UR='\033[1;31;4m'
export _UB='\033[1;34;4m'
export _NU='\033[24m'
#_________________________________________________________
# Date-hour pattern for output and logs
export CS_DP="%y.%m.%d-%H.%M.%S"
export CS_START=`date +${CS_DP}`
#_________________________________________________________
# Running on Environment (Only used on bash):
export CS_isAWS=true
export CS_isG5K=false
export CS_isLocal=false
#_________________________________________________________
# Directories
_TRACE_LEVEL=0 # from 0 (more) to 4 (less)
export CS_PROJ_ROOT=`pwd`
export CS_PY=python
# Or: ${CS_PROJ_ROOT}"/venv36/bin/python"
# Or: "/usr/local/bin/python3.6"
export CS_SOURCE_FOLDER="input/trace/${_TRACE_LEVEL}-eucalyptus-traces"
export CS_FDR_EUCALYPTUS=${CS_PROJ_ROOT}/${CS_SOURCE_FOLDER}
export CS_ENERGY_MODEL="${CS_PROJ_ROOT}/input/energy/processador.dad"
#_________________________________________________________
# Type of traces: <"REAL"> or <"GENERATED">
# "REAL": Can't add new hosts if occur a rejection. Good to get real `reject_d` metric.
# "GENERATED": Hosts are created on demand if the AZ is full. Good tho get the TCO to comply with the SLA.
export CS_TRACE_CLASS="REAL"
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
### ARCHITECTURE SPECIFICATIONS ###
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
export CS_MAX_AZ_REGION=6
export CS_CORE2RAM="4" # This means 1-core:4-ram
#_________________________________________________________
# Use "FILE" or "AUTO" for generate 'az_id' patterns
export CS_DEFINE_AZID="FILE"
export CS_AZ_SELECTION="LB" # 'HA' 'LB' 'RND'
export CS_ENABLE_EMON="False"
export CS_TRIGGER_MIGRATE="3600"
#_________________________________________________________
# Values is:
# 'TIGHT'-> 1 host,
# 'MEDIUM'-> 1.5 host or
# 'WIDE'-> 2 hosts
export CS_FRAGMENTATION_CLASS="TIGHT"
#_________________________________________________________
# Configurations for Overcommit
# export CS_HYPER_THREADING_PER_CORE="2"
export CS_VCPUS_PER_CORE="2.0"
export CS_DEDICATED_CPUS_FOR_MANAGEMENT="0.0"
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
### CONFIGURATION TO LOGGER LIBRARY ###
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
#_________________________________________________________
# Default log and output file name: Complete:
export CS_DEF_TEST_NAME="{}_{}_L:{}_O:{}_C:{}_R:{}\".format(args.alg[0],args.ca[0],args.lock[0],args.overcom[0],args.consol[0],args.repl[0])"
#_________________________________________________________
# Log path
if [ `uname -n` == "chave-sim" ]; then
_VOL="vdc"
export CS_OUTPUT_PATH="/media/daniel/chave/${CS_START}"
mount | grep ${_VOL} > /dev/null
if [ $? == 1 ]; then
echo "sucesso" | sudo -S mount /dev/${_VOL}1 /media/daniel/
echo -e "\n\t ${_UB}Mounted ${CS_OUTPUT_PATH}${_NU}"
mount | grep ${_VOL}
else
echo -e "\n\t ${_UR}Volume ${_VOL} already mounted!${_NU}"
fi
else
export CS_OUTPUT_PATH="${CS_PROJ_ROOT}/output/${CS_START}"
fi
echo -e "\n\t ${_UB}Output path is:${_NC} ${_UR}${CS_OUTPUT_PATH}${_NU}"
export CS_LOG_PATH="${CS_OUTPUT_PATH}/logs"
export CS_LOG_OUTPUT="\"${CS_LOG_PATH}/${CS_DEF_TEST_NAME}+\"_log.txt\""
export CS_LOG_OUTPUT_MIN="\"${CS_LOG_PATH}/EUCA_log.txt\""
#_________________________________________________________
# Log formatter for Python Logger package
# We can choose:
# %(levelname)s %(threadName)s %(module)s %(funcName)s %(message)s %(asctime)s.%(msecs)03d %(relativeCreated)d
export CS_LOG_FORMATTER="[%(levelname)-8s| %(module)-9s| %(funcName)-20s ] --> %(message)s"
#_________________________________________________________
# Log Level for specify the granularity of outputs in Python's Logger Package.
# It's accumulative, so 'CRITICAL' imply in less info and 'DEBUG' more info.
CRITICAL=50 # A serious error, indicating that the program itself may be unable to continue running.
ERROR=40 # Due to a more serious problem, the software has not been able to perform some function.
WARNING=30 # Something unexpected, or some problem in the future. Software is still working as expected.
INFO=20 # Confirmation that things are working as expected.
DEBUG=10 # Detailed information, typically of interest only when diagnosing problems.
NOTSET=0
export CS_LOG_LEVEL=${ERROR}
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
### RESULTS SPECIFICATIONS ###
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
export CS_DATA_PATH="${CS_OUTPUT_PATH}/results"
export CS_DATA_OUTPUT="\"${CS_DATA_PATH}/${CS_DEF_TEST_NAME}"
export CS_DATA_OUTPUT_MIN="\"${CS_DATA_PATH}/EUCA_log.txt\""
# Note: deprecated
# export CS_AVG_LOAD_OBJECTIVE="\"${CS_DATA_PATH}/EUCA_AVG_LOAD.txt\""
export CS_AVG_LOAD_OBJECTIVE="EUCA_AVG_LOAD.txt"
#_________________________________________________________
# Choose the output format. Concatenate with '_' for multiples:
# Metrics: CSV, JSON, SQLITE, TEXT, PICKLE
# Memory usage: MEM
export CS_OUTPUT_TYPE="JSON"
#_________________________________________________________
# Separator for:
# JSON: No breakline: <None> (more efficient) or tabs number [0, 1, ...] (more readable)
# CSV: space:' ' or most common: ',' ';'
# FILE: anything you like: '|', '\n', '\t', ...
export CS_OUTPUT_SEPARATOR="0"
export CS_MILESTONES=10
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
### INSTALL REQUIRED COMPONENTS ###
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
function CS_INSTALL(){
${CS_PROJ_ROOT}/env36/bin/pip install -r ${CS_PROJ_ROOT}/src/requirements.txt
bash ${CS_PROJ_ROOT}/misc/parallel/3.sh
rm -rf parallel-*
if sudo grep "cran-r" /etc/apt/sources.list; then
echo -e "${BLUE} R sources already configured!${NC}"
else
sudo apt-get install dirmngr --assume-yes
sudo apt-key adv --keyserver keys.gnupg.net --recv-key 6212B7B7931C4BB16280BA1306F90DE5381BA480
OS_NAME=`cat /etc/os-release | grep "HOME_URL" | cut -d'.' -f2 | cut -d'.' -f1`
VERSION=`cat /etc/os-release | grep "VERSION" | cut -d'(' -f2 | cut -d')' -f1`
echo "deb http://cran-r.c3sl.ufpr.br/bin/linux/${OS_NAME} ${VERSION}-cran34/" | sudo tee --append /etc/apt/sources.list > /dev/null
fi
sudo apt update && sudo apt upgrade --assume-yes
sudo apt-get install r-base r-base-dev --allow-unauthenticated --assume-yes
sudo apt install sqlite3 sox --assume-yes
sudo chmod +rw /usr/local/lib/R/site-library/
}
export -f CS_INSTALL
PARALLEL=parallel
command -v ${PARALLEL} >/dev/null 2>&1 || {
export PARALLEL=~/bin/parallel
}
L_RUN="${_UB}CHAVE-Sim is running since: ${CS_START}${_NU}${_RED}"
L_SOU="${_UB}Source: ${CS_SOURCE_FOLDER}${_NU}${_RED}"
L_LOG="${_UB}Log Level: ${CS_LOG_LEVEL}${_NU}${_RED}"
export CS_LOGO="${_RED}
#_______________
#/ |${_UR}AZ |NODE|CORE|${_NU} ${L_RUN}
#/ |DS1| 13 | 24 |\____
#/ |DS2| 7 | 12 | >LC0\_ ${L_SOU}
#/ /\ |DS3| 7 | 8 |/ \__/l__/L___/l_/l__M___
#\ \/ |===|====|====K >_GC___ ____ ___ __/
#\ |DS4| 12 | 8 |\ _/ \/ \/ \/ V
#\ |DS5| 31 | 32 | >LC1/ ${L_LOG}
#\_|${_UR}DS6| 31 | 32 |${_NU}${_RED}/
${_NC}"
function CS_BELL(){
command -v play >/dev/null 2>&1 || {
sudo apt install sox
}
_MIN=700
_INCR=200
sleep 5
for i in seq 1 $1; do
play -q -n synth 0.1 sin $(( _MIN + _INCR * i )) || echo -e "\a"
done
}
export -f CS_BELL
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
### THE END ###
### ### ### ### ### ### ### ### ### ### ### ### ### ### ###