Cri$cality*Monotonic.Scheduling.with Dynamic(Processor(Affini0es
!Björn!B.!Brandenburg! !bbb@mpi2sws.org
Dagstuhl,*March*2015 1
Cri$cality*Monotonic.Scheduling.with Dynamic(Processor(Affini0es - - PowerPoint PPT Presentation
Cri$cality*Monotonic.Scheduling.with Dynamic(Processor(Affini0es !Bjrn!B.!Brandenburg! !bbb@mpi2sw s.org Dagstuhl,*March*2015 1 This%talk:% Pragma&c %Mixed/Cri2cality%Scheduling How$to$schedule$ $Vestal/style$dual/cri3cality$workloads$
Dagstuhl,*March*2015 1
Dagstuhl,*March*2015 2
Linux!—!sched_setaffinity(…) FreeBSD!—!cpuset_setaffinity(…) Windows!—!SetThreadAffinityMask(…) —!—!— QNX!—!ThreadCtl(_NTO_TCTL_RUNMASK, …) VxWorks!—!taskCpuAffinitySet(…) SYSGO9PikeOS!—!p4_thread_set_affinity(…) Green9Hills9Integrity!—!“tuMP&Affinity&Groups” RTEMS!—!_Scheduler_priority_affinity_SMP_Set_affinity(…)
Dagstuhl,*March*2015 3
Dagstuhl,*March*2015 4
Dagstuhl,*March*2015 5
Dagstuhl,*March*2015 6
Dagstuhl,*March*2015 7
Dagstuhl,*March*2015 8
i
i
Dagstuhl,*March*2015 9
i
i
Dagstuhl,*March*2015 10
Scheduling+strategy+on+ +cores+with+a+strong'APA+scheduler:
.
.
'(resp.,' )'executes'for'more'than' '(resp.,' )' 0me'units,'give'it'an'augmented'affinity'of' .
Dagstuhl,*March*2015 11
1 2 3 4 5 6 7 8 9 10
P1 P2 P1 P2 P2 P1 P2 P1 P2 P2 P2 P2
Ti = (eL
i , eH i , pi)
Dagstuhl,*March*2015 12
1 2 3 4 5 6 7 8 9 10 Ti = (eL
i , eH i , pi)
P1 P2 P1 P2 P2 P2 P1 P1 P2 P2 P1 P2 P2
Dagstuhl,*March*2015 13
Dagstuhl,*March*2015 14
Dagstuhl,*March*2015 15
Dagstuhl,*March*2015 16
"is"an"APA"response9=me"problem"(with"ji#er).
"and" "to"be"maximal. ➞"Don’t&pay&twice!for!the!same!higher-priority!job’s!interference. ➞"Express"less"pessimis=c"bound"for" "as"a"func=on"of" .
Dagstuhl,*March*2015 17
Dagstuhl,*March*2015 18
Dagstuhl,*March*2015 19
Dagstuhl,*March*2015 20
Dagstuhl,*March*2015 21
Dagstuhl,*March*2015 22
Dagstuhl,*March*2015 23