Semi-Federated Scheduling of Mixed-Criticality System for Sporadic DAG Tasks Tao Yang 1 , Yue Tang 2 , Xu Jiang 2 , Qingxu Deng 1 , Nan Guan 2 1 Northeastern University, China, 2 The Hong Kong Polytechnic University, Hong Kong 2019/5/16 NEU & Polyu 1
Outline ⚫ Background & Contributions ⚫ Preliminaries ⚫ Semi-Federated Mixed-Criticality Algorithm ⚫ Evaluation 2019/5/16 NEU & Polyu 2
Outline ⚫ Background & Contributions ⚫ Preliminaries ⚫ Semi-Federated Mixed-Criticality Algorithm ⚫ Evaluation 2019/5/16 NEU & Polyu 3
Mixed-Criticality Systems Sub-systems with different criticality levels (e.g. avionics): ⚫ Monitoring and control sub-system high ⚫ Anti-collision sub-system ⚫ Navigation sub-system ⚫ … low ⚫ Infotainment sub-system 2019/5/16 NEU & Polyu 4
Mixed-Criticality Systems Characteristics : • More complex functions of system • No reduction in system security requirements Challenges: • Multicore: no enough analytical techniques • Task parallelization: dependencies and competitions among tasks 2019/5/16 NEU & Polyu 5
Facing the problem How to assign computation resources to parallel tasks on a multicore platform while guaranteeing security ? 2019/5/16 NEU & Polyu 6
Our work Propose a semi-federated mixed-criticality scheduling algorithm • Propose a mapping algorithm: from mixed-criticality tasks to a middleware layer (mixed-criticality container tasks) • Prove the schedulablity of our proposed algorithm 2019/5/16 NEU & Polyu 7
Outline ⚫ Background & Contributions ⚫ Preliminaries ⚫ Semi-Federated Mixed-Criticality Algorithm ⚫ Evaluation 2019/5/16 NEU & Polyu 8
Mixed-Criticality Task Model • Implicit-deadline sporadic parallel • Each task is denoted by a directed acyclic graph v1 ✓ Vertices: sequential subtasks v2 v5 v0 ✓ Edges: dependencies v3 • Two types: low-criticality and high-criticality v4 2019/5/16 NEU & Polyu 9
Mixed-Criticality Task Model • WCET of a vertex (subtask): 𝑑 𝑂 and 𝑑 𝑃 • WCET of a task: 𝐷 𝑂 and 𝐷 𝑃 v1 • The longest chain of a task: 𝑀 𝑂 𝑏𝑜𝑒 𝑀 𝑃 v2 v5 v0 • Deadline of a task: 𝐸 v3 • Virtual deadline of a task: 𝐸 ′ v4 • Task utilization: 𝑣 𝑂 = 𝐷 𝑂 𝐷 𝑃 𝑣 𝑃 = 𝐸 ′ 𝐸 − 𝐸 ′ 2019/5/16 NEU & Polyu 10
Existing work: Federated Mixed-Criticality Scheduling • Task types: LH, HVH, HMH • System states: normal state and critical state • Assigning strategy: independently usable cores to each task in the normal and critical states. • In the worst case, half of the resources are wasted … 𝟐 + 𝝑 𝟐 + 𝝑 𝟐 + 𝝑 2019/5/16 NEU & Polyu 11
Outline ⚫ Background & Contributions ⚫ Preliminaries ⚫ Semi-Federated Mixed-Criticality Algorithm ⚫ Evaluation 2019/5/16 NEU & Polyu 12
Architecture of Our Algorithm Semi-Federated Mixed-Criticality Algorithm: • Two-level hierarchical scheduling Top Dispatcher: Mapping algorithm framework Bottom 2019/5/16 NEU & Polyu 13
Architecture of Our Algorithm Semi-Federated Mixed-Criticality Algorithm: • Two-level hierarchical scheduling Top Dispatcher: Mapping algorithm framework • Top-level calculates the mapping from mixed-criticality tasks to mixed-criticality container-tasks. 2019/5/16 NEU & Polyu 14
Architecture of Our Algorithm Semi-Federated Mixed-Criticality Algorithm: • Two-level hierarchical scheduling Dispatcher: Mapping algorithm framework • Top-level calculates the mapping from mixed-criticality tasks to mixed- criticality container-tasks. Bottom • Bottom-level schedules mixed- criticality container-tasks on physical processors. 2019/5/16 NEU & Polyu 15
Mixed-Criticality Container Task • Processor resources interface Dispatcher: Mapping algorithm 2019/5/16 NEU & Polyu 16
Mixed-Criticality Container Task • Processor resources interface • Calculate number of mixed- Dispatcher: Mapping algorithm criticality container tasks in both normal states and critical states 2019/5/16 NEU & Polyu 17
Mixed-Criticality Container Task • Processor resources interface • Semi-federated: Dispatcher: Mapping algorithm Mixed-criticality container tasks provide virtual resources, so the number of mixed-criticality task can be decimal, avoiding resource waste 2019/5/16 NEU & Polyu 18
Mixed-Criticality Container Task • Processor resources interface • If the WCET of a task equals c Dispatcher: Mapping algorithm when it executes on a unit speed processor, then its WCET on a container-task with speed σ is: 𝒖 = 𝒅 𝝉 2019/5/16 NEU & Polyu 19
Mapping Algorithm A mixed-criticality task 𝑂 = 1 𝑑 𝑤0 𝑃 = 2, 𝑂 = 1 𝑑 𝑤1 𝑃 = 3 𝑑 𝑤0 𝑑 𝑤1 v1 𝑂 = 1 𝑑 𝑤2 𝑃 = 3, 𝑂 = 1 𝑑 𝑤3 𝑃 = 3 𝑑 𝑤2 𝑑 𝑤3 𝑂 = 1 𝑑 𝑤4 𝑃 = 3, 𝑂 = 1 𝑑 𝑤5 𝑃 = 2 𝑑 𝑤4 𝑑 𝑤5 v2 v5 v0 𝐸 = 13, 𝐸 ′ = 5 v3 v4 2019/5/16 NEU & Polyu 20
Mapping Algorithm A mixed-criticality task 𝑂 = 1 𝑑 𝑤0 𝑃 = 2, 𝑂 = 1 𝑑 𝑤1 𝑃 = 3 𝑑 𝑤0 𝑑 𝑤1 v1 𝑂 = 1 𝑑 𝑤2 𝑃 = 3, 𝑂 = 1 𝑑 𝑤3 𝑃 = 3 𝑑 𝑤2 𝑑 𝑤3 𝑂 = 1 𝑑 𝑤4 𝑃 = 3, 𝑂 = 1 𝑑 𝑤5 𝑃 = 2 𝑑 𝑤4 𝑑 𝑤5 v2 v5 v0 𝐸 = 13, 𝐸 ′ = 5 𝐷 𝑂 = 6, 𝐷 𝑃 = 16, 𝑀 𝑂 = 3, 𝑀 𝑃 = 7 v3 v4 2019/5/16 NEU & Polyu 21
Mapping Algorithm A mixed-criticality task 𝑂 = 1 𝑑 𝑤0 𝑃 = 2, 𝑂 = 1 𝑑 𝑤1 𝑃 = 3 𝑑 𝑤0 𝑑 𝑤1 v1 𝑂 = 1 𝑑 𝑤2 𝑃 = 3, 𝑂 = 1 𝑑 𝑤3 𝑃 = 3 𝑑 𝑤2 𝑑 𝑤3 𝑂 = 1 𝑑 𝑤4 𝑃 = 3, 𝑂 = 1 𝑑 𝑤5 𝑃 = 2 𝑑 𝑤4 𝑑 𝑤5 v2 v5 v0 𝐸 = 13, 𝐸 ′ = 5 𝐷 𝑂 = 6, 𝐷 𝑃 = 16, 𝑀 𝑂 = 3, 𝑀 𝑃 = 7 v3 𝑣 𝑂 = 𝐷 𝑂 𝐸 ′ = 6 v4 5 > 1 2019/5/16 NEU & Polyu 22
Mapping Algorithm A mixed-criticality task • Calculating the mapping 𝐷 𝑂 = 6, 𝐷 𝑃 = 16, 𝑀 𝑂 = 3, 𝑀 𝑃 = 7 , 𝐸 = 13, 𝐸 ′ = 5 v1 Using our mapping equation: v2 v5 v0 𝑂 < 1 𝑂 𝑣 𝑗 when 𝑣 𝑗 𝑶 = ൞ 𝑂 − 𝑀 𝑗 𝑂 𝑻 𝒋 𝐷 𝑗 𝑂 ≥ 1 when 𝑣 𝑗 ′ − 𝑀 𝑗 𝑂 v3 𝐸 𝑗 0 𝑗𝑔 𝑢𝑏𝑡𝑙 𝑗𝑡 𝑀𝑃 𝑃 − 𝑇 𝑗 ′ − 𝑀 𝑗 𝑷 = ൞ 𝑂 𝐸 𝑗 𝑃 𝐷 𝑗 𝑻 𝒋 𝑗𝑔 𝑢𝑏𝑡𝑙 𝑗𝑡 𝐼𝐽 v4 ′ − 𝑀 𝑗 𝑃 𝐸 𝑗 − 𝐸 𝑗 2019/5/16 NEU & Polyu 23
Mapping Algorithm A mixed-criticality task • Calculating the mapping 𝐷 𝑂 = 6, 𝐷 𝑃 = 16, 𝑀 𝑂 = 3, 𝑀 𝑃 = 7 , 𝐸 = 13, 𝐸 ′ = 5 v1 𝑇 𝑂 = 𝐷 𝑂 − 𝑀 𝑂 𝐸 ′ − 𝑀 𝑂 = 6 − 3 v2 v5 v0 5 − 3 = 𝟐. 𝟔 𝑇 𝑃 = 𝐷 𝑃 − 𝑇 𝑂 𝐸 ′ − 𝑀 𝑃 = 16 − 1.5 ∗ 5 − 7 = 𝟐. 𝟔 v3 𝐸 − 𝐸 ′ − 𝑀 𝑃 13 − 5 − 7 v4 2019/5/16 NEU & Polyu 24
Mapping Algorithm A mixed-criticality task Normal State Mapping 𝜏 = 1 𝜏 = 0.5 v1 v2 v5 v0 v3 Critical State 𝜏 = 1 𝜏 = 0.5 v4 2019/5/16 NEU & Polyu 25
Runtime of a Mixed-Criticality Task • Mixed-Criticality tasks are encapsulated into mixed-criticality container-tasks • Scheduling these mixed-criticality container-tasks to physical processors with a partitioned or global algorithm 2019/5/16 NEU & Polyu 26
Runtime of a Mixed-Criticality Task 𝑂 = 1 𝑑 𝑤0 𝑃 = 2, 𝑂 = 1 𝑑 𝑤1 𝑃 = 3 𝑑 𝑤0 𝑑 𝑤1 𝑂 = 1 𝑑 𝑤2 𝑃 = 3, 𝑂 = 1 𝑑 𝑤3 𝑃 = 3 𝑑 𝑤2 𝑑 𝑤3 𝑂 = 1 𝑑 𝑤4 𝑃 = 3, 𝑂 = 1 𝑑 𝑤5 𝑃 = 2 𝑑 𝑤4 𝑑 𝑤5 • Mixed-Criticality tasks are encapsulated into mixed-criticality container-tasks ➢ Encapsulating the vertex v0 v1 𝜏 = 0 .5 0 v2 v5 v0 𝜏 = 1 v3 0 Normal State v4 2019/5/16 NEU & Polyu 27
Runtime of a Mixed-Criticality Task 𝑂 = 1 𝑑 𝑤0 𝑃 = 2, 𝑂 = 1 𝑑 𝑤1 𝑃 = 3 𝑑 𝑤0 𝑑 𝑤1 𝑂 = 1 𝑑 𝑤2 𝑃 = 3, 𝑂 = 1 𝑑 𝑤3 𝑃 = 3 𝑑 𝑤2 𝑑 𝑤3 𝑂 = 1 𝑑 𝑤4 𝑃 = 3, 𝑂 = 1 𝑑 𝑤5 𝑃 = 2 𝑑 𝑤4 𝑑 𝑤5 • Mixed-Criticality tasks are encapsulated into mixed-criticality container-tasks ➢ Setting the deadline of the mixed-criticality container-task v1 𝜏 = 0 .5 0 v2 v5 v0 deadline=1 𝜏 = 1 v3 0 Normal State v4 2019/5/16 NEU & Polyu 28
Runtime of a Mixed-Criticality Task 𝑂 = 1 𝑑 𝑤0 𝑃 = 2, 𝑂 = 1 𝑑 𝑤1 𝑃 = 3 𝑑 𝑤0 𝑑 𝑤1 𝑂 = 1 𝑑 𝑤2 𝑃 = 3, 𝑂 = 1 𝑑 𝑤3 𝑃 = 3 𝑑 𝑤2 𝑑 𝑤3 𝑂 = 1 𝑑 𝑤4 𝑃 = 3, 𝑂 = 1 𝑑 𝑤5 𝑃 = 2 𝑑 𝑤4 𝑑 𝑤5 • Mixed-Criticality tasks are encapsulated into mixed-criticality container-tasks ➢ Encapsulating the vertex v1 v1 𝜏 = 0 .5 0 v2 v5 v0 deadline=2 𝜏 = 1 v3 0 Normal State v4 2019/5/16 NEU & Polyu 29
Recommend
More recommend