diff options
26 files changed, 113 insertions, 46 deletions
| @@ -6,12 +6,12 @@ case-study: | |||
| 6 | $(MAKE) -C SD-VBS/benchmarks compile | 6 | $(MAKE) -C SD-VBS/benchmarks compile |
| 7 | 7 | ||
| 8 | benchmarks: | 8 | benchmarks: |
| 9 | sed -i "s/LITMUS 1/LITMUS 0/g" extra.h | 9 | sed -i "s/LITMUS 0/LITMUS 1/g" extra.h |
| 10 | #$(MAKE) -C baseline all | 10 | # $(MAKE) -C baseline all |
| 11 | #$(MAKE) -C all_pairs all | 11 | #$(MAKE) -C all_pairs all |
| 12 | #$(MAKE) -C dis pairs | 12 | #$(MAKE) -C dis pairs |
| 13 | # $(MAKE) -C SD-VBS/benchmarks CFLAGS=-DPAIRED compile | 13 | $(MAKE) -C SD-VBS/benchmarks CFLAGS=-DPAIRED compile |
| 14 | $(MAKE) -C SD-VBS/benchmarks compile | 14 | # $(MAKE) -C SD-VBS/benchmarks compile |
| 15 | 15 | ||
| 16 | 16 | ||
| 17 | benches := svm mser sift texture_synthesis tracking disparity localization multi_ncut stitch | 17 | benches := svm mser sift texture_synthesis tracking disparity localization multi_ncut stitch |
diff --git a/SD-VBS/dag_binaries/disparity_qcif_pair b/SD-VBS/dag_binaries/disparity_qcif_pair index e40c79c..44a7f81 100755 --- a/SD-VBS/dag_binaries/disparity_qcif_pair +++ b/SD-VBS/dag_binaries/disparity_qcif_pair | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/disparity_qcif_single b/SD-VBS/dag_binaries/disparity_qcif_single index 961f76f..73bd933 100755 --- a/SD-VBS/dag_binaries/disparity_qcif_single +++ b/SD-VBS/dag_binaries/disparity_qcif_single | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/localization_qcif_pair b/SD-VBS/dag_binaries/localization_qcif_pair index 846e01d..5fb17b3 100755 --- a/SD-VBS/dag_binaries/localization_qcif_pair +++ b/SD-VBS/dag_binaries/localization_qcif_pair | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/localization_qcif_single b/SD-VBS/dag_binaries/localization_qcif_single index 4c18acd..be38797 100755 --- a/SD-VBS/dag_binaries/localization_qcif_single +++ b/SD-VBS/dag_binaries/localization_qcif_single | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/mser_qcif_pair b/SD-VBS/dag_binaries/mser_qcif_pair index 59532ba..3b66704 100755 --- a/SD-VBS/dag_binaries/mser_qcif_pair +++ b/SD-VBS/dag_binaries/mser_qcif_pair | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/mser_qcif_single b/SD-VBS/dag_binaries/mser_qcif_single index 18be365..80c4abd 100755 --- a/SD-VBS/dag_binaries/mser_qcif_single +++ b/SD-VBS/dag_binaries/mser_qcif_single | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/multi_ncut_qcif_pair b/SD-VBS/dag_binaries/multi_ncut_qcif_pair index a92002f..d5c9eb2 100755 --- a/SD-VBS/dag_binaries/multi_ncut_qcif_pair +++ b/SD-VBS/dag_binaries/multi_ncut_qcif_pair | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/multi_ncut_qcif_single b/SD-VBS/dag_binaries/multi_ncut_qcif_single index db3d837..9772c3c 100755 --- a/SD-VBS/dag_binaries/multi_ncut_qcif_single +++ b/SD-VBS/dag_binaries/multi_ncut_qcif_single | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/sift_qcif_pair b/SD-VBS/dag_binaries/sift_qcif_pair index e8fb035..d08dcd6 100755 --- a/SD-VBS/dag_binaries/sift_qcif_pair +++ b/SD-VBS/dag_binaries/sift_qcif_pair | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/sift_qcif_single b/SD-VBS/dag_binaries/sift_qcif_single index f829bbe..a1c8c3d 100755 --- a/SD-VBS/dag_binaries/sift_qcif_single +++ b/SD-VBS/dag_binaries/sift_qcif_single | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/stitch_qcif_pair b/SD-VBS/dag_binaries/stitch_qcif_pair index e0359cb..a6e9ea9 100755 --- a/SD-VBS/dag_binaries/stitch_qcif_pair +++ b/SD-VBS/dag_binaries/stitch_qcif_pair | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/stitch_qcif_single b/SD-VBS/dag_binaries/stitch_qcif_single index 31278ac..209fc86 100755 --- a/SD-VBS/dag_binaries/stitch_qcif_single +++ b/SD-VBS/dag_binaries/stitch_qcif_single | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/svm_qcif_pair b/SD-VBS/dag_binaries/svm_qcif_pair index aa9e7f1..8891062 100755 --- a/SD-VBS/dag_binaries/svm_qcif_pair +++ b/SD-VBS/dag_binaries/svm_qcif_pair | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/svm_qcif_single b/SD-VBS/dag_binaries/svm_qcif_single index da0986e..76da83f 100755 --- a/SD-VBS/dag_binaries/svm_qcif_single +++ b/SD-VBS/dag_binaries/svm_qcif_single | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/texture_synthesis_qcif_pair b/SD-VBS/dag_binaries/texture_synthesis_qcif_pair index 4017329..5133606 100755 --- a/SD-VBS/dag_binaries/texture_synthesis_qcif_pair +++ b/SD-VBS/dag_binaries/texture_synthesis_qcif_pair | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/texture_synthesis_qcif_single b/SD-VBS/dag_binaries/texture_synthesis_qcif_single index 9e75bce..c982e12 100755 --- a/SD-VBS/dag_binaries/texture_synthesis_qcif_single +++ b/SD-VBS/dag_binaries/texture_synthesis_qcif_single | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/tracking_qcif_pair b/SD-VBS/dag_binaries/tracking_qcif_pair index 3967bc8..bafb339 100755 --- a/SD-VBS/dag_binaries/tracking_qcif_pair +++ b/SD-VBS/dag_binaries/tracking_qcif_pair | |||
| Binary files differ | |||
diff --git a/SD-VBS/dag_binaries/tracking_qcif_single b/SD-VBS/dag_binaries/tracking_qcif_single index 023dfc9..25d9d80 100755 --- a/SD-VBS/dag_binaries/tracking_qcif_single +++ b/SD-VBS/dag_binaries/tracking_qcif_single | |||
| Binary files differ | |||
| @@ -1 +1 @@ | |||
| 1,disparity_qcif, cut001, 5, 9, 4, 1, 100, 1, 0, svm_qcif, svm001 \ No newline at end of file | 1,disparity_qcif, dis001, 5, 1, 3, 1, 10, 1, 19, mser_qcif, mser001 \ No newline at end of file | ||
diff --git a/deadline_misses b/deadline_misses index 90ccbf7..664ac11 100644 --- a/deadline_misses +++ b/deadline_misses | |||
| @@ -1,2 +1,8 @@ | |||
| 1 | (svm001/232202:2) HAZARDOUS: Level-B tardy 50419794 ns, relative tardiness 0.504198 | 1 | (dis001/93299:2) tardy 3033045 ns, relative tardiness 0.303304 |
| 2 | (svm001/232202:3) HAZARDOUS: Level-B tardy 639529 ns, relative tardiness 0.006395 | 2 | (dis001/93299:3) tardy 6005778 ns, relative tardiness 0.600578 |
| 3 | (mser001/93302:4) tardy 102354 ns, relative tardiness 0.010235 | ||
| 4 | (dis001/93299:4) tardy 8989592 ns, relative tardiness 0.898959 | ||
| 5 | (mser001/93302:5) tardy 3083757 ns, relative tardiness 0.308376 | ||
| 6 | (dis001/93299:5) tardy 11969214 ns, relative tardiness 1.196921 | ||
| 7 | (mser001/93302:6) tardy 6060660 ns, relative tardiness 0.606066 | ||
| 8 | (dis001/93299:6) tardy 15251106 ns, relative tardiness 1.525111 | ||
| @@ -244,10 +244,10 @@ static void _rt_load_params_itrl(int argc, char **argv) { | |||
| 244 | exit(1); | 244 | exit(1); |
| 245 | } | 245 | } |
| 246 | _rt_cp = get_ctrl_page(); | 246 | _rt_cp = get_ctrl_page(); |
| 247 | if (wait && wait_for_ts_release() != 0) { | 247 | // if (wait && wait_for_ts_release() != 0) { |
| 248 | perror("Unable to wait for taskset release"); | 248 | // perror("Unable to wait for taskset release"); |
| 249 | exit(1); | 249 | // exit(1); |
| 250 | } | 250 | // } |
| 251 | #endif /* LITMUS */ | 251 | #endif /* LITMUS */ |
| 252 | #if MMDC_PROF | 252 | #if MMDC_PROF |
| 253 | SETUP_MMDC | 253 | SETUP_MMDC |
| @@ -434,31 +434,46 @@ out: | |||
| 434 | // Start a job | 434 | // Start a job |
| 435 | static void _rt_start_loop() { | 435 | static void _rt_start_loop() { |
| 436 | #if LITMUS | 436 | #if LITMUS |
| 437 | static lt_t last = 0; | 437 | if (_rt_jobs_complete == 0) { |
| 438 | lt_t now = litmus_clock(); | 438 | if(wait_for_ts_release() != 0){ |
| 439 | if (now > _rt_cp->deadline) { | 439 | perror("Unable to wait for taskset release"); |
| 440 | fprintf(stderr, "(%s/%d:%lu) ", _rt_our_prog_name, gettid(), _rt_cp->job_index); | 440 | exit(1); |
| 441 | if (_rt_crit == 0) | 441 | } |
| 442 | fprintf(stderr, "CATASTROPHIC: Level-A"); | 442 | } |
| 443 | else if (_rt_crit == 1) | 443 | else{ |
| 444 | fprintf(stderr, "HAZARDOUS: Level-B"); | 444 | if (sleep_next_period() != 0) { |
| 445 | else | 445 | perror("Unable to sleep for next period"); |
| 446 | fprintf(stderr, "MAJOR: Level-C"); | 446 | } |
| 447 | fprintf(stderr, " tardy %llu ns, " | ||
| 448 | "relative tardiness %f\n", | ||
| 449 | now - _rt_cp->deadline, | ||
| 450 | (now - _rt_cp->deadline) / (double)_rt_period); | ||
| 451 | } | 447 | } |
| 452 | if (last == 0) { | 448 | // static lt_t last = 0; |
| 453 | last = now; | 449 | // lt_t now = litmus_clock(); |
| 454 | } | 450 | // fprintf(stderr, "current now : %llu\n", now); |
| 451 | // if (now > _rt_cp->deadline) { | ||
| 452 | // fprintf(stderr, "(%s/%d:%lu) ", _rt_our_prog_name, gettid(), _rt_cp->job_index); | ||
| 453 | // // if (_rt_crit == 0) | ||
| 454 | // // fprintf(stderr, "CATASTROPHIC: Level-A"); | ||
| 455 | // // else if (_rt_crit == 1) | ||
| 456 | // // fprintf(stderr, "HAZARDOUS: Level-B"); | ||
| 457 | // // else | ||
| 458 | // // fprintf(stderr, "MAJOR: Level-C"); | ||
| 459 | // fprintf(stderr, " tardy %llu ns, " | ||
| 460 | // "relative tardiness %f\n", | ||
| 461 | // now - _rt_cp->deadline, | ||
| 462 | // (now - _rt_cp->deadline) / (double)_rt_period); | ||
| 463 | // } | ||
| 464 | // if (last == 0) { | ||
| 465 | // last = now; | ||
| 466 | // } | ||
| 455 | // else if (now > last + 60ull * _BILLION && _rt_crit >= 2) { | 467 | // else if (now > last + 60ull * _BILLION && _rt_crit >= 2) { |
| 456 | // last = now; | 468 | // last = now; |
| 457 | // fprintf(stderr, "(%s/%d:%lu) Ping\n", _rt_our_prog_name, gettid(), _rt_cp->job_index); | 469 | // fprintf(stderr, "(%s/%d:%lu) Ping\n", _rt_our_prog_name, gettid(), _rt_cp->job_index); |
| 458 | // } | 470 | // } |
| 459 | if (sleep_next_period() != 0) { | 471 | // lt_t now = litmus_clock(); |
| 460 | perror("Unable to sleep for next period"); | 472 | // if(_rt_jobs_complete != 0){ |
| 461 | } | 473 | // fprintf(stderr, "in start before sleep: release: %llu, deadline: %llu, now: %llu\n", _rt_cp->release ,_rt_cp->deadline, litmus_clock()); |
| 474 | |||
| 475 | // fprintf(stderr, "in start after sleep: release: %llu, deadline: %llu, now: %llu\n", _rt_cp->release ,_rt_cp->deadline, litmus_clock()); | ||
| 476 | // } | ||
| 462 | #else | 477 | #else |
| 463 | sched_yield(); | 478 | sched_yield(); |
| 464 | #endif /* LITMUS */ | 479 | #endif /* LITMUS */ |
| @@ -488,6 +503,22 @@ static void _rt_stop_loop() { | |||
| 488 | get_mmdc_profiling_results(mmdc, &mmdc_res); | 503 | get_mmdc_profiling_results(mmdc, &mmdc_res); |
| 489 | #endif /* MMDC_PROF */ | 504 | #endif /* MMDC_PROF */ |
| 490 | _rt_save_job_result(); | 505 | _rt_save_job_result(); |
| 506 | #if LITMUS | ||
| 507 | long long end = _rt_end_time[_rt_jobs_complete]; | ||
| 508 | if (end > _rt_cp->deadline) { | ||
| 509 | fprintf(stderr, "(%s/%d:%lu) ", _rt_our_prog_name, gettid(), _rt_cp->job_index); | ||
| 510 | // if (_rt_crit == 0) | ||
| 511 | // fprintf(stderr, "CATASTROPHIC: Level-A"); | ||
| 512 | // else if (_rt_crit == 1) | ||
| 513 | // fprintf(stderr, "HAZARDOUS: Level-B"); | ||
| 514 | // else | ||
