To receive notifications about scheduled maintenance, please subscribe to the mailing-list gitlab-operations@sympa.ethz.ch. You can subscribe to the mailing-list at https://sympa.ethz.ch

Commit 7b7ce6cb authored by Philipp Miedl's avatar Philipp Miedl

[v1.1.0] Publication Mie20

parent 336e6761
*.local.toml
!template.toml
!template*.toml
# Copyright (c) 2015-2020, Swiss Federal Institute of Technology (ETH Zurich)
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# * Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Copyright (c) 2015-2020, Swiss Federal Institute of Technology (ETH Zurich)
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# * Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
......@@ -27,7 +27,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Configuration name
name = "Test_Repetitouch"
name = "demo_app_exec_experiment"
# Save path
save_path = "./data"
# Optional: Local backup path
......@@ -35,18 +35,10 @@ backup_path = "./data/_backup"
# Optional: Action to perform if experiment directory exists
experiment_exists_action = "overwrite" # overwrite, move, halt
# Optional: Backup configuration
# [BACKUP]
# user = ""
# host = ""
# ssh_key = ""
# port = ""
# path = ""
# Experiment settings
[EXPERIMENT]
type = "AppExecExperiment"
channel = "Thermal"
channel = "ThermalSC"
[EXPERIMENT.PHASES]
......@@ -55,14 +47,16 @@ repetitions=4
[EXPERIMENT.PHASES.test.dropbox2]
schedules=[
'configurations/examples/RepetiTouch/Sony_Xperia_Z5_Dropbox.rpt']
'configurations/examples/RepetiTouch/Samsung_Galaxy_S5_SM-900H_Dropbox.rpt']
'configurations/examples/RepetiTouch/Sony_Xperia_Z5_Dropbox.rpt',
'configurations/examples/RepetiTouch/Samsung_Galaxy_S5_SM-900H_Dropbox.rpt'
]
durations=[44.7,30.3]
environments=['Z5', 'S5']
[EXPERIMENT.PHASES.test.antutu3]
schedules=['configurations/examples/RepetiTouch/Sony_Xperia_Z5_AnTuTu.rpt'
'configurations/examples/RepetiTouch/Samsung_Galaxy_S5_SM-900H_AnTuTu.rpt']
schedules=['configurations/examples/RepetiTouch/Sony_Xperia_Z5_AnTuTu.rpt',
'configurations/examples/RepetiTouch/Samsung_Galaxy_S5_SM-900H_AnTuTu.rpt'
]
durations=[28.8,31.2]
environments=['Z5', 'S5']
......@@ -79,35 +73,35 @@ active_wait = true
# --------------------------------------------------------------------------
# Apps and zones
[ENVIRONMENTS.Bilbo.APPS]
[ENVIRONMENTS.Z5.APPS]
src = {executable = "com.cygery.repetitouch.pro/com.cygery.repetitouch.pro.FireReceiver", zone = "bigLITTLE", type="standalone"}
snk = {executable = "ch.ethz.exot.thermalsc/.MeterService", zone = "bigLITTLE"}
# Platform settings -> source
[ENVIRONMENTS.Bilbo.src]
[ENVIRONMENTS.Z5.src]
COMPONENT_NAME="ch.ethz.exot.intentproxy/.IntentProxyService"
ACTION="ch.ethz.exot.intents.IntentProxy.action.BUNDLE_EXTRAS"
[ENVIRONMENTS.Bilbo.src.ei]
[ENVIRONMENTS.Z5.src.ei]
"intent.flags"= 20
"looptimes"= 1
"replayspeed"= 1
[ENVIRONMENTS.Bilbo.src.es]
[ENVIRONMENTS.Z5.src.es]
"intent.component"= "com.cygery.repetitouch.pro/com.cygery.repetitouch.pro.FireReceiver"
"intent.action"= "com.twofortyfouram.locale.intent.action.FIRE_SETTING"
"intent.extra.key"= "com.twofortyfouram.locale.intent.extra.BUNDLE"
"condition"= "None"
"action"= "Start Replay"
[ENVIRONMENTS.Bilbo.src.ez]
[ENVIRONMENTS.Z5.src.ez]
"appendingrecord"= false
"hidepanel"= true
"closeafteraction"= false
"silent"= false
# Platform settings -> sink
[ENVIRONMENTS.Bilbo.snk]
[ENVIRONMENTS.Z5.snk]
# logging
logging.log_level = "info"
......@@ -117,35 +111,35 @@ host.start_immediately = false
# --------------------------------------------------------------------------
# Apps and zones
[ENVIRONMENTS.Frodo.APPS]
[ENVIRONMENTS.S5.APPS]
src = {executable = "com.cygery.repetitouch.pro/com.cygery.repetitouch.pro.FireReceiver", zone = "bigLITTLE", type="standalone"}
snk = {executable = "ch.ethz.exot.thermalsc/.MeterService", zone = "bigLITTLE"}
# Platform settings -> source
[ENVIRONMENTS.Frodo.src]
[ENVIRONMENTS.S5.src]
COMPONENT_NAME="ch.ethz.exot.intentproxy/.IntentProxyService"
ACTION="ch.ethz.exot.intents.IntentProxy.action.BUNDLE_EXTRAS"
[ENVIRONMENTS.Frodo.src.ei]
[ENVIRONMENTS.S5.src.ei]
"intent.flags"= 20
"looptimes"= 1
"replayspeed"= 1
[ENVIRONMENTS.Frodo.src.es]
[ENVIRONMENTS.S5.src.es]
"intent.component"= "com.cygery.repetitouch.pro/com.cygery.repetitouch.pro.FireReceiver"
"intent.action"= "com.twofortyfouram.locale.intent.action.FIRE_SETTING"
"intent.extra.key"= "com.twofortyfouram.locale.intent.extra.BUNDLE"
"condition"= "None"
"action"= "Start Replay"
[ENVIRONMENTS.Frodo.src.ez]
[ENVIRONMENTS.S5.src.ez]
"appendingrecord"= false
"hidepanel"= true
"closeafteraction"= false
"silent"= false
# Platform settings -> sink
[ENVIRONMENTS.Frodo.snk]
[ENVIRONMENTS.S5.snk]
# logging
logging.log_level = "info"
......
......@@ -27,7 +27,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Configuration name
name = "Thermal-SC_Tcoefficients_test"
name = "demo_app_exec_experiment_ttb"
# Save path
save_path = "./data"
# Optional: Local backup path
......@@ -35,18 +35,10 @@ backup_path = "./data/_backup"
# Optional: Action to perform if experiment directory exists
experiment_exists_action = "overwrite" # overwrite, move, halt
# Optional: Backup configuration
# [BACKUP]
# user = ""
# host = ""
# ssh_key = ""
# port = ""
# path = ""
# Experiment settings
[EXPERIMENT]
type = "AppExecExperiment"
channel = "Thermal"
channel = "ThermalSc"
[EXPERIMENT.PHASES]
......@@ -56,8 +48,6 @@ repetitions=1
[EXPERIMENT.PHASES.tcoeff."05-35"] # t_init + t_run + t_cool
schedules=['../RepetiTouchFiles/Z5/Benchmark/CPU_Throttling_Test/short.rpt',
'../RepetiTouchFiles/S5/Benchmark/CPU_Throttling_Test/short.rpt']
#Deserialised ../RepetiTouchFiles/S5/Benchmark/CPU_Throttling_Test/short.rpt with duration of 14.937s
#Deserialised ../RepetiTouchFiles/Z5/Benchmark/CPU_Throttling_Test/short.rpt with duration of 11.652s
durations=[24.937,21.652] # t_run + t_cool
environments=['Z5', 'S5']
......@@ -67,30 +57,6 @@ schedules=['../RepetiTouchFiles/Z5/Benchmark/CPU_Throttling_Test/short.rpt',
durations=[24.937,21.652] # t_run + t_cool
environments=['Z5', 'S5']
#[EXPERIMENT.PHASES.tcoeff."05-424"] # t_init + t_run + t_cool
#schedules=['../RepetiTouchFiles/Z5/Benchmark/CPU_Throttling_Test/1_minutes.rpt',
# '../RepetiTouchFiles/S5/Benchmark/CPU_Throttling_Test/1_minutes.rpt']
#durations=[244.0,244.0] # t_run + t_cool
#environments=['Z5', 'S5']
#
#[EXPERIMENT.PHASES.tcoeff."05-484"] # t_init + t_run + t_cool
#schedules=['../RepetiTouchFiles/Z5/Benchmark/CPU_Throttling_Test/2_minutes.rpt',
# '../RepetiTouchFiles/S5/Benchmark/CPU_Throttling_Test/2_minutes.rpt']
#durations=[304.0,304.0] # t_run + t_cool
#environments=['Z5', 'S5']
#
#[EXPERIMENT.PHASES.tcoeff."50-424"] # t_init + t_run + t_cool
#schedules=['../RepetiTouchFiles/Z5/Benchmark/CPU_Throttling_Test/1_minutes.rpt',
# '../RepetiTouchFiles/S5/Benchmark/CPU_Throttling_Test/1_minutes.rpt']
#durations=[244.0,244.0] # t_run + t_cool
#environments=['Z5', 'S5']
#
#[EXPERIMENT.PHASES.tcoeff."50-484"] # t_init + t_run + t_cool
#schedules=['../RepetiTouchFiles/Z5/Benchmark/CPU_Throttling_Test/2_minutes.rpt',
# '../RepetiTouchFiles/S5/Benchmark/CPU_Throttling_Test/2_minutes.rpt']
#durations=[304.0,304.0] # t_run + t_cool
#environments=['Z5', 'S5']
# Experiment layers
[EXPERIMENT.LAYERS]
io = {name = "TimeValue", params = {timebase='ns'}}
......@@ -104,41 +70,41 @@ active_wait = true
# --------------------------------------------------------------------------
# Apps and zones
[ENVIRONMENTS.Aman_Manwe_Bilbo.APPS]
[ENVIRONMENTS.Z5.APPS]
src = {executable = "com.cygery.repetitouch.pro/com.cygery.repetitouch.pro.FireReceiver", zone = "bigLITTLE", type="standalone"}
snk = {executable = "ch.ethz.exot.thermalsc/.MeterService", zone = "bigLITTLE"}
[ENVIRONMENTS.Aman_Manwe_Bilbo.APPS."ttb"]
[ENVIRONMENTS.Z5.APPS."ttb"]
executable = "/home/rocketlogger/exot/bin/ttb_phase_temp_time.sh"
type = "standalone"
start_individually = true
zone = "ttb"
# Platform settings -> source
[ENVIRONMENTS.Aman_Manwe_Bilbo.src]
[ENVIRONMENTS.Z5.src]
COMPONENT_NAME="ch.ethz.exot.intentproxy/.IntentProxyService"
ACTION="ch.ethz.exot.intents.IntentProxy.action.BUNDLE_EXTRAS"
[ENVIRONMENTS.Aman_Manwe_Bilbo.src.ei]
[ENVIRONMENTS.Z5.src.ei]
"intent.flags"= 20
"looptimes"= 1
"replayspeed"= 1
[ENVIRONMENTS.Aman_Manwe_Bilbo.src.es]
[ENVIRONMENTS.Z5.src.es]
"intent.component"= "com.cygery.repetitouch.pro/com.cygery.repetitouch.pro.FireReceiver"
"intent.action"= "com.twofortyfouram.locale.intent.action.FIRE_SETTING"
"intent.extra.key"= "com.twofortyfouram.locale.intent.extra.BUNDLE"
"condition"= "None"
"action"= "Start Replay"
[ENVIRONMENTS.Aman_Manwe_Bilbo.src.ez]
[ENVIRONMENTS.Z5.src.ez]
"appendingrecord"= false
"hidepanel"= true
"closeafteraction"= false
"silent"= false
# Platform settings -> sink
[ENVIRONMENTS.Aman_Manwe_Bilbo.snk]
[ENVIRONMENTS.Z5.snk]
# logging
logging.log_level = "info"
......@@ -148,41 +114,41 @@ host.start_immediately = false
# --------------------------------------------------------------------------
# Apps and zones
[ENVIRONMENTS.Aman_Manwe_Frodo.APPS]
[ENVIRONMENTS.S5.APPS]
src = {executable = "com.cygery.repetitouch.pro/com.cygery.repetitouch.pro.FireReceiver", zone = "bigLITTLE", type="standalone"}
snk = {executable = "ch.ethz.exot.thermalsc/.MeterService", zone = "bigLITTLE"}
[ENVIRONMENTS.Aman_Manwe_Frodo.APPS."ttb"]
[ENVIRONMENTS.S5.APPS."ttb"]
executable = "/home/rocketlogger/exot/bin/ttb_phase_temp_time.sh"
type = "standalone"
start_individually = true
zone = "ttb"
# Platform settings -> source
[ENVIRONMENTS.Aman_Manwe_Frodo.src]
[ENVIRONMENTS.S5.src]
COMPONENT_NAME="ch.ethz.exot.intentproxy/.IntentProxyService"
ACTION="ch.ethz.exot.intents.IntentProxy.action.BUNDLE_EXTRAS"
[ENVIRONMENTS.Aman_Manwe_Frodo.src.ei]
[ENVIRONMENTS.S5.src.ei]
"intent.flags"= 20
"looptimes"= 1
"replayspeed"= 1
[ENVIRONMENTS.Aman_Manwe_Frodo.src.es]
[ENVIRONMENTS.S5.src.es]
"intent.component"= "com.cygery.repetitouch.pro/com.cygery.repetitouch.pro.FireReceiver"
"intent.action"= "com.twofortyfouram.locale.intent.action.FIRE_SETTING"
"intent.extra.key"= "com.twofortyfouram.locale.intent.extra.BUNDLE"
"condition"= "None"
"action"= "Start Replay"
[ENVIRONMENTS.Aman_Manwe_Frodo.src.ez]
[ENVIRONMENTS.S5.src.ez]
"appendingrecord"= false
"hidepanel"= true
"closeafteraction"= false
"silent"= false
# Platform settings -> sink
[ENVIRONMENTS.Aman_Manwe_Frodo.snk]
[ENVIRONMENTS.S5.snk]
# logging
logging.log_level = "info"
......
......@@ -27,59 +27,64 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Configuration name
name = "Example_Sweep_Thermal"
name = "demo_exploratory_experiment"
# Save path
save_path = "./data"
# Optional: Local backup path
backup_path = "./data/_backup"
# Optional: Action to perform if experiment directory exists
experiment_exists_action = "overwrite" # overwrite, move, halt
# Optional: Backup configuration
# [BACKUP]
# user = ""
# host = ""
# ssh_key = ""
# port = ""
# path = ""
experiment_exists_action = "update" # overwrite, move, halt, update
# Experiment settings
[EXPERIMENT]
type = "ExploratoryExperiment"
channel = "Thermal"
channel = "ThermalCC"
[EXPERIMENT.PHASES]
# test = {schedule="path to file/actual schedule as DF", repetitions = 10} # could also be defined in the notebook
# Experiment layers
[EXPERIMENT.LAYERS]
io = {name = "TimeValue", params = {timebase='ns'}}
io = {name = "TimeValue", params = {timebase='ns'}}
# Experiment general settings
[EXPERIMENT.GENERAL]
latency = 10
fan = true
governors = "userspace"
frequencies = "max"
sampling_period = 1e-3
delay_between_executions = 5.0
delay_after_bootstrap = 30.0
active_wait = false
latency = 10
fan = true
governors = "userspace"
frequencies = "max"
sampling_period = 1e-3
delay_after_spawn = 150.0
delay_after_auxiliary = 1.0
active_wait = false
[EXPERIMENT.GENERAL.ARMv8]
delay_after_spawn = 120.0
sampling_period = 5e-3
[EXPERIMENT.GENERAL.ARMv7]
delay_after_spawn = 120.0
sampling_period = 5e-3
# --------------------------------------------------------------------------------------------------
# ENVIRONMENT: Haswell
# Apps and zones
[ENVIRONMENTS.Radagast.APPS]
[ENVIRONMENTS.Haswell.APPS]
snk = {executable = "meter_thermal_msr", zone = "host"}
src = {executable = "generator_utilisation_mt", zone = "host"}
# Platform settings -> source
[ENVIRONMENTS.Radagast.src]
[ENVIRONMENTS.Haswell.src]
# generator
generator.host_pinning = 0
generator.should_pin_host = true
generator.cores = [5]
generator.policy = "round_robin"
generator.priority = 99
generator.host_policy = "round_robin"
generator.host_priority = 99
generator.worker_priority = 98
generator.worker_policy = "round_robin"
generator.should_pin_workers = true
generator.start_check_period = 25
# logging
logging.debug_log_filename = "" # set during execution
......@@ -91,7 +96,7 @@ schedule_reader.input_file = "" # set during execution
schedule_reader.reading_from_file = true
# Platform settings -> sink
[ENVIRONMENTS.Radagast.snk]
[ENVIRONMENTS.Haswell.snk]
# logging
logging.debug_log_filename = "" # set during execution
......@@ -102,10 +107,165 @@ thermal_msr.cores = [0, 2, 4, 6]
thermal_msr.package = false
# host
host.period = 1e-3
host.policy = "round_robin"
host.pinning = 0
host.priority = 90
host.log_header = true
host.start_immediately = false
meter.period = 1e-3
meter.host_policy = "round_robin"
meter.host_pinning = 0
meter.should_pin_host = true
meter.host_priority = 90
meter.log_header = true
meter.start_immediately = false
meter.start_check_period = 25
# --------------------------------------------------------------------------------------------------
# ENVIRONMENT: Sandy
# Apps and zones
[ENVIRONMENTS.Sandy.APPS]
snk = {executable = "meter_thermal_msr", zone = "host"}
src = {executable = "generator_utilisation_mt", zone = "host"}
# Platform settings -> source
[ENVIRONMENTS.Sandy.src]
# generator
generator.host_pinning = 0
generator.should_pin_host = true
generator.cores = [2]
generator.host_policy = "round_robin"
generator.host_priority = 99
generator.worker_priority = 98
generator.worker_policy = "round_robin"
generator.should_pin_workers = true
generator.start_check_period = 25
# logging
logging.debug_log_filename = "" # set during execution
logging.app_log_filename = "" # set during execution
logging.log_level = "info"
# schedule reader
schedule_reader.input_file = "" # set during execution
schedule_reader.reading_from_file = true
# Platform settings -> sink
[ENVIRONMENTS.Sandy.snk]
# logging
logging.debug_log_filename = "" # set during execution
logging.app_log_filename = "" # set during execution
logging.log_level = "info"
thermal_msr.cores = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
thermal_msr.package = false
# host
meter.period = 1e-3
meter.host_policy = "round_robin"
meter.host_pinning = 0
meter.should_pin_host = true
meter.host_priority = 90
meter.log_header = true
meter.start_immediately = false
meter.start_check_period = 25
# --------------------------------------------------------------------------------------------------
# ENVIRONMENT: ARMv7
# Apps and zones
[ENVIRONMENTS.ARMv7.APPS]
snk = {executable = "meter_thermal_sysfs", zone = "bigLITTLE"}
src = {executable = "generator_utilisation_mt", zone = "bigLITTLE"}
# Platform settings -> source
[ENVIRONMENTS.ARMv7.src]
# generator
generator.host_pinning = 0
generator.should_pin_host = true
generator.cores = [6]
generator.host_policy = "round_robin"
generator.host_priority = 99
generator.worker_priority = 98
generator.worker_policy = "round_robin"
generator.should_pin_workers = true
generator.start_check_period = 25
# logging
logging.debug_log_filename = "" # set during execution
logging.app_log_filename = "" # set during execution
logging.log_level = "info"
# schedule reader
schedule_reader.input_file = "" # set during execution
schedule_reader.reading_from_file = true
# Platform settings -> sink
[ENVIRONMENTS.ARMv7.snk]
# logging
logging.debug_log_filename = "" # set during execution
logging.app_log_filename = "" # set during execution
logging.log_level = "info"
thermal_sysfs.zones = [0, 1, 2, 3, 4]
# host
meter.period = 1e-3
meter.host_policy = "round_robin"
meter.host_pinning = 1
meter.should_pin_host = true
#meter.host_pinning = 0
meter.host_priority = 90
meter.log_header = true
meter.start_immediately = false
meter.start_check_period = 25
# --------------------------------------------------------------------------------------------------
# ENVIRONMENT: ARMv8
# Apps and zones
[ENVIRONMENTS.ARMv8.APPS]
snk = {executable = "meter_thermal_sysfs", zone = "combined"}
src = {executable = "generator_utilisation_mt", zone = "combined"}
# Platform settings -> source
[ENVIRONMENTS.ARMv8.src]
# generator
generator.host_pinning = 1
generator.should_pin_host = true
generator.cores = [4]
generator.host_policy = "round_robin"
generator.host_priority = 99
generator.worker_priority = 98
generator.worker_policy = "round_robin"
generator.should_pin_workers = true
generator.start_check_period = 25
# logging