Introduction Scheduling Example Utilization AMC Results Conclusions Extra
Mixed-Criticality Scheduling with I/O
Eric Missimer, Katherine Missimer, Richard West Boston University Computer Science
1 / 25
Mixed-Criticality Scheduling with I/O Eric Missimer, Katherine - - PowerPoint PPT Presentation
Introduction Scheduling Example Utilization AMC Results Conclusions Extra Mixed-Criticality Scheduling with I/O Eric Missimer, Katherine Missimer, Richard West Boston University Computer Science 1 / 25 Introduction Scheduling Example
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
1 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ Previously developed Quest-V separation kernel for
◮ Mixed-criticality now applied to single Quest kernel ◮ Mixed-criticality scheduling in presence of I/O ◮ Work builds on Quest’s hierarchical VCPU scheduling
2 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
3 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
4 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
5 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ Two classes
◮ Main → for conventional tasks ◮ I/O → for I/O event threads (e.g., ISRs)
◮ Scheduling policies
◮ Main → Sporadic Server (SS) ◮ I/O → Priority Inheritance Bandwidth-preserving Server
6 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ Each SS VCPU has pair (C,T) ◮ Guarantee budget (C) every period (T) when runnable ◮ Rate-monotonic scheduling theory applies
7 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ Each I/O VCPU has utilization factor UIO ◮ I/O VCPU inherits period & priority from Main VCPU
◮ TIO = TMain ◮ CIO = UIO×TMain ◮ I/O VCPU eligible to execute at te = t + Cactual/UIO ◮ t =start of latest execution (>= previous eligibility time)
8 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
9 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
10 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
11 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ System of n Main and m I/O VPUs, and one PCPU ◮ n−1 i=0 Ci Ti + m−1 j=0 (2 − Uj)·Uj ≤ n·(
n
◮ Ci & Ti are the budget capacity and period of Main
◮ Uj is the utilization factor of I/O VCPU Vj
12 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
13 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ AMC tasks defined by:
◮ Period (Ti), Deadline (Di) ◮ Vector of Capacities (−
◮ System operates in one of a set of criticality levels
◮ e.g., Criticality Level L ∈ {LO, HI} ◮ HI-criticality task, Ci(HI)≥Ci(LO) ◮ LO-criticality task, Ci(HI) is undefined 14 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ System starts in LO-criticality mode ◮ If a task uses its entire capacity and does not signal job
◮ Only HI-criticality tasks run in HI-criticality mode, using
◮ Allows extra capacity to finish HI-criticality jobs before
15 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ Extended AMC to include PIBS for I/O requests ◮ Response time (schedulability) analysis considers
◮ when tasks are in HI-criticality mode ◮ when tasks are in LO-criticality mode ◮ when tasks switch from LO- to HI-criticality mode ◮ added interference by PIBS
16 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ We saw added execution time by a PIBS task is
◮ Added interference I q k by PIBS τk assigned to SS τq...
k (t) = (Tq−TqUk) Uk +
◮ IO-AMC response time bound adds I q k for each PIBS τk
17 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ For each PIBS τk, have a vector of utilizations −
◮ If τk is a HI-crit PIBS then Uk(HI)≥Uk(LO) ◮ If τk is a LO-crit PIBS then Uk(LO) > Uk(HI) ◮ Then I q k (t, L) is the interference by PIBS τk assigned to
18 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
19 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
0.1 0.2 0.3 0.4 0.5 0.6 0.7 20 40 60 80 100 120 140 160 180 CPU % Time (seconds) PIBS Sporadic Server
20 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
0.1 0.2 0.3 0.4 0.5 0.6 0.7 20 40 60 80 100 120 140 160 180 CPU % Time (seconds) PIBS Sporadic Server
21 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
1 2 3 4 5 Server Type Job Completion Time (seconds) HI-Criticalty Task (SS+PIBS) LO-Criticalty Task (SS+PIBS) HI-Criticalty (SS-Only) LO-Criticalty (SS-Only)
22 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
1x106 2x106 3x106 4x106 5x106 6x106 7x106 10 20 30 40 50 60 Total Bytes Read Time (seconds) Camera 1 Camera 2
◮ Can assign criticality levels to devices to control
◮ Mode change at 30 seconds ◮ Camera 1 – U(LO) = 0.1%, U(HI) = 1% ◮ Camera 2 – U(LO) = 1%, U(HI) = 0.1%
23 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
◮ Added IO-AMC support to Quest RTOS ◮ Simulations (& analysis) show SS for both tasks &
◮ Expts show PIBS for interrupt handling incurs lower
◮ Ability to assign criticality levels to devices ◮ Future work to consider more complex scenarios where
24 / 25
Introduction Scheduling Example Utilization AMC Results Conclusions Extra
0 % 20 % 40 % 60 % 80 % 100 % 0.2 0.4 0.6 0.8 1 Schedulable Task Sets Utilization AMC UB IO-AMC UB AMC-rtb IO-AMC-rtb
25 / 25