230 likes | 367 Views
Fig 1. Multimedia tasks (processes or threads). performance requirements (via system calls). monitoring. scheduling. SRT Scheduler. demand distribution. Profiler. time allocation. GRACE-OS. Speed Adaptor. speed scaling. CPU. Fig 2. j th job. ( j+ 1) th job. out. in.
E N D
Fig 1 Multimedia tasks (processes or threads) performance requirements (via system calls) monitoring scheduling SRT Scheduler demand distribution Profiler time allocation GRACE-OS Speed Adaptor speed scaling CPU
Fig 2 jth job (j+1)th job out in finish/out in finish/out in out in out in c1 c2 c3 c4 c5 c7 c8 c9 c10 c6 cycles cycles for jth job = (c2 – c1) + (c4 – c3) cycles for (j+1)th job = (c6 – c5) + (c8 – c7) + (c10 – c9) legend in profiled task is switched in for execution out profiled task is switched out for suspension finish profiled task finishes a job
b1 b2 Fig 3 1 cumulative distribution function F(x) cumulative probability Cmin=b0 br=Cmax br-1 cycle demand
b1 b2 Fig 4 statistical performance requirement 1 p cumulative probability Cmin=b0 br=Cmax bm cycle demand cycle allocation C
Fig 5 cycle: speed: 0 100 MHz 1 x 106 120 MHz 2 x 106 180 MHz 3 x 106 300 MHz (a) Speed schedule with four scaling points 120 speed (MHz) 100 job1's cycles=1.6x10 6 time (ms) 10 15 180 120 speed (MHz) 100 job2's cycles = 2.5 x 10 6 time (ms) 10 18.3 21.1 300 speed (MHz) 180 120 100 job3's cycles = 3.9 x 10 6 time (ms) 10 18.3 23.8 26.8 (b) Speed scaling for three jobs using speed schedule in (a)
SRT tasks (processes or threads) • Instrumented with SRT APIs user level kernel level system calls process control block standard Linux scheduler • SRT-DVS modules • Soft real-time scheduling • PowerNow speed scaling hook Fig 6
process control block • SRT flag • cycle counter • cycle budget • speed schedule • current point • other attributes … scaling point (cycle, speed) (cycle, speed) speed increase … (cycle, speed) Fig 7
Eq 6-7 Eq 8-10
Eq 11-12 Eq 13