316 research outputs found
MORA: an Energy-Aware Slack Reclamation Scheme for Scheduling Sporadic Real-Time Tasks upon Multiprocessor Platforms
In this paper, we address the global and preemptive energy-aware scheduling
problem of sporadic constrained-deadline tasks on DVFS-identical multiprocessor
platforms. We propose an online slack reclamation scheme which profits from the
discrepancy between the worst- and actual-case execution time of the tasks by
slowing down the speed of the processors in order to save energy. Our algorithm
called MORA takes into account the application-specific consumption profile of
the tasks. We demonstrate that MORA does not jeopardize the system
schedulability and we show by performing simulations that it can save up to 32%
of energy (in average) compared to execution without using any energy-aware
algorithm.Comment: 11 page
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
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
Using Imprecise Computing for Improved Real-Time Scheduling
Conventional hard real-time scheduling is often overly pessimistic due to the worst case execution time estimation. The pessimism can be mitigated by exploiting imprecise computing in applications where occasional small errors are acceptable. This leverage is investigated in a few previous works, which are restricted to preemptive cases. We study how to make use of imprecise computing in uniprocessor non-preemptive real-time scheduling, which is known to be more difficult than its preemptive counterpart. Several heuristic algorithms are developed for periodic tasks with independent or cumulative errors due to imprecision. Simulation results show that the proposed techniques can significantly improve task schedulability and achieve desired accuracy– schedulability tradeoff. The benefit of considering imprecise computing is further confirmed by a prototyping implementation in Linux system.
Mixed-criticality system is a popular model for reducing pessimism in real-time scheduling while providing guarantee for critical tasks in presence of unexpected overrun. However, it is controversial due to some drawbacks. First, all low-criticality tasks are dropped in high-criticality mode, although they are still needed. Second, a single high-criticality job overrun leads to the pessimistic high-criticality mode for all high-criticality tasks and consequently resource utilization becomes inefficient. We attempt to tackle aforementioned two limitations of mixed-criticality system simultaneously in multiprocessor scheduling, while those two issues are mostly focused on uniprocessor scheduling in several recent works. We study how to achieve graceful degradation of low-criticality tasks by continuing their executions with imprecise computing or even precise computing if there is sufficient utilization slack. Schedulability conditions under this Variable-Precision Mixed-Criticality (VPMC) system model are investigated for partitioned scheduling and global fpEDF-VD scheduling. And a deferred switching protocol is introduced so that the chance of switching to high-criticality mode is significantly reduced. Moreover, we develop a precision optimization approach that maximizes precise computing of low-criticality tasks through 0-1 knapsack formulation. Experiments are performed through both software simulations and Linux proto- typing with consideration of overhead. Schedulability of the proposed methods is studied so that the Quality-of-Service for low-criticality tasks is improved with guarantee of satisfying all deadline constraints. The proposed precision optimization can largely reduce computing errors compared to constantly executing low-criticality tasks with imprecise computing in high-criticality mode
DYNAMIC VOLTAGE SCALING FOR PRIORITY-DRIVEN SCHEDULED DISTRIBUTED REAL-TIME SYSTEMS
Energy consumption is increasingly affecting battery life and cooling for real- time systems. Dynamic Voltage and frequency Scaling (DVS) has been shown to substantially reduce the energy consumption of uniprocessor real-time systems. It is worthwhile to extend the efficient DVS scheduling algorithms to distributed system with dependent tasks. The dissertation describes how to extend several effective uniprocessor DVS schedul- ing algorithms to distributed system with dependent task set. Task assignment and deadline assignment heuristics are proposed and compared with existing heuristics concerning energy-conserving performance. An admission test and a deadline com- putation algorithm are presented in the dissertation for dynamic task set to accept the arriving task in a DVS scheduled real-time system. Simulations show that an effective distributed DVS scheduling is capable of saving as much as 89% of energy that would be consumed without using DVS scheduling. It is also shown that task assignment and deadline assignment affect the energy- conserving performance of DVS scheduling algorithms. For some aggressive DVS scheduling algorithms, however, the effect of task assignment is negligible. The ad- mission test accept over 80% of tasks that can be accepted by a non-DVS scheduler to a DVS scheduled real-time system
Scheduling policies and system software architectures for mixed-criticality computing
Mixed-criticality model of computation is being increasingly
adopted in timing-sensitive systems. The model not only
ensures that the most critical tasks in a system never fails,
but also aims for better systems resource utilization in normal condition. In this report, we describe the widely used
mixed-criticality task model and fixed-priority scheduling
algorithms for the model in uniprocessors. Because of the
necessity by the mixed-criticality task model and scheduling
policies, isolation, both temporal and spatial, among tasks is
one of the main requirements from the system design point
of view. Different virtualization techniques have been used
to design system software architecture with the goal of isolation. We discuss such a few system software architectures
which are being and can be used for mixed-criticality model
of computation
Partitioned scheduling of multimode systems on multiprocessor platforms: when to do the mode transition?
Systems composed of distinct operational modes are a common necessity for embedded applications with strict timing
requirements. With the emergence of multi-core platforms protocols to handle these systems are required in order to
provide this basic functionality.In this work a description on the problems of creating an effective mode-transition
protocol are presented and it is proven that in some cases previous single-core protocols can not be extended to handle
the mode-transition in multi-core
Adaptive Mid-term and Short-term Scheduling of Mixed-criticality Systems
A mixed-criticality real-time system is a real-time system having multiple tasks classified according to their criticality. Research on mixed-criticality systems started to provide an effective and cost efficient a priori verification process for safety critical systems. The higher the criticality of a task within a system and the more the system should guarantee the required level of service for it. However, such model poses new challenges with respect to scheduling and fault tolerance within real-time systems. Currently, mixed-criticality scheduling protocols severely degrade lower criticality tasks in case of resource shortage to provide the required level of service for the most critical
ones. The actual research challenge in this field is to devise robust scheduling protocols
to minimise the impact on less critical tasks.
This dissertation introduces two approaches, one short-term and the other medium-term, to appropriately allocate computing resources to tasks within mixed-criticality systems both on uniprocessor and multiprocessor systems.
The short-term strategy consists of a protocol named Lazy Bailout Protocol (LBP) to schedule mixed-criticality task sets on single core architectures. Scheduling decisions are made about tasks that are active in the ready queue and that have to be dispatched to the CPU. LBP minimises the service degradation for lower criticality tasks by providing to them a background execution during the system idle time. After, I refined LBP with variants that aim to further increase the service level provided for lower criticality tasks. However, this is achieved at an increased cost of either system offline analysis or complexity at runtime.
The second approach, named Adaptive Tolerance-based Mixed-criticality Protocol (ATMP), decides at runtime which task has to be allocated to the active cores according to the available resources. ATMP permits to optimise the overall system utility by tuning the system workload in case of shortage of computing capacity at runtime. Unlike the majority of current mixed-criticality approaches, ATMP allows to smoothly degrade also higher criticality tasks to keep allocated lower criticality ones
- …