Spelling suggestions: "subject:"mixed criticality"" "subject:"fixed criticality""
11 |
Advanced Scheduling Techniques for Mixed-Criticality SystemsMahdiani, Mitra 10 August 2022 (has links)
Typically, a real-time system consists of a controlling system (i.e., a computer) and a controlled system (i.e., the environment). Real-time systems are those systems where correctness depends on two aspects: i) the logical result of computation and, ii) the time in which results are produced. It is essential to guarantee meeting timing constraints for this kind of systems to operate correctly. Missing deadlines in many cases -- in so-called hard real-time systems -- is associated with economic loss or loss of human lives and must be avoided under all circumstances.
On the other hand, there is a trend towards consolidating software functions onto fewer processors in different domains such as automotive systems and avionics with the aim of reducing costs and complexity. Hence, applications with different levels of criticality that used to run in isolation now start sharing processors. As a result, there is a need for techniques that allow designing such mixed-criticality (MC) systems -- i.e., real-time systems combining different levels of criticality -- and, at the same time, complying with certification requirements in the different domains.
In this research, we study the problem of scheduling MC tasks under EDF (Earliest Deadline First) and propose new approaches to improve scheduling techniques. In particular, we consider that a mix of low-criticality (LO) and high-criticality (HI) tasks are scheduled on one processor. While LO tasks can be modeled by minimum inter-arrival time, deadline, and worst-case execution time (WCET), HI tasks are characterized by two WCET parameters: an optimistic and a conservative one.
Basically, the system operates in two modes: LO and HI mode. In LO mode, HI tasks run for no longer than their optimistic execution budgets and are scheduled together with the LO tasks. The system switches to HI mode when one or more HI tasks run for more than their conservative execution budgets. In this case, LO tasks are immediately discarded so as to be able of accommodating the increase in HI execution demand. We propose an exact test for mixed-criticality EDF, which increases efficiency and reliability when compared with the existing approaches from the literature. On this basis, we further derive approximated tests with less complexity and, hence, a reduced running time that makes them more suitable for
online checks.:Contents
1. Introduction 1
1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Structure of this Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Concepts, Models and Assumptions 7
2.1. Real-Time Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1. Tasks Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2. Scheduling Policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1. Feasibility versus Schedulability . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2. Schedulability Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3. Mixed-Criticality Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4. Basic Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5. The Earliest Deadline First Algorithm . . . . . . . . . . . . . . . . . . . . . . 13
2.5.1. EDF-VD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.2. Mixed-Criticality EDF . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.3. Demand Bound Function . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. Related Work 17
3.1. Uniprocessor Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1. Uniprocessor Scheduling Based on EDF . . . . . . . . . . . . . . . . . 18
3.2. Multiprocessor Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1. Multiprocessor Scheduling Based on EDF . . . . . . . . . . . . . . . . 20
4. Introducing Utilization Caps 23
4.1. Introducing Utilization Caps . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.1. Fixed utilization caps . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.2. Optimized utilization caps . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2. Findings of this Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5. Bounding Execution Demand under Mixed-Criticality EDF 29
5.1. Bounding Execution Demand . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2. Analytical Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.1. The GREEDY Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.2. The ECDF Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3. Finding Valid xi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4. Findings of this Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6. Approximating Execution Demand Bounds 41
6.1. Applying Approximation Techniques . . . . . . . . . . . . . . . . . . . . . . . 41
6.2. Devi’s Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
6.2.1. Per-task deadline scaling . . . . . . . . . . . . . . . . . . . . . . . . . . 42
6.2.2. Uniform deadline scaling . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.2.3. Complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.3. Findings of this Chapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7. Evaluation and Results 49
7.1. Mixed-Criticality EDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.2. Obtaining Test Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.2.1. The Case Di = Ti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.2.2. The Case Di ≤ Ti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.3. Weighted schedulability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7.4. Algorithms in this Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.4.1. The EDF-VD and DEDF-VD Algorithms . . . . . . . . . . . . . . . . 51
7.4.2. The GREEDY algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.4.3. The ECDF algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.5. Evaluation of Utilization Caps . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.5.1. 10 tasks per task set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.5.2. 20 tasks per task set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.5.3. 50 tasks per task set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.5.4. Comparison of runtime . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.6. Evaluation of Execution Demand Bounds . . . . . . . . . . . . . . . . . . . . 61
7.6.1. Comparison for sets of 10 tasks . . . . . . . . . . . . . . . . . . . . . . 61
7.6.2. Comparison for sets of 20 tasks . . . . . . . . . . . . . . . . . . . . . . 64
7.7. Evaluation of Approximation Techniques . . . . . . . . . . . . . . . . . . . . . 67
7.7.1. Schedulability curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.7.2. Weighted schedulability . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.7.3. Comparison of runtime . . . . . . . . . . . . . . . . . . . . . . . . . . 72
7.8. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
8. Conclusion and Future Work 77
8.1. Outlook/Future Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Bibliography 83
A. Introduction 91
A.1. Multiple Levels of Criticality . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.1.1. Ordered mode switches . . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.1.2. Unordered mode switches . . . . . . . . . . . . . . . . . . . . . . . . . 93
B. Evaluation and Results 95
B.1. Uniform Distribution for Task Periods . . . . . . . . . . . . . . . . . . . . . . 95
|
12 |
An Embedded Multi-Core Platform for Mixed-Criticality Systems : Study and Analysis of Virtualization TechniquesZaki, Youssef January 2016 (has links)
The common availability of multiple processors in modern CPU devices and the need to reduce cost of embedded systems has created a drive for integrating functionalities from different parts of a system into a single Multi- Processor System-on-Chip (MPSoC) device. As a result, system resources are shared amongst the critical and non-critical components of the system, which results in a mixed-criticality system (MCS). An example of a MCS is to combine an airbag control unit with the infotainment system of a car, in such a case, both components must be certified unless an isolation mechanism that can prevent the non-critical to interfere with the critical subsystems is implemented. This isolation can be achieved via spatial and temporal partitioning of system resources, such as static mapping of CPUs to critical tasks, memory and IO virtualization, and time domain multiplexing of applications. System isolation is currently achievable through virtualization techniques, and is commonly used in data centers and personal computers. Recently, virtualization solutions have been emerging for embedded systems in order to cope with the increased design complexity, the stringent non-functional requirements, and to facilitate the certification process of MCS. The achieved performance, safety, security, and robustness in a virtualized system depends on the virtualization architecture and hardware platform. This thesis work performs state-of the art research in the field of mixedcriticality embedded systems with a focus on virtualization of embedded systems. As a result, a deep study of virtualization architectures, and open-source virtualization solutions is conducted in order to understand the consequences of using this technology in MCS. The work is concluded with a design and implementation of mixed-criticality embedded system that leverages the hardware capabilities of the target device (Zynq-7000 all programmable SoC), and contributes to the Living Lab WP7 of the EMC2 project.
|
13 |
Quality-of-Service Aware Design and Management of Embedded Mixed-Criticality SystemsRanjbar, Behnaz 12 April 2024 (has links)
Nowadays, implementing a complex system, which executes various applications with different levels of assurance, is a growing trend in modern embedded real-time systems to meet cost, timing, and power consumption requirements. Medical devices, automotive, and avionics industries are the most common safety-critical applications, exploiting these systems known as Mixed-Criticality (MC) systems. MC applications are real-time, and to ensure the correctness of these applications, it is essential to meet strict timing requirements as well as functional specifications. The correct design of such MC systems requires a thorough understanding of the system's functions and their importance to the system. A failure/deadline miss in functions with various criticality levels has a different impact on the system, from no effect to catastrophic consequences. Failure in the execution of tasks with higher criticality levels (HC tasks) may lead to system failure and cause irreparable damage to the system, while although Low-Criticality (LC) tasks assist the system in carrying out its mission successfully, their failure has less impact on the system's functionality and does not harm the system itself to fail.
In order to guarantee the MC system safety, tasks are analyzed with different assumptions to obtain different Worst-Case Execution Times (WCETs) corresponding to the multiple criticality levels and the operation mode of the system. If the execution time of at least one HC task exceeds its low WCET, the system switches from low-criticality mode (LO mode) to high-criticality mode (HI mode). Then, all HC tasks continue executing by considering the high WCET to guarantee the system's safety. In this HI mode, all or some LC tasks are dropped/degraded in favor of HC tasks to ensure HC tasks' correct execution.
Determining an appropriate low WCET for each HC task is crucial in designing efficient MC systems and ensuring QoS maximization. However, in the case where the low WCETs are set correctly, it is not recommended to drop/degrade the LC tasks in the HI mode due to its negative impact on the other functions or on the entire system in accomplishing its mission correctly. Therefore, how to analyze the task dropping in the HI mode is a significant challenge in designing efficient MC systems that must be considered to guarantee the successful execution of all HC tasks to prevent catastrophic damages while improving the QoS.
Due to the continuous rise in computational demand for MC tasks in safety-critical applications, like controlling autonomous driving, the designers are motivated to deploy MC applications on multi-core platforms. Although the parallel execution feature of multi-core platforms helps to improve QoS and ensures the real-timeliness, high power consumption and temperature of cores may make the system more susceptible to failures and instability, which is not desirable in MC applications. Therefore, improving the QoS while managing the power consumption and guaranteeing real-time constraints is the critical issue in designing such MC systems in multi-core platforms.
This thesis addresses the challenges associated with efficient MC system design. We first focus on application analysis by determining the appropriate WCET by proposing a novel approach to provide a reasonable trade-off between the number of scheduled LC tasks at design-time and the probability of mode switching at run-time to improve the system utilization and QoS. The approach presents an analytic-based scheme to obtain low WCETs based on the Chebyshev theorem at design-time. We also show the relationship between the low WCETs and mode switching probability, and formulate and solve the problem for improving resource utilization and reducing the mode switching probability. Further, we analyze the LC task dropping in the HI mode to improve QoS. We first propose a heuristic in which a new metric is defined that determines the number of allowable drops in the HI mode. Then, the task schedulability analysis is developed based on the new metric. Since the occurrence of the worst-case scenario at run-time is a rare event, a learning-based drop-aware task scheduling mechanism is then proposed, which carefully monitors the alterations in the behavior of MC systems at run-time to exploit the dynamic slacks for improving the QoS.
Another critical design challenge is how to improve QoS using the parallel feature of multi-core platforms while managing the power consumption and temperature of these platforms. We develop a tree of possible task mapping and scheduling at design-time to cover all possible scenarios of task overrunning and reduce the LC task drop rate in the HI mode while managing the power and temperature in each scenario of task scheduling. Since the dynamic slack is generated due to the early execution of tasks at run-time, we propose an online approach to reduce the power consumption and maximum temperature by using low-power techniques like DVFS and task re-mapping, while preserving the QoS. Specifically, our approach examines multiple tasks ahead to determine the most appropriate task for the slack assignment that has the most significant effect on power consumption and temperature. However, changing the frequency and selecting a proper task for slack assignment and a suitable core for task re-mapping at run-time can be time-consuming and may cause deadline violation. Therefore, we analyze and optimize the run-time scheduler.:1. Introduction
1.1. Mixed-Criticality Application Design
1.2. Mixed-Criticality Hardware Design
1.3. Certain Challenges and Questions
1.4. Thesis Key Contributions
1.4.1. Application Analysis and Modeling
1.4.2. Multi-Core Mixed-Criticality System Design
1.5. Thesis Overview
2. Preliminaries and Literature Reviews
2.1. Preliminaries
2.1.1. Mixed-Criticality Systems
2.1.2. Fault-Tolerance, Fault Model and Safety Requirements
2.1.3. Hardware Architectural Modeling
2.1.4. Low-Power Techniques and Power Consumption Model
2.2. Related Works
2.2.1. Mixed-Criticality Task Scheduling Mechanisms
2.2.2. QoS Improvement Methods in Mixed-Criticality Systems
2.2.3. QoS-Aware Power and Thermal Management in Multi-Core Mixed-Criticality Systems
2.3. Conclusion
3. Bounding Time in Mixed-Criticality Systems
3.1. BOT-MICS: A Design-Time WCET Adjustment Approach
3.1.1. Motivational Example
3.1.2. BOT-MICS in Detail
3.1.3. Evaluation
3.2. A Run-Time WCET Adjustment Approach
3.2.1. Motivational Example
3.2.2. ADAPTIVE in Detail
3.2.3. Evaluation
3.3. Conclusion
4. Safety- and Task-Drop-Aware Mixed-Criticality Task Scheduling
4.1. Problem Objectives and Motivational Example
4.2. FANTOM in detail
4.2.1. Safety Quantification
4.2.2. MC Tasks Utilization Bounds Definition
4.2.3. Scheduling Analysis
4.2.4. System Upper Bound Utilization
4.2.5. A General Design Time Scheduling Algorithm
4.3. Evaluation
4.3.1. Evaluation with Real-Life Benchmarks
4.3.2. Evaluation with Synthetic Task Sets
4.4. Conclusion
5. Learning-Based Drop-Aware Mixed-Criticality Task Scheduling
5.1. Motivational Example and Problem Statement
5.2. Proposed Method in Detail
5.2.1. An Overview of the Design-Time Approach
5.2.2. Run-Time Approach: Employment of SOLID
5.2.3. LIQUID Approach
5.3. Evaluation
5.3.1. Evaluation with Real-Life Benchmarks
5.3.2. Evaluation with Synthetic Task Sets
5.3.3. Investigating the Timing and Memory Overheads of ML Technique
5.4. Conclusion
6. Fault-Tolerance and Power-Aware Multi-Core Mixed-Criticality System Design
6.1. Problem Objectives and Motivational Example
6.2. Design Methodology
6.3. Tree Generation and Fault-Tolerant Scheduling and Mapping
6.3.1. Making Scheduling Tree
6.3.2. Mapping and Scheduling
6.3.3. Time Complexity Analysis
6.3.4. Memory Space Analysis
6.4. Evaluation
6.4.1. Experimental Setup
6.4.2. Analyzing the Tree Construction Time
6.4.3. Analyzing the Run-Time Timing Overhead
6.4.4. Peak Power Management and Thermal Distribution for Real-Life and Synthetic Applications
6.4.5. Analyzing the QoS of LC Tasks
6.4.6. Analyzing the Peak Power Consumption and Maximum Temperature
6.4.7. Effect of Varying Different Parameters on Acceptance Ratio
6.4.8. Investigating Different Approaches at Run-Time
6.5. Conclusion
7. QoS- and Power-Aware Run-Time Scheduler for Multi-Core Mixed-Criticality Systems
7.1. Research Questions, Objectives and Motivational Example
7.2. Design-Time Approach
7.3. Run-Time Mixed-Criticality Scheduler
7.3.1. Selecting the Appropriate Task to Assign Slack
7.3.2. Re-Mapping Technique
7.3.3. Run-Time Management Algorithm
7.3.4. DVFS governor in Clustered Multi-Core Platforms
7.4. Run-Time Scheduler Algorithm Optimization
7.5. Evaluation
7.5.1. Experimental Setup
7.5.2. Analyzing the Relevance Between a Core Temperature and Energy Consumption
7.5.3. The Effect of Varying Parameters of Cost Functions
7.5.4. The Optimum Number of Tasks to Look-Ahead and the Effect of Task Re-mapping
7.5.5. The Analysis of Scheduler Timings Overhead on Different Real Platforms
7.5.6. The Latency of Changing Frequency in Real Platform
7.5.7. The Effect of Latency on System Schedulability
7.5.8. The Analysis of the Proposed Method on Peak Power, Energy and Maximum Temperature Improvement
7.5.9. The Analysis of the Proposed Method on Peak power, Energy and Maximum Temperature Improvement in a Multi-Core Platform Based on the ODROID-XU3 Architecture
7.5.10. Evaluation of Running Real MC Task Graph Model (Unmanned Air Vehicle) on Real Platform
7.6. Conclusion
8. Conclusion and Future Work
8.1. Conclusions
8.2. Future Work
|
14 |
Quality-of-Service Aware Design and Management of Embedded Mixed-Criticality SystemsRanjbar, Behnaz 06 December 2022 (has links)
Nowadays, implementing a complex system, which executes various applications with different levels of assurance, is a growing trend in modern embedded real-time systems to meet cost, timing, and power consumption requirements. Medical devices, automotive, and avionics industries are the most common safety-critical applications, exploiting these systems known as Mixed-Criticality (MC) systems. MC applications are real-time, and to ensure the correctness of these applications, it is essential to meet strict timing requirements as well as functional specifications. The correct design of such MC systems requires a thorough understanding of the system's functions and their importance to the system. A failure/deadline miss in functions with various criticality levels has a different impact on the system, from no effect to catastrophic consequences. Failure in the execution of tasks with higher criticality levels (HC tasks) may lead to system failure and cause irreparable damage to the system, while although Low-Criticality (LC) tasks assist the system in carrying out its mission successfully, their failure has less impact on the system's functionality and does not harm the system itself to fail.
In order to guarantee the MC system safety, tasks are analyzed with different assumptions to obtain different Worst-Case Execution Times (WCETs) corresponding to the multiple criticality levels and the operation mode of the system. If the execution time of at least one HC task exceeds its low WCET, the system switches from low-criticality mode (LO mode) to high-criticality mode (HI mode). Then, all HC tasks continue executing by considering the high WCET to guarantee the system's safety. In this HI mode, all or some LC tasks are dropped/degraded in favor of HC tasks to ensure HC tasks' correct execution.
Determining an appropriate low WCET for each HC task is crucial in designing efficient MC systems and ensuring QoS maximization. However, in the case where the low WCETs are set correctly, it is not recommended to drop/degrade the LC tasks in the HI mode due to its negative impact on the other functions or on the entire system in accomplishing its mission correctly. Therefore, how to analyze the task dropping in the HI mode is a significant challenge in designing efficient MC systems that must be considered to guarantee the successful execution of all HC tasks to prevent catastrophic damages while improving the QoS.
Due to the continuous rise in computational demand for MC tasks in safety-critical applications, like controlling autonomous driving, the designers are motivated to deploy MC applications on multi-core platforms. Although the parallel execution feature of multi-core platforms helps to improve QoS and ensures the real-timeliness, high power consumption and temperature of cores may make the system more susceptible to failures and instability, which is not desirable in MC applications. Therefore, improving the QoS while managing the power consumption and guaranteeing real-time constraints is the critical issue in designing such MC systems in multi-core platforms.
This thesis addresses the challenges associated with efficient MC system design. We first focus on application analysis by determining the appropriate WCET by proposing a novel approach to provide a reasonable trade-off between the number of scheduled LC tasks at design-time and the probability of mode switching at run-time to improve the system utilization and QoS. The approach presents an analytic-based scheme to obtain low WCETs based on the Chebyshev theorem at design-time. We also show the relationship between the low WCETs and mode switching probability, and formulate and solve the problem for improving resource utilization and reducing the mode switching probability. Further, we analyze the LC task dropping in the HI mode to improve QoS. We first propose a heuristic in which a new metric is defined that determines the number of allowable drops in the HI mode. Then, the task schedulability analysis is developed based on the new metric. Since the occurrence of the worst-case scenario at run-time is a rare event, a learning-based drop-aware task scheduling mechanism is then proposed, which carefully monitors the alterations in the behavior of MC systems at run-time to exploit the dynamic slacks for improving the QoS.
Another critical design challenge is how to improve QoS using the parallel feature of multi-core platforms while managing the power consumption and temperature of these platforms. We develop a tree of possible task mapping and scheduling at design-time to cover all possible scenarios of task overrunning and reduce the LC task drop rate in the HI mode while managing the power and temperature in each scenario of task scheduling. Since the dynamic slack is generated due to the early execution of tasks at run-time, we propose an online approach to reduce the power consumption and maximum temperature by using low-power techniques like DVFS and task re-mapping, while preserving the QoS. Specifically, our approach examines multiple tasks ahead to determine the most appropriate task for the slack assignment that has the most significant effect on power consumption and temperature. However, changing the frequency and selecting a proper task for slack assignment and a suitable core for task re-mapping at run-time can be time-consuming and may cause deadline violation. Therefore, we analyze and optimize the run-time scheduler.:1. Introduction
1.1. Mixed-Criticality Application Design
1.2. Mixed-Criticality Hardware Design
1.3. Certain Challenges and Questions
1.4. Thesis Key Contributions
1.4.1. Application Analysis and Modeling
1.4.2. Multi-Core Mixed-Criticality System Design
1.5. Thesis Overview
2. Preliminaries and Literature Reviews
2.1. Preliminaries
2.1.1. Mixed-Criticality Systems
2.1.2. Fault-Tolerance, Fault Model and Safety Requirements
2.1.3. Hardware Architectural Modeling
2.1.4. Low-Power Techniques and Power Consumption Model
2.2. Related Works
2.2.1. Mixed-Criticality Task Scheduling Mechanisms
2.2.2. QoS Improvement Methods in Mixed-Criticality Systems
2.2.3. QoS-Aware Power and Thermal Management in Multi-Core Mixed-Criticality Systems
2.3. Conclusion
3. Bounding Time in Mixed-Criticality Systems
3.1. BOT-MICS: A Design-Time WCET Adjustment Approach
3.1.1. Motivational Example
3.1.2. BOT-MICS in Detail
3.1.3. Evaluation
3.2. A Run-Time WCET Adjustment Approach
3.2.1. Motivational Example
3.2.2. ADAPTIVE in Detail
3.2.3. Evaluation
3.3. Conclusion
4. Safety- and Task-Drop-Aware Mixed-Criticality Task Scheduling
4.1. Problem Objectives and Motivational Example
4.2. FANTOM in detail
4.2.1. Safety Quantification
4.2.2. MC Tasks Utilization Bounds Definition
4.2.3. Scheduling Analysis
4.2.4. System Upper Bound Utilization
4.2.5. A General Design Time Scheduling Algorithm
4.3. Evaluation
4.3.1. Evaluation with Real-Life Benchmarks
4.3.2. Evaluation with Synthetic Task Sets
4.4. Conclusion
5. Learning-Based Drop-Aware Mixed-Criticality Task Scheduling
5.1. Motivational Example and Problem Statement
5.2. Proposed Method in Detail
5.2.1. An Overview of the Design-Time Approach
5.2.2. Run-Time Approach: Employment of SOLID
5.2.3. LIQUID Approach
5.3. Evaluation
5.3.1. Evaluation with Real-Life Benchmarks
5.3.2. Evaluation with Synthetic Task Sets
5.3.3. Investigating the Timing and Memory Overheads of ML Technique
5.4. Conclusion
6. Fault-Tolerance and Power-Aware Multi-Core Mixed-Criticality System Design
6.1. Problem Objectives and Motivational Example
6.2. Design Methodology
6.3. Tree Generation and Fault-Tolerant Scheduling and Mapping
6.3.1. Making Scheduling Tree
6.3.2. Mapping and Scheduling
6.3.3. Time Complexity Analysis
6.3.4. Memory Space Analysis
6.4. Evaluation
6.4.1. Experimental Setup
6.4.2. Analyzing the Tree Construction Time
6.4.3. Analyzing the Run-Time Timing Overhead
6.4.4. Peak Power Management and Thermal Distribution for Real-Life and Synthetic Applications
6.4.5. Analyzing the QoS of LC Tasks
6.4.6. Analyzing the Peak Power Consumption and Maximum Temperature
6.4.7. Effect of Varying Different Parameters on Acceptance Ratio
6.4.8. Investigating Different Approaches at Run-Time
6.5. Conclusion
7. QoS- and Power-Aware Run-Time Scheduler for Multi-Core Mixed-Criticality Systems
7.1. Research Questions, Objectives and Motivational Example
7.2. Design-Time Approach
7.3. Run-Time Mixed-Criticality Scheduler
7.3.1. Selecting the Appropriate Task to Assign Slack
7.3.2. Re-Mapping Technique
7.3.3. Run-Time Management Algorithm
7.3.4. DVFS governor in Clustered Multi-Core Platforms
7.4. Run-Time Scheduler Algorithm Optimization
7.5. Evaluation
7.5.1. Experimental Setup
7.5.2. Analyzing the Relevance Between a Core Temperature and Energy Consumption
7.5.3. The Effect of Varying Parameters of Cost Functions
7.5.4. The Optimum Number of Tasks to Look-Ahead and the Effect of Task Re-mapping
7.5.5. The Analysis of Scheduler Timings Overhead on Different Real Platforms
7.5.6. The Latency of Changing Frequency in Real Platform
7.5.7. The Effect of Latency on System Schedulability
7.5.8. The Analysis of the Proposed Method on Peak Power, Energy and Maximum Temperature Improvement
7.5.9. The Analysis of the Proposed Method on Peak power, Energy and Maximum Temperature Improvement in a Multi-Core Platform Based on the ODROID-XU3 Architecture
7.5.10. Evaluation of Running Real MC Task Graph Model (Unmanned Air Vehicle) on Real Platform
7.6. Conclusion
8. Conclusion and Future Work
8.1. Conclusions
8.2. Future Work
|
15 |
Scheduling of certifiable mixed-criticality systems / Ordonnancement des systèmes certifiés avec différents niveaux de criticitéSocci, Dario 09 March 2016 (has links)
Les systèmes temps-réels modernes ont tendance à obtenir la criticité mixte, dans le sens où ils intègrent sur une même plateforme de calcul plusieurs applications avec différents niveaux de criticités. D'un côté, cette intégration permet de réduire le coût, le poids et la consommation d'énergie. Ces exigences sont importantes pour des systèmes modernes comme par exemple les drones (UAV). De l'autre, elle conduit à des complications majeures lors de leur conception. Ces systèmes doivent être certifiés en prenant en compte ces différents niveaux de criticités. L'ordonnancement temps réel des systèmes avec différents niveaux de criticités est connu comme étant l’un des plus grand défi dans le domaine. Les techniques traditionnelles nécessitent une isolation complète entre les niveaux de criticité ou bien une certification globale au plus haut niveau. Une telle solution conduit à un gaspillage des ressources, et à la perte de l’avantage de cette intégration. Ce problème a suscité une nouvelle vague de recherche dans la communauté du temps réel, et de nombreuses solutions ont été proposées. Parmi elles, l'une des méthodes la plus utilisée pour ordonnancer de tels systèmes est celle d'Audsley. Malheureusement, elle a un certain nombre de limitations, dont nous parlerons dans cette thèse. Ces limitations sont encore beaucoup plus accentuées dans le cas de l'ordonnancement multiprocesseur. Dans ce cas précis, l'ordonnancement basé sur la priorité perd des propriétés importantes. C’est la raison pour laquelle, les algorithmes d'ordonnancement avec différents niveaux de criticités pour des architectures multiprocesseurs ne sont que très peu étudiés et ceux qu’on trouve dans la littérature sont généralement construits sur des hypothèses restrictives. Cela est particulièrement problématique car les systèmes industriels temps réel cherchent à migrer vers plates-formes multi-cœurs. Dans ce travail nous proposons une approche différente pour résoudre ces problèmes. / Modern real-time systems tend to be mixed-critical, in the sense that they integrate on the same computational platform applications at different levels of criticality. Integration gives the advantages of reduced cost, weight and power consumption, which can be crucial for modern applications like Unmanned Aerial Vehicles (UAVs). On the other hand, this leads to major complications in system design. Moreover, such systems are subject to certification, and different criticality levels needs to be certified at different level of assurance. Among other aspects, the real-time scheduling of certifiable mixed critical systems has been recognized to be a challenging problem. Traditional techniques require complete isolation between criticality levels or global certification to the highest level of assurance, which leads to resource waste, thus loosing the advantage of integration. This led to a novel wave of research in the real-time community, and many solutions were proposed. Among those, one of the most popular methods used to schedule such systems is Audsley approach. However this method has some limitations, which we discuss in this thesis. These limitations are more pronounced in the case of multiprocessor scheduling. In this case priority-based scheduling looses some important properties. For this reason scheduling algorithms for multiprocessor mixed-critical systems are not as numerous in literature as the single processor ones, and usually are built on restrictive assumptions. This is particularly problematic since industrial real-time systems strive to migrate from single-core to multi-core and many-core platforms. Therefore we motivate and study a different approach that can overcome these problems.A restriction of practical usability of many mixed-critical and multiprocessor scheduling algorithms is assumption that jobs are independent. In reality they often have precedence constraints. In the thesis we show the mixed-critical variant of the problem formulation and extend the system load metrics to the case of precedence-constraint task graphs. We also show that our proposed methodology and scheduling algorithm MCPI can be extended to the case of dependent jobs without major modification and showing similar performance with respect to the independent jobs case. Another topic we treated in this thesis is time-triggered scheduling. This class of schedulers is important because they considerably reduce the uncertainty of job execution intervals thus simplifying the safety-critical system certification. They also simplify any auxiliary timing-based analyses that may be required to validate important extra-functional properties in embedded systems, such as interference on shared buses and caches, peak power dissipation, electromagnetic interference etc..The trivial method of obtaining a time-triggered schedule is simulation of the worst-case scenario in event-triggered algorithm. However, when applied directly, this method is not efficient for mixed-critical systems, as instead of one worst-case scenario they have multiple corner-case scenarios. For this reason, it was proposed in the literature to treat all scenarios into just a few tables, one per criticality mode. We call this scheduling approach Single Time Table per Mode (STTM) and propose a contribution in this context. In fact we introduce a method that transforms practically any scheduling algorithm into an STTM one. It works optimally on single core and shows good experimental results for multi-cores.Finally we studied the problem of the practical realization of mixed critical systems. Our effort in this direction is a design flow that we propose for multicore mixed critical systems. In this design flow, as the model of computation we propose a network of deterministic multi-periodic synchronous processes. Our approach is demonstrated using a publicly available toolset, an industrial application use case and a multi-core platform.
|
16 |
Automated Configuration of Time-Critical Multi-Configuration AUTOSAR SystemsChandmare, Kunal 28 September 2017 (has links)
The vision of automated driving demands a highly available system, especially in safety-critical functionalities. In automated driving when a driver is not binding to be a part of the control loop, the system needs to be operational even after failure of a critical component until driver regain the control of vehicle. In pursuit of such a fail-operational behavior, the developed design process with software redundancy in contrast to conventional dedicated backup requires the support of automatic configurator for scheduling relevant parameters to ensure real-time behavior of the system. Multiple implementation methods are introduced to provide an automatic service which also considers task criticality before assigning task to the processor. Also, a generic method is developed to generate adaptation plans automatically for an already monitoring and reconfiguration service to handle fault occurring environment.
|
17 |
Inter-Core Interference Mitigation in a Mixed Criticality SystemHinton, Michael Glenn 04 August 2020 (has links)
In this thesis, we evaluate how well isolation can be achieved between two virtual machines within a mixed criticality system on a multi-core processor. We achieve this isolation with Jailhouse, an open-source, minimalist hypervisor. We then enhance Jailhouse with core throttling, a technique we use to minimize inter-core interference between VMs. Then, we run workloads with and without core throttling to determine the effect throttling has on interference between a non-real time VM and a real-time VM. We find that Jailhouse provides excellent isolation between VMs even without throttling, and that core throttling suppresses the remaining inter-core interference to a large extent.
|
18 |
Ordonnancement temps réel multiprocesseur pour la réduction de la consommation énergétique des systèmes embarqués / Energy-aware real-time scheduling of multiprocessor embedded systemsLegout, Vincent 08 April 2014 (has links)
Réduire la consommation énergétique des systèmes temps réel embarqués multiprocesseurs est devenu un enjeu important notammentpour augmenter leur autonomie. Nous réduisons la consommation statique des processeurs en exploitant leurs états basseconsommation. Dans un état basse-consommation, la consommation énergétique est fortement réduite mais un délai de transition et une pénalité sont nécessaires pour revenir à l'état actif. Nous proposons dans cette thèse les premiers algorithmes d'ordonnancement tempsréel multiprocesseurs optimaux pour réduire la consommation énergétique des systèmes temps réel dur et des systèmes temps réel àcriticité mixte. Ces algorithmes d'ordonnancement permettent d'activer les état basse-consommation les plus économes en énergie.Chaque algorithme d'ordonnancement est divisé en deux parties. La première partie hors-ligne génère un ordonnancement en utilisant laprogrammation linéaire en nombres entiers pour minimiser la consommation énergétique. La seconde partie est en-ligne et augmente lataille des périodes d'inactivité les tâches terminent leur exécution plus tôt que prévu. Dans le cadre des systèmes temps réel à criticitémixte, nous profitons du fait que les tâches de plus faible criticité peuvent tolérer des dépassements d'échéances pour être plus agressifhors-ligne afin de réduire davantage la consommation énergétique. Les résultats montrent que les algorithmes proposés utilisent demanière plus efficace les états basse-consommation. La consommation énergétique lorsque ceux-ci sont activés est en effet jusqu'à dix fois plus faible qu'avec les algorithmes d'ordonnancement multiprocesseurs existants. / Reducing the energy consumption of multiprocessor real-time embedded systems is a growing concern to increase their autonomy. In thisthesis, we aim to reduce the energy consumption of the processors, it includes both static and dynamic consumption and it is nowdominated by static consumption as the semiconductor technology moves to deep sub-micron scale. Existing solutions mainly focused ondynamic consumption. On the other hand, we target static consumption by efficiently using the low-power states of the processors. In alow-power state, the processor is not active and the deeper the low-power state is, the lower is the energy consumption but the higher isthe transition delay to come back to the active state. In this thesis, we propose the first optimal multiprocessor real-time schedulingalgorithms minimizing the static energy consumption. They optimize the duration of the idle periods to activate the most appropriate lowpowerstates. We target hard real-time systems with periodic tasks and also mixed-criticality systems where tasks with lower criticalitiescan tolerate deadline misses, therefore allowing us to be more aggressive while trying to reduce the energy consumption. We use anadditional task to model the idle time and mixed integer linear programming to compute offline a schedule minimizing the energyconsumption. Evaluations have been performed using existing optimal multiprocessor real-time scheduling algorithms. Results show thatthe energy consumption while processors are idle is up to ten times reduced with our solutions compared to the existing multiprocessor real-time scheduling algorithms.
|
19 |
Analysis and coordination of mixed-criticality cyber-physical systemsMaurer, Simon January 2018 (has links)
A Cyber-physical System (CPS) can be described as a network of interlinked, concurrent computational components that interact with the physical world. Such a system is usually of reactive nature and must satisfy strict timing requirements to guarantee a correct behaviour. The components can be of mixed-criticality which implies different progress models and communication models, depending whether the focus of a component lies on predictability or resource efficiency. In this dissertation I present a novel approach that bridges the gap between stream processing models and Labelled Transition Systems (LTSs). The former offer powerful tools to describe concurrent systems of, usually simple, components while the latter allow to describe complex, reactive, components and their mutual interaction. In order to achieve the bridge between the two domains I introduce the novel LTS Synchronous Interface Automaton (SIA) that allows to model the interaction protocol of a process via its interface and to incrementally compose simple processes into more complex ones while preserving the system properties. Exploiting these properties I introduce an analysis to identify permanent blocking situations in a network of composed processes. SIAs are wrapped by the novel component-based coordination model Process Network with Synchronous Communication (PNSC) that allows to describe a network of concurrent processes where multiple communication models and the co-existence and interaction of heterogeneous processes is supported due to well defined interfaces. The work presented in this dissertation follows a holistic approach which spans from the theory of the underlying model to an instantiation of the model as a novel coordination language, called Streamix. The language uses network operators to compose networks of concurrent processes in a structured and hierarchical way. The work is validated by a prototype implementation of a compiler and a Run-time System (RTS) that allows to compile a Streamix program and execute it on a platform with support for ISO C, POSIX threads, and a Linux operating system.
|
Page generated in 0.052 seconds