diff --git a/instance.py b/instance.py index 9860b99255e9b564775b36f5d43acabf36d84ac8..05378f6b763411b81fc0239c25ea68eb31048f90 100755 --- a/instance.py +++ b/instance.py @@ -25,7 +25,7 @@ def prepare_input_data(expe_num, start_date): job_walltime_factor=8) -def run_expe(expe_num, user_category, window_size, clean_log): +def run_expe(expe_num, user_category, window_size, clean_log, nb_cores=16): """Run batmen with given behavior and demand response window. Expe_num should be a small integer (eg < 100)""" # Useful vars and output folder @@ -60,9 +60,14 @@ def run_expe(expe_num, user_category, window_size, clean_log): # Generate and run robin instance socket_batsim = f"tcp://localhost:280{expe_num:02d}" socket_batsched = f"tcp://*:280{expe_num:02d}" + quiet_batsim, quiet_batmen = "", "" + if clean_log: + quiet_batsim = "-q " + quiet_batmen = "--verbosity=silent " batcmd = gen_batsim_cmd( - pf, wl, EXPE_DIR, f"--socket-endpoint={socket_batsim} --energy --enable-compute-sharing --enable-dynamic-jobs --acknowledge-dynamic-jobs --enable-profile-reuse") - schedcmd = f"batsched --socket-endpoint={socket_batsched} -v bin_packing_energy --queue_order=desc_size --variant_options_filepath={uf}" + pf, wl, EXPE_DIR, + f"--socket-endpoint={socket_batsim} {quiet_batsim} --energy --enable-compute-sharing --enable-dynamic-jobs --acknowledge-dynamic-jobs --enable-profile-reuse") + schedcmd = f"batmen {quiet_batmen} --socket-endpoint={socket_batsched} --nb_cores={nb_cores} -v bin_packing_energy --variant_options_filepath={uf}" instance = RobinInstance(output_dir=EXPE_DIR, batcmd=batcmd, schedcmd=schedcmd, @@ -75,14 +80,14 @@ def run_expe(expe_num, user_category, window_size, clean_log): print(f"Robin {EXPE_FILE} finished") # Remove the log files that can quickly become heavy... - if clean_log: - os.remove(f"{EXPE_DIR}/log/batsim.log") - os.remove(f"{EXPE_DIR}/log/sched.err.log") - os.remove(f"{EXPE_DIR}/log/sched.out.log") + # if clean_log: + # os.remove(f"{EXPE_DIR}/log/batsim.log") + # os.remove(f"{EXPE_DIR}/log/sched.err.log") + # os.remove(f"{EXPE_DIR}/log/sched.out.log") -def start_instance(expe_num, start_date, prepare_workload=True, clean_log=False): +def start_instance(expe_num, start_date, prepare_workload=True, clean_log=False, only_degrad_temp=False): # Prepare workload if prepare_workload: prepare_input_data(expe_num, start_date) @@ -96,8 +101,12 @@ def start_instance(expe_num, start_date, prepare_workload=True, clean_log=False) window_size=1, clean_log=clean_log) # 4*2 = 8 expe - for behavior in ["dm_user_reconfig","dm_user_degrad_space", - "dm_user_renounce","dm_user_delay"]: + if only_degrad_temp: + bhvs = ["dm_user_degrad_temp"] + else: + bhvs = ["dm_user_reconfig","dm_user_degrad_space", "dm_user_degrad_temp", + "dm_user_renounce","dm_user_delay"] + for behavior in bhvs: for window_size in [1, 4]: run_expe(expe_num, behavior, window_size, clean_log=clean_log)