From f0097f8a6e0a93224393948eebc3c9179b5085c3 Mon Sep 17 00:00:00 2001 From: leochanj105 Date: Fri, 22 Oct 2021 03:42:00 -0400 Subject: l3 partitioning, fixed phase=0 problem --- Makefile | 3 +- SD-VBS/dag_binaries/disparity_qcif_pair | Bin 131576 -> 131576 bytes SD-VBS/dag_binaries/disparity_qcif_single | Bin 126312 -> 126312 bytes SD-VBS/dag_binaries/localization_qcif_pair | Bin 140232 -> 140232 bytes SD-VBS/dag_binaries/localization_qcif_single | Bin 130872 -> 130872 bytes SD-VBS/dag_binaries/mser_qcif_pair | Bin 126912 -> 126912 bytes SD-VBS/dag_binaries/mser_qcif_single | Bin 125736 -> 125736 bytes SD-VBS/dag_binaries/multi_ncut_qcif_pair | Bin 131216 -> 131216 bytes SD-VBS/dag_binaries/multi_ncut_qcif_single | Bin 125952 -> 125952 bytes SD-VBS/dag_binaries/sift_qcif_pair | Bin 140328 -> 140328 bytes SD-VBS/dag_binaries/sift_qcif_single | Bin 135056 -> 135056 bytes SD-VBS/dag_binaries/stitch_qcif_pair | Bin 135600 -> 135600 bytes SD-VBS/dag_binaries/stitch_qcif_single | Bin 130336 -> 130336 bytes SD-VBS/dag_binaries/svm_qcif_pair | Bin 135584 -> 135584 bytes SD-VBS/dag_binaries/svm_qcif_single | Bin 130320 -> 130320 bytes SD-VBS/dag_binaries/texture_synthesis_qcif_pair | Bin 136296 -> 136296 bytes SD-VBS/dag_binaries/texture_synthesis_qcif_single | Bin 131032 -> 131032 bytes SD-VBS/dag_binaries/tracking_qcif_pair | Bin 135536 -> 135536 bytes SD-VBS/dag_binaries/tracking_qcif_single | Bin 130272 -> 130272 bytes dag_example | 8 ++--- deadline_misses | 36 ++++++++------------ extra.h | 4 +-- run_case_study_dag.py | 38 ++++++++++++---------- 23 files changed, 42 insertions(+), 47 deletions(-) diff --git a/Makefile b/Makefile index 9205e0b..d2b1c23 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,8 @@ dag_path := SD-VBS/dag_binaries single_suffix := _qcif_single pair_suffix := _qcif_pair dag-case-study: - sed -i "s/LITMUS 0/LITMUS 1/g" extra.h + sudo sed -i "s/LITMUS 0/LITMUS 1/g" extra.h + sudo mkdir -p SD-VBS/dag_binaries $(MAKE) -C SD-VBS/benchmarks compile @for v in $(benches) ; do \ # echo "$(dag_path)/$$v""$(single_suffix)"; \ diff --git a/SD-VBS/dag_binaries/disparity_qcif_pair b/SD-VBS/dag_binaries/disparity_qcif_pair index 85641f7..dcc8b2a 100755 Binary files a/SD-VBS/dag_binaries/disparity_qcif_pair and b/SD-VBS/dag_binaries/disparity_qcif_pair differ diff --git a/SD-VBS/dag_binaries/disparity_qcif_single b/SD-VBS/dag_binaries/disparity_qcif_single index 84037c5..160f584 100755 Binary files a/SD-VBS/dag_binaries/disparity_qcif_single and b/SD-VBS/dag_binaries/disparity_qcif_single differ diff --git a/SD-VBS/dag_binaries/localization_qcif_pair b/SD-VBS/dag_binaries/localization_qcif_pair index 695375c..228b061 100755 Binary files a/SD-VBS/dag_binaries/localization_qcif_pair and b/SD-VBS/dag_binaries/localization_qcif_pair differ diff --git a/SD-VBS/dag_binaries/localization_qcif_single b/SD-VBS/dag_binaries/localization_qcif_single index 7755bbe..d4d7653 100755 Binary files a/SD-VBS/dag_binaries/localization_qcif_single and b/SD-VBS/dag_binaries/localization_qcif_single differ diff --git a/SD-VBS/dag_binaries/mser_qcif_pair b/SD-VBS/dag_binaries/mser_qcif_pair index cbb5562..3357767 100755 Binary files a/SD-VBS/dag_binaries/mser_qcif_pair and b/SD-VBS/dag_binaries/mser_qcif_pair differ diff --git a/SD-VBS/dag_binaries/mser_qcif_single b/SD-VBS/dag_binaries/mser_qcif_single index 96e2338..df762fc 100755 Binary files a/SD-VBS/dag_binaries/mser_qcif_single and b/SD-VBS/dag_binaries/mser_qcif_single differ diff --git a/SD-VBS/dag_binaries/multi_ncut_qcif_pair b/SD-VBS/dag_binaries/multi_ncut_qcif_pair index eb10fa7..f690a19 100755 Binary files a/SD-VBS/dag_binaries/multi_ncut_qcif_pair and b/SD-VBS/dag_binaries/multi_ncut_qcif_pair differ diff --git a/SD-VBS/dag_binaries/multi_ncut_qcif_single b/SD-VBS/dag_binaries/multi_ncut_qcif_single index b7188c8..7c601e2 100755 Binary files a/SD-VBS/dag_binaries/multi_ncut_qcif_single and b/SD-VBS/dag_binaries/multi_ncut_qcif_single differ diff --git a/SD-VBS/dag_binaries/sift_qcif_pair b/SD-VBS/dag_binaries/sift_qcif_pair index fac7559..7a1328b 100755 Binary files a/SD-VBS/dag_binaries/sift_qcif_pair and b/SD-VBS/dag_binaries/sift_qcif_pair differ diff --git a/SD-VBS/dag_binaries/sift_qcif_single b/SD-VBS/dag_binaries/sift_qcif_single index 9f4d486..c9014b2 100755 Binary files a/SD-VBS/dag_binaries/sift_qcif_single and b/SD-VBS/dag_binaries/sift_qcif_single differ diff --git a/SD-VBS/dag_binaries/stitch_qcif_pair b/SD-VBS/dag_binaries/stitch_qcif_pair index e16e2b7..b5a94e7 100755 Binary files a/SD-VBS/dag_binaries/stitch_qcif_pair and b/SD-VBS/dag_binaries/stitch_qcif_pair differ diff --git a/SD-VBS/dag_binaries/stitch_qcif_single b/SD-VBS/dag_binaries/stitch_qcif_single index cf88cb1..3c98818 100755 Binary files a/SD-VBS/dag_binaries/stitch_qcif_single and b/SD-VBS/dag_binaries/stitch_qcif_single differ diff --git a/SD-VBS/dag_binaries/svm_qcif_pair b/SD-VBS/dag_binaries/svm_qcif_pair index 2443f6b..9a6a651 100755 Binary files a/SD-VBS/dag_binaries/svm_qcif_pair and b/SD-VBS/dag_binaries/svm_qcif_pair differ diff --git a/SD-VBS/dag_binaries/svm_qcif_single b/SD-VBS/dag_binaries/svm_qcif_single index 24246a1..c8c46d2 100755 Binary files a/SD-VBS/dag_binaries/svm_qcif_single and b/SD-VBS/dag_binaries/svm_qcif_single differ diff --git a/SD-VBS/dag_binaries/texture_synthesis_qcif_pair b/SD-VBS/dag_binaries/texture_synthesis_qcif_pair index 5703d2e..caa5d7c 100755 Binary files a/SD-VBS/dag_binaries/texture_synthesis_qcif_pair and b/SD-VBS/dag_binaries/texture_synthesis_qcif_pair differ diff --git a/SD-VBS/dag_binaries/texture_synthesis_qcif_single b/SD-VBS/dag_binaries/texture_synthesis_qcif_single index 1ed3ee7..534b0d3 100755 Binary files a/SD-VBS/dag_binaries/texture_synthesis_qcif_single and b/SD-VBS/dag_binaries/texture_synthesis_qcif_single differ diff --git a/SD-VBS/dag_binaries/tracking_qcif_pair b/SD-VBS/dag_binaries/tracking_qcif_pair index 4132b01..833324c 100755 Binary files a/SD-VBS/dag_binaries/tracking_qcif_pair and b/SD-VBS/dag_binaries/tracking_qcif_pair differ diff --git a/SD-VBS/dag_binaries/tracking_qcif_single b/SD-VBS/dag_binaries/tracking_qcif_single index cbb0c10..621bd10 100755 Binary files a/SD-VBS/dag_binaries/tracking_qcif_single and b/SD-VBS/dag_binaries/tracking_qcif_single differ diff --git a/dag_example b/dag_example index f52ff5c..233528f 100644 --- a/dag_example +++ b/dag_example @@ -1,4 +1,4 @@ -1, mser_qcif, mser001, 5, 0, 1, 1, 100, 1, 7, sift_qcif, sift001 -0, mser_qcif, mser002, 3, 1, 2, 1, 10, 1, 13 -1, svm_qcif, svm001, 6, 0, 3, 1, 50, 1, 11, localization_qcif, localization001 -0, tracking_qcif, tracking001, 3, 2, 4, 1, 9, 1, 37 \ No newline at end of file +1, mser_qcif, mser001, 5, 0, 1, 1, 100, 1, 0, sift_qcif, sift001 +0, mser_qcif, mser002, 3, 1, 2, 1, 10, 1, 0 +1, svm_qcif, svm001, 6, 0, 3, 1, 50, 1, 0, localization_qcif, localization001 +0, tracking_qcif, tracking001, 3, 2, 4, 1, 9, 1, 0 diff --git a/deadline_misses b/deadline_misses index b9d3aa1..a6fe6a8 100644 --- a/deadline_misses +++ b/deadline_misses @@ -1,23 +1,13 @@ -(tracking001/497952:2) HAZARDOUS: Level-B tardy 2594240 ns, relative tardiness 0.288249 -(tracking001/497952:3) HAZARDOUS: Level-B tardy 1489684 ns, relative tardiness 0.165520 -(tracking001/497952:4) HAZARDOUS: Level-B tardy 341547 ns, relative tardiness 0.037950 -(svm001/497937:2) HAZARDOUS: Level-B tardy 92756505 ns, relative tardiness 1.855130 -(mser001/497910:2) HAZARDOUS: Level-B tardy 47794140 ns, relative tardiness 0.477941 -(svm001/497937:3) HAZARDOUS: Level-B tardy 109956550 ns, relative tardiness 2.199131 -(localization001/497941:3) HAZARDOUS: Level-B tardy 111499419 ns, relative tardiness 2.229988 -(svm001/497937:4) HAZARDOUS: Level-B tardy 127490228 ns, relative tardiness 2.549805 -(localization001/497941:4) HAZARDOUS: Level-B tardy 129233193 ns, relative tardiness 2.584664 -(mser001/497910:3) HAZARDOUS: Level-B tardy 90713709 ns, relative tardiness 0.907137 -(sift001/497913:3) HAZARDOUS: Level-B tardy 123545859 ns, relative tardiness 1.235459 -(svm001/497937:5) HAZARDOUS: Level-B tardy 166669051 ns, relative tardiness 3.333381 -(localization001/497941:5) HAZARDOUS: Level-B tardy 167447784 ns, relative tardiness 3.348956 -(localization001/497941:6) HAZARDOUS: Level-B tardy 165639831 ns, relative tardiness 3.312797 -(svm001/497937:6) HAZARDOUS: Level-B tardy 168822509 ns, relative tardiness 3.376450 -(mser001/497910:4) HAZARDOUS: Level-B tardy 128636187 ns, relative tardiness 1.286362 -(sift001/497913:4) HAZARDOUS: Level-B tardy 154725906 ns, relative tardiness 1.547259 -(svm001/497937:7) HAZARDOUS: Level-B tardy 188427477 ns, relative tardiness 3.768550 -(localization001/497941:7) HAZARDOUS: Level-B tardy 189059124 ns, relative tardiness 3.781182 -(mser001/497910:5) HAZARDOUS: Level-B tardy 137590008 ns, relative tardiness 1.375900 -(sift001/497913:5) HAZARDOUS: Level-B tardy 174780618 ns, relative tardiness 1.747806 -(mser001/497910:6) HAZARDOUS: Level-B tardy 82683605 ns, relative tardiness 0.826836 -(sift001/497913:6) HAZARDOUS: Level-B tardy 128132417 ns, relative tardiness 1.281324 +(tracking001/2814:2) HAZARDOUS: Level-B tardy 1763167 ns, relative tardiness 0.195907 +(tracking001/2814:3) HAZARDOUS: Level-B tardy 403976 ns, relative tardiness 0.044886 +(svm001/2797:2) HAZARDOUS: Level-B tardy 102712074 ns, relative tardiness 2.054241 +(svm001/2797:3) HAZARDOUS: Level-B tardy 139940064 ns, relative tardiness 2.798801 +(localization001/2800:3) HAZARDOUS: Level-B tardy 178370600 ns, relative tardiness 3.567412 +(svm001/2797:4) HAZARDOUS: Level-B tardy 196180824 ns, relative tardiness 3.923616 +(localization001/2800:4) HAZARDOUS: Level-B tardy 232648236 ns, relative tardiness 4.652965 +(svm001/2797:5) HAZARDOUS: Level-B tardy 250110392 ns, relative tardiness 5.002208 +(localization001/2800:5) HAZARDOUS: Level-B tardy 286745163 ns, relative tardiness 5.734903 +(svm001/2797:6) HAZARDOUS: Level-B tardy 304772054 ns, relative tardiness 6.095441 +(localization001/2800:6) HAZARDOUS: Level-B tardy 341417704 ns, relative tardiness 6.828354 +(localization001/2800:7) HAZARDOUS: Level-B tardy 351348831 ns, relative tardiness 7.026977 +(svm001/2797:7) HAZARDOUS: Level-B tardy 351960956 ns, relative tardiness 7.039219 diff --git a/extra.h b/extra.h index f2ec84e..60917be 100644 --- a/extra.h +++ b/extra.h @@ -222,8 +222,8 @@ static void _rt_load_params_itrl(int argc, char **argv) { rt_param.period = _rt_period; rt_param.relative_deadline = 0; rt_param.phase = _rt_phase; - // rt_param.priority = LITMUS_LOWEST_PRIORITY; - rt_param.priority = ns2ms(_rt_phase); + rt_param.priority = LITMUS_LOWEST_PRIORITY; + // rt_param.priority = ns2ms(_rt_phase); rt_param.cls = _rt_crit; rt_param.budget_policy = NO_ENFORCEMENT; rt_param.cpu = _rt_core; diff --git a/run_case_study_dag.py b/run_case_study_dag.py index f098e9e..d9a0563 100755 --- a/run_case_study_dag.py +++ b/run_case_study_dag.py @@ -78,6 +78,7 @@ def main(pathName): task_launches = [] max_core = 0 + all_cores = set() # Load task specifications with open(pathName, "r") as file: for line in file: @@ -86,6 +87,7 @@ def main(pathName): core_num = int(parameters[CORE_NUM]) % 16 if max_core < core_num: max_core = core_num + all_cores.add(core_num) # if parameters[0] == '1': # other_core_num = int(parameters[OTHER_CORE_NUM]) % 16 # if other_core_num > max_core: @@ -97,20 +99,22 @@ def main(pathName): ### Allocate Cache Ways ### run('mount -t resctrl resctrl /sys/fs/resctrl') # run('echo "L3:0=0000,1=0000,2=0000,3=0000" > /sys/fs/resctrl/schemata') - # for core in range(16): - # run("mkdir -p /sys/fs/resctrl/core-{}".format(core)) - # ccx = core // 4 - # in_ccx = core % 4 - # mask = "0000" - # mask = mask[:in_ccx] +'f'+ mask[in_ccx+1:] - # if ccx == 0: - # run('echo "L3:0=' + mask + ';1=0000;2=0000;3=0000" > /sys/fs/resctrl/core-{}/schemata'.format(core)) - # if ccx == 1: - # run('echo "L3:0=0000;1=' + mask + ';2=0000;3=0000" > /sys/fs/resctrl/core-{}/schemata'.format(core)) - # if ccx == 2: - # run('echo "L3:0=0000;1=0000;2='+ mask +';3=0000" > /sys/fs/resctrl/core-{}/schemata'.format(core)) - # if ccx == 3: - # run('echo "L3:0=0000;1=0000;2=0000;3=' + mask + '" > /sys/fs/resctrl/core-{}/schemata'.format(core)) + for core in range(16): + if core not in all_cores: + continue + run("mkdir -p /sys/fs/resctrl/core-{}".format(core)) + ccx = core // 4 + in_ccx = core % 4 + mask = "0000" + mask = mask[:in_ccx] +'f'+ mask[in_ccx+1:] + if ccx == 0: + run('echo "L3:0=' + mask + ';1=0000;2=0000;3=0000" > /sys/fs/resctrl/core-{}/schemata'.format(core)) + if ccx == 1: + run('echo "L3:0=0000;1=' + mask + ';2=0000;3=0000" > /sys/fs/resctrl/core-{}/schemata'.format(core)) + if ccx == 2: + run('echo "L3:0=0000;1=0000;2='+ mask +';3=0000" > /sys/fs/resctrl/core-{}/schemata'.format(core)) + if ccx == 3: + run('echo "L3:0=0000;1=0000;2=0000;3=' + mask + '" > /sys/fs/resctrl/core-{}/schemata'.format(core)) # return 1 run("rm -rf /dev/shm/*") @@ -145,7 +149,7 @@ def main(pathName): if not pid_str: print("Unable to launch {} as a solo task! Exiting...".format(task_name)) return 1 - # run("echo " + pid_str + " > /sys/fs/resctrl/core-" + str(phys_core) + "/tasks") + run("echo " + pid_str + " > /sys/fs/resctrl/core-" + str(phys_core) + "/tasks") else: # Paried tasks other_binary_name = launch[OTHER_BINARY_NAME].strip() @@ -171,8 +175,8 @@ def main(pathName): if not pid1_str or not pid2_str: print("Unable to launch {} and {} in a pair! Exiting...".format(task_name, other_task_name)) return 1 - # run("echo " + pid1_str + " > /sys/fs/resctrl/core-" + str(phys_core) + "/tasks") - # run("echo " + pid2_str + " > /sys/fs/resctrl/core-" + str(phys_core) + "/tasks") + run("echo " + pid1_str + " > /sys/fs/resctrl/core-" + str(phys_core) + "/tasks") + run("echo " + pid2_str + " > /sys/fs/resctrl/core-" + str(phys_core) + "/tasks") pairID += 1 if __name__ == "__main__": -- cgit v1.2.2