498 research outputs found
Mixed-criticality real-time task scheduling with graceful degradation
”The mixed-criticality real-time systems implement functionalities of different degrees of importance (or criticalities) upon a shared platform. In traditional mixed-criticality systems, under a hi mode switch, no guaranteed service is provided to lo-criticality tasks. After a mode switch, only hi-criticality tasks are considered for execution while no guarantee is made to the lo-criticality tasks. However, with careful optimistic design, a certain degree of service guarantee can be provided to lo-criticality tasks upon a mode switch. This concept is broadly known as graceful degradation. Guaranteed graceful degradation provides a better quality of service as well as it utilizes the system resource more efficiently. In this thesis, we study two efficient techniques of graceful degradation.
First, we study a mixed-criticality scheduling technique where graceful degradation is provided in the form of minimum cumulative completion rates. We present two easy-to-implement admission-control algorithms to determine which lo-criticality jobs to complete in hi mode. The scheduling is done by following deadline virtualization, and two heuristics are shown for virtual deadline settings. We further study the schedulability analysis and the backward mode switch conditions, which are proposed and proved in (Guo et al., 2018).
Next, we present a probabilistic scheduling technique for mixed-criticality tasks on multiprocessor systems where a system-wide permitted failure probability is known. The schedulability conditions are derived along with the processor allocation scheme. The work is extended from (Guo et al., 2015), where the probabilistic model is first introduced for independent task scheduling on a uniprocessor platform. We further consider the failure dependency between tasks while scheduling on multiprocessor platforms.
We provide related theoretical analysis to show the correctness of our work. To show the effectiveness of our proposed techniques, we conduct a detailed experimental evaluation under different circumstances”--Abstract, page iii
Graceful Degradation in Semi-Clairvoyant Scheduling
In the Vestal model of mixed-criticality systems, jobs are characterized by multiple different estimates of their actual, but unknown, worst-case execution time (WCET) parameters. Some recent research has focused upon a semi-clairvoyant model for mixed-criticality systems in which it is assumed that each job reveals upon arrival which of its WCET parameters it will respect. We study the problem of scheduling such semi-clairvoyant systems to ensure graceful degradation of service to less critical jobs in the event that the systems exhibit high-criticality behavior. We propose multiple different interpretations of graceful degradation in such systems, and derive efficient scheduling algorithms that are capable of ensuring graceful degradation under these different interpretations
MCFlow: Middleware for Mixed-Criticality Distributed Real-Time Systems
Traditional fixed-priority scheduling analysis for periodic/sporadic task sets is based on the assumption that all tasks are equally critical to the correct operation of the system. Therefore, every task has to be schedulable under the scheduling policy, and estimates of tasks\u27 worst case execution times must be conservative in case a task runs longer than is usual. To address the significant under-utilization of a system\u27s resources under normal operating conditions that can arise from these assumptions, several \emph{mixed-criticality scheduling} approaches have been proposed. However, to date there has been no quantitative comparison of system schedulability or run-time overhead for the different approaches. In this dissertation, we present what is to our knowledge the first side-by-side implementation and evaluation of those approaches, for periodic and sporadic mixed-criticality tasks on uniprocessor or distributed systems, under a mixed-criticality scheduling model that is common to all these approaches. To make a fair evaluation of mixed-criticality scheduling, we also address some previously open issues and propose modifications to improve schedulability and correctness of particular approaches. To facilitate the development and evaluation of mixed-criticality applications, we have designed and developed a distributed real-time middleware, called MCFlow, for mixed-criticality end-to-end tasks running on multi-core platforms. The research presented in this dissertation provides the following contributions to the state of the art in real-time middleware: (1) an efficient component model through which dependent subtask graphs can be configured flexibly for execution within a single core, across cores of a common host, or spanning multiple hosts; (2) support for optimizations to inter-component communication to reduce data copying without sacrificing the ability to execute subtasks in parallel; (3) a strict separation of timing and functional concerns so that they can be configured independently; (4) an event dispatching architecture that uses lock free algorithms where possible to reduce memory contention, CPU context switching, and priority inversion; and (5) empirical evaluations of MCFlow itself and of different mixed criticality scheduling approaches both with a single host and end-to-end across multiple hosts. The results of our evaluation show that in terms of basic distributed real-time behavior MCFlow performs comparably to the state of the art TAO real-time object request broker when only one core is used and outperforms TAO when multiple cores are involved. We also identify and categorize different use cases under which different mixed criticality scheduling approaches are preferable
Precise energy efficient scheduling of mixed-criticality tasks & sustainable mixed-criticality scheduling
In this thesis, the imprecise mixed-criticality model (IMC) is extended to precise scheduling of tasks, and integrated with the dynamic voltage and frequency scaling (DVFS) technique to enable energy minimization. The challenge in precise scheduling of MC systems is to simultaneously guarantee the timing correctness for all tasks, hi and lo, under both pessimistic and optimistic (less pessimistic) assumptions. To the best of knowledge this is the first work to address the integration of DVFS energy conserving techniques with precise scheduling of lo-tasks of the MC model.
In this thesis, the utilization based schedulability tests and sufficient conditions for such systems under Earliest Deadline First EDF-VD scheduling policy are presented. Quantitative study in the forms of speedup bound and approximation ratio are also proved for the unified model. Extensive experimental studies are conducted to verify the theoretical results as well as the effectiveness of the proposed algorithm.
In safety- critical systems, it is essential to perform schedulability analysis prior to run-time. Parameters characterizing the run-time workload are generated by pessimistic techniques; hence, adopting conservative estimates may result in systems performing much better than anticipated during run-time. This thesis also addresses the following questions associated to the better performance of the task system: (i) How does parameter change affect the schedulability of a task set (system)? (ii) In the event that a mixed-criticality system design is deemed schedulable and specific part/parts of the system are reassigned to be of low-criticality, is the system still safe to run? (iii) If a system is presumed to be non-schedulable, does it invariably benefit to reduce the criticality of some task?
To answer these questions, in this thesis, we not only study the property of sustainability with regards to criticality levels, but also revisit sustainability of several uniprocessor and multiprocessor scheduling policies with respect to other parameters --Abstract, page iii
Utilization-Based Scheduling of Flexible Mixed-Criticality Real-Time Tasks
Mixed-criticality models are an emerging paradigm for the design of real-time
systems because of their significantly improved resource efficiency. However,
formal mixed-criticality models have traditionally been characterized by two
impractical assumptions: once \textit{any} high-criticality task overruns,
\textit{all} low-criticality tasks are suspended and \textit{all other}
high-criticality tasks are assumed to exhibit high-criticality behaviors at the
same time. In this paper, we propose a more realistic mixed-criticality model,
called the flexible mixed-criticality (FMC) model, in which these two issues
are addressed in a combined manner. In this new model, only the overrun task
itself is assumed to exhibit high-criticality behavior, while other
high-criticality tasks remain in the same mode as before. The guaranteed
service levels of low-criticality tasks are gracefully degraded with the
overruns of high-criticality tasks. We derive a utilization-based technique to
analyze the schedulability of this new mixed-criticality model under EDF-VD
scheduling. During runtime, the proposed test condition serves an important
criterion for dynamic service level tuning, by means of which the maximum
available execution budget for low-criticality tasks can be directly determined
with minimal overhead while guaranteeing mixed-criticality schedulability.
Experiments demonstrate the effectiveness of the FMC scheme compared with
state-of-the-art techniques.Comment: This paper has been submitted to IEEE Transaction on Computers (TC)
on Sept-09th-201
Resource-Efficient Scheduling Of Multiprocessor Mixed-Criticality Real-Time Systems
Timing guarantee is critical to ensure the correctness of embedded software systems that
interact with the physical environment. As modern embedded real-time systems evolves,
they face three challenges: resource constraints, mixed-criticality, and multiprocessors. This
dissertation focuses on resource-efficient scheduling techniques for mixed-criticality systems
on multiprocessor platforms.
While Mixed-Criticality (MC) scheduling has been extensively studied on uniprocessor plat-
forms, the problem on multiprocessor platforms has been largely open. Multiprocessor al-
gorithms are broadly classified into two categories: global and partitioned. Global schedul-
ing approaches use a global run-queue and migrate tasks among processors for improved
schedulability. Partitioned scheduling approaches use per processor run-queues and can
reduce preemption/migration overheads in real implementation. Existing global scheduling
schemes for MC systems have suffered from low schedulability. Our goal in the first work is
to improve the schedulability of MC scheduling algorithms. Inspired by the fluid scheduling
model in a regular (non-MC) domain, we have developed the MC-Fluid scheduling algo-
rithm that executes a task with criticality-dependent rates. We have evaluated MC-Fluid in
terms of the processor speedup factor: MC-Fluid is a multiprocessor MC scheduling algo-
rithm with a speed factor of 4/3, which is known to be optimal. In other words, MC-Fluid
can schedule any feasible mixed-criticality task system if each processor is sped up by a
factor of 4/3.
Although MC-Fluid is speedup-optimal, it is not directly implementable on multiprocessor
platforms of real processors due to the fractional processor assumption where multiple task
can be executed on one processor at the same time. In the second work, we have considered
the characteristic of a real processor (executing only one task at a time) and have developed
the MC-Discrete scheduling algorithm for regular (non-fluid) scheduling platforms. We have
shown that MC-Discrete is also speedup-optimal.
While our previous two works consider global scheduling approaches, our last work con-
siders partitioned scheduling approaches, which are widely used in practice because of low
implementation overheads. In addition to partitioned scheduling, the work consid-
ers the limitation of conventional MC scheduling algorithms that drops all low-criticality
tasks when violating a certain threshold of actual execution times. In practice, the system
designer wants to execute the tasks as much as possible. To address the issue, we have de-
veloped the MC-ADAPT scheduling framework under uniprocessor platforms to drop as few
low-criticality tasks as possible. Extending the framework with partitioned multiprocessor
platforms, we further reduce the dropping of low-criticality tasks by allowing migration of
low-criticality tasks at the moment of a criticality switch. We have evaluated the quality
of task dropping solution in terms of speedup factor. In existing work, the speedup factor
has been used to evaluate MC scheduling algorithms in terms of schedulability under the
worst-case scheduling scenario. In this work, we apply the speedup factor to evaluate MC
scheduling algorithms in terms of the quality of their task dropping solution under various
MC scheduling scenarios. We have derived that MC-ADAPT has a speedup factor of 1.618
for task dropping solution
Reasoning About the Reliability of Multi-version, Diverse Real-Time Systems
This paper is concerned with the development of reliable real-time systems for use in high integrity applications. It advocates the use of diverse replicated channels, but does not require the dependencies between the channels to be evaluated. Rather it develops and extends the approach of Little wood and Rush by (for general systems) by investigating a two channel system in which one channel, A, is produced to a high level of reliability (i.e. has a very low failure rate), while the other, B, employs various forms of static analysis to sustain an argument that it is perfect (i.e. it will never miss a deadline). The first channel is fully functional, the second contains a more restricted computational model and contains only the critical computations. Potential dependencies between the channels (and their verification) are evaluated in terms of aleatory and epistemic uncertainty. At the aleatory level the events ''A fails" and ''B is imperfect" are independent. Moreover, unlike the general case, independence at the epistemic level is also proposed for common forms of implementation and analysis for real-time systems and their temporal requirements (deadlines). As a result, a systematic approach is advocated that can be applied in a real engineering context to produce highly reliable real-time systems, and to support numerical claims about the level of reliability achieved
- …