Results 1 - 10
of
13
Algorithms and Complexity Concerning the Preemptive Scheduling of Periodic, Real-Time Tasks on One Processor
- Real-Time Systems
, 1990
"... We investigate the preemptive scheduling of periodic, real-time task systems on one processor. First, we show that when all parameters to the system are integers, we may assume without loss of generality that all preemptions occur at integer time values. We then assume, for the remainder of the pape ..."
Abstract
-
Cited by 137 (13 self)
- Add to MetaCart
We investigate the preemptive scheduling of periodic, real-time task systems on one processor. First, we show that when all parameters to the system are integers, we may assume without loss of generality that all preemptions occur at integer time values. We then assume, for the remainder of the paper, that all parameters are indeed integers. We then give as our main lemma both necessary and sufficient conditions for a task system to be feasible on one processor. Although these conditions cannot, in general, be tested efficiently (unless P = NP), they do allow us to give efficient algorithms for deciding feasibility on one processor for certain types of periodic task systems. For example, we give a pseudo-polynomial time algorithm for synchronous systems whose densities are bounded by a fixed constant less than 1. This algorithm represents an exponential improvement over the previous best algorithm. We also give a polynomial-time algorithm for systems having a fixed number of distinct typ...
Preemptively Scheduling Hard-Real-Time Sporadic Tasks on One Processor
- In Proceedings of the 11th Real-Time Systems Symposium
, 1990
"... In this paper, we consider the preemptivescheduling of hard-real-time sporadic task systems on one processor. Wefirstgive necessary and sufficient conditions for a sporadic task system to be feasible (i.e., schedulable). The conditions cannot, in general, be tested efficiently (unless P = NP). They ..."
Abstract
-
Cited by 88 (19 self)
- Add to MetaCart
In this paper, we consider the preemptivescheduling of hard-real-time sporadic task systems on one processor. Wefirstgive necessary and sufficient conditions for a sporadic task system to be feasible (i.e., schedulable). The conditions cannot, in general, be tested efficiently (unless P = NP). They do, however, lead to a feasibilitytestthat runs in efficient pseudo-polynomial time for a very large percentage of sporadic task systems. 1 Introduction Scheduling theory as it applies to hard-real-time environments --- environments where the missing of a single deadline may have disastrous consequences --- seems to currently be enjoying a renaissance. Hardreal -time scheduling problems may concern either fixed-duration tasks or recurring tasks that must be completed within a certain time frame. The problems most studied within the recurring category involve periodically recurring tasks [LL73, LM80, LM81, LW82,Mok83, BHR90]. Aperiodically or sporadically recurring tasks have also been stud...
Feasibility Problems for Recurring Tasks on One Processor
, 1992
"... We give a comprehensive summary of our recent research on the feasibility problems for various types of hard-real-time preemptive task systems on one processor. We include results on periodic, sporadic, and hybrid task systems. While many of the results herein have appeared elsewhere, this is the fi ..."
Abstract
-
Cited by 32 (6 self)
- Add to MetaCart
We give a comprehensive summary of our recent research on the feasibility problems for various types of hard-real-time preemptive task systems on one processor. We include results on periodic, sporadic, and hybrid task systems. While many of the results herein have appeared elsewhere, this is the first paper presenting a holistic view of the entire problem.
Configuration-Level Hardware/Software Partitioning for Real-Time Embedded Systems
, 1994
"... In this paper, we present an approach to hardware/software partitioning for real-time embedded systems. The abstraction level we have adopted is referred to as the configuration level, where hardware is modeled as resources with no detailed functionality and software is modeled as tasks utilizing th ..."
Abstract
-
Cited by 26 (5 self)
- Add to MetaCart
In this paper, we present an approach to hardware/software partitioning for real-time embedded systems. The abstraction level we have adopted is referred to as the configuration level, where hardware is modeled as resources with no detailed functionality and software is modeled as tasks utilizing the resources. Through configuration-level analysis, cost and performance tradeoffs can be studied early in the design process and a large design spacecan be explored. Feasibility factor is introduced to measure the possibility of a real-time system being feasible, and is used as both a constraint and an attribute during the optimization process. Optimal partitioning is achieved through the use of an existing computer-aided design tool.
A Lock-Free Approach to Object Sharing in Real-Time Systems
, 1997
"... This work aims to establish the viability of lock-free object sharing in uniprocessor real-time systems. Naive usage of conventional lock-based object-sharing schemes in real-time systems leads to unbounded priority inversion. A priority inversion occurs when a task is blocked by a lower-priority ta ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
This work aims to establish the viability of lock-free object sharing in uniprocessor real-time systems. Naive usage of conventional lock-based object-sharing schemes in real-time systems leads to unbounded priority inversion. A priority inversion occurs when a task is blocked by a lower-priority task that is inside a critical section. Mechanisms that bound priority inversion usually entail kernel overhead that is sometimes excessive. We propose that lock-free objects offer an attractive alternative to lock-based schemes because they eliminate priority inversion and its associated problems. On the surface, lock-free objects may seem to be unsuitable for hard real-time systems because accesses to such objects are not guaranteed to complete in bounded time. Nonetheless, we present scheduling conditions that demonstrate the applicability of lock-free objects in hard real-time systems. Our scheduling conditions are applicable to schemes such as rate-monotonic scheduling and earliest-deadline-...
Operating System Issues for Continuous Media
, 1996
"... . Continuous media such as audio and video pose new challenges to all parts of multipurpose operating systems. We discuss issues related to CPU scheduling, memory allocation, system support and application environments and summarize some of the solutions proposed in the literature. Key words: Conti ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
. Continuous media such as audio and video pose new challenges to all parts of multipurpose operating systems. We discuss issues related to CPU scheduling, memory allocation, system support and application environments and summarize some of the solutions proposed in the literature. Key words: Continuous media { Operating system enhancement { CPU scheduling { Network implementation 1 Introduction Operating systems play a crucial role in supporting multimedia applications. Here we investigate the problems that are introduced by multimedia and some approaches to their solution. General introductions to operating systems can be found in (Tanenbaum 1987; Peterson and Silberschatz 1983), with specic surveys of the UNIX operating system in (Lefer, McKusick, Karels, and Quarterman 1988; Bach 1986). Although only a combination of network and operating system design can guarantee performance, network issues seem to have required far more attention in the past. As higherspeed LANs touting integ...
A Framework for Interactive Analysis of Timing Constraints in Embedded Systems
- PROC. OF THE INTERNATIONAL WORKSHOP ON HARDWARE/SOFTWARE CODESIGN
, 1996
"... An important goal of embedded system co-synthesis is to realize system designs under constraints on timing performance. We present applicable constraints and the notion of satisfiability of a given set of constraints. We describe a two-level system model that is useful for carrying out constraint an ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
An important goal of embedded system co-synthesis is to realize system designs under constraints on timing performance. We present applicable constraints and the notion of satisfiability of a given set of constraints. We describe a two-level system model that is useful for carrying out constraint analysis in presence of the timing and execution uncertainty inherent in embedded systems. We conclude by presenting a framework to determine constraint satisfiability and to interactively debug constraint violations. Examples are presented to show the utility of our approach.
Fine Tuning the Scheduling of Tasks through a Genetic Algorithm: Application to Posix1003.1b Compliant Systems
- in « IEE Proceedings - Software », nuber 1, volume 150, Feb, 2003
, 2003
"... Most of today's commercial Real-Time Operating Systems (RTOSs) offer multiple scheduling policies which are applied on a per-process basis. The best illustrations of this are the Posix1003.1b compliant OSs that provide two real-time scheduling policies, namely sched_fifo and sched_rr, which under so ..."
Abstract
-
Cited by 6 (5 self)
- Add to MetaCart
Most of today's commercial Real-Time Operating Systems (RTOSs) offer multiple scheduling policies which are applied on a per-process basis. The best illustrations of this are the Posix1003.1b compliant OSs that provide two real-time scheduling policies, namely sched_fifo and sched_rr, which under some limited hypotheses are respectively the equivalent of Fixed Priority Pre-emptive (FPP) and Round-Robin (RR). In the field of processor scheduling, schedulability analysis has been extensively studied and the problem of assessing the schedulability of multi-policy systems has been recently addressed in [38]. When FPP and RR are used in conjunction, no optimal priority/policy assignement, such as Audsley's algorithm for FPP [3], is known, a fortiori when other criteria besides feasibility are considered. Because of the size of the solution space, an exhaustive search is not possible; an optimisation technique is required. A schedulability analysis provides valuable help for the application designer but it simply asserts whether a given configuration is feasible or not, in general it does not propose any feasible configurations (1) and, as stated by Gerber and Hong in [23] "it can rarely help to tune the system (2), which is the inevitable next step". To address problems (1) and (2), we propose in this study an approach using a Genetic Algorithm (GA) to best set task priorities and scheduling policies, according to a chosen criterion, on Posix 1003.1b uniprocessor systems. Moreover, it will be shown in this study that the use of RR, in conjunction with FPP, may improve the schedulability as well as the satisfaction of additional application-dependent criteria.
Static and Dynamic Scheduling of Sporadic Tasks for Single-Processor Systems
, 1991
"... Sporadic tasks in hard-real-time systems, as definedby Mok [14], are characterized by triples (e# d# p)# 1 e d# e p. Two successive requests by the same task will beseparatedbyat least p time units, and the task must be scheduled e time units within d time units of a request. A scheduling algori ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Sporadic tasks in hard-real-time systems, as definedby Mok [14], are characterized by triples (e# d# p)# 1 e d# e p. Two successive requests by the same task will beseparatedbyat least p time units, and the task must be scheduled e time units within d time units of a request. A scheduling algorithm is said to be static if it does not depend on the sequenceofrequests# otherwise it is dynamic. We present here three major results. The first is that no static algorithm can be optimal. The second is that, modulo certain assumptions that imply scalability, no dynamic algorithm can take less than O(n) online time per slot scheduled. The third result is a fast scheduling algorithm based on pinwheel scheduling. 1 Introduction Hard-real-time systems are systems of tasks where missing a single deadline may have disastrous consequences. Such systems have been the focus of much study over the past twentyyears [13,11,9,12,14,1, 10, 7, 17, 8]. Sporadic tasks in a hard-real-time environment wer...
Multiprocessor Algorithms for Uniprocessor Feasibility Analysis
- In International Conference on Real-Time Computing Systems and Applications
, 2000
"... Feasibility analysis of a hard-real-time system refers to the process of determining off-line whether the specified system will meet all deadlines at runtime. For many important (and interesting) task models and scheduling algorithms, feasibility analysis is provably computationally very expensive. ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Feasibility analysis of a hard-real-time system refers to the process of determining off-line whether the specified system will meet all deadlines at runtime. For many important (and interesting) task models and scheduling algorithms, feasibility analysis is provably computationally very expensive. A framework is established for speeding up the feasibility analysis of uniprocessor real-time systems by implementing these algorithms on parallel machines. The viabilityofthis framework is validated bydeveloping a parallel algorithm for the feasibility-analysis of systems of asynchronous periodic tasks that are to be scheduled using the preemptive earliest deadline first scheduling algorithm, and by implementing and testing the performance of this parallel algorithm. 1. Introduction In hard-real-time computer application systems certain jobs have deadlines associated with them, and it is absolutely imperative for the correctness of the application that all such jobs complete by their de...

