-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.inc.sh
More file actions
68 lines (51 loc) · 2.9 KB
/
config.inc.sh
File metadata and controls
68 lines (51 loc) · 2.9 KB
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
# Configuration file
# Required configuration for the platform specific properties
declare -A platform_routines
# Uncomment for Raptor Lake system
source "${SCRIPTDIR}/configs/raptor.conf"
# Uncomment for Odroid system
#source "${SCRIPTDIR}/configs/odroid.conf"
# All the configuration options for TETRiS
source "${SCRIPTDIR}/configs/tetris.conf"
export BINDIR="${SCRIPTDIR}/bench"
# Important variables that influence the benchmark
# 1) The list of applications (== scenarios) that should be benchmarked
# This benchmark suite can run 3 application dialects
# a) A simple binary without any additional arguments or configuration
# b) A binary that expects additional arguments which are not TETRiS specific
# Such scenarios should be prefixed with a '?'.
# c) A binary/script that expects as argument the current benchmarking mode
# and will run and configure the application by itself. Importantly, this binary/script
# will also do the necessary TETRiS specific configuration.
# Such scenarios should be prefixed with a '!'.
scenarios=("abc|bc" "!foobar|bar|!foo" "?blub|foo")
# 2) The number of repetitions per application and benchmarking mode in order to
# produce statistically reliable values. At least 10 should be chosen here.
runs=10
# 3) The modes at which the applications should be benchmarked.
# Currently the script supports the following modes:
# a) *cfs* -- The application will be executed on without any additional configuration/management
# directly on the Linux default scheduler (which might be EEVDF on newer Linux kernels).
# b) *td* -- The Thread Director extension of modern Intel CPUs will be used to manage the applications
# at runtime.
# c) *tetris* -- The TETRiS resource manager will control the applications at runtime.
# d) *tetris-offline* -- The TETRiS resource manager will control the applications at runtime based on
# offline generated application characteristics.
# e) *tetris-grouped* -- The same as *tetris* but with a learning phase where applications are executed
# in parallel and not separately
# f) *tetris-noscaling* -- The same as *tetris* but dynamic application scaling is disabled
# h) *learning* -- Measure the learning phase of tetris
# g) *overhead* -- Measure the overhead of the whole TETRiS approach without applying the resource decisions
modes=("cfs" "td" "tetris" "tetris-offline")
# Other optional configuration variables
# Try to continue the benchmark where we last left of. (Default = 0)
#continuation=1
# Output directories for results, logs and other intermediate data. (Default = auto)
# Directory where the final benchmark result should be stored
#result_dir=auto
# Directory where log output of the clients and the server should be stored for the run
#log_dir=auto
# Directory where resource allocation traces should be stored
#trace_dir=auto
# Directory where the OP learning database should be stored
#learn_dir=auto