Pre-Run-Time Scheduling of Asynchronous and Periodic Processes With Offsets, Release Times, Deadlines, Precedence and Exclusion Relations

Author(s):  
Jia Xu

Utilizing non-zero offsets when scheduling real-time periodic processes significantly increases the chances of satisfying all the timing constraints in a real-time system. In this paper, a method that enables the utilization of non-zero offsets in the pre-run-time scheduling of asynchronous and periodic processes with release times, deadlines, precedence and exclusion relations on either a uniprocessor or on a multiprocessor in real-time embedded systems is presented. This paper also identifies for the first time, the set of general conditions that a periodic process newpi with release time rnewpi, computation time cnewpi, deadline dnewpi, period prdnewpi, permitted range of offset onewpi, must satisfy, in order to satisfy the timing constraints of any given asynchronous process ai with computation time cai, deadline dai, minimum time between two consecutive requests minai, and earliest time that asynchronous process ai can make a request for execution lai. A method based on these general conditions for converting asynchronous processes with earliest request times into new periodic processes with offset constraints is also introduced.

Author(s):  
Jia Xu

In most embedded, real-time applications, processes need to satisfy various important constraints and dependencies, such as release times, offsets, precedence relations, and exclusion relations. Embedded, real-time systems with high assurance requirements often must execute many different types of processes with such constraints and dependencies. Some of the processes may be periodic and some of them may be asynchronous. Some of the processes may have hard deadlines and some of them may have soft deadlines. For some of the processes, especially the hard real-time processes, complete knowledge about their characteristics can and must be acquired before run-time. For other processes, prior knowledge of their worst case computation time and their data requirements may not be available. It is important for many embedded real-time systems to be able to simultaneously satisfy as many important constraints and dependencies as possible for as many different types of processes as possible. In this paper, we discuss what types of important constraints and dependencies can be satisfied among what types of processes. We also present a method which guarantees that, for every process, no matter whether it is periodic or asynchronous, and no matter whether it has a hard deadline or a soft deadline, as long as the characteristics of that process are known before run-time, then that process will be guaranteed to be completed before predetermined time limits, while simultaneously satisfying many important constraints and dependencies with other processes.


Symmetry ◽  
2020 ◽  
Vol 12 (1) ◽  
pp. 172 ◽  
Author(s):  
Hoyoun Lee ◽  
Jinkyu Lee

In a real-time system, a series of jobs invoked by each task should finish its execution before its deadline, and EDF (Earliest Deadline First) is one of the most popular scheduling algorithms to meet such timing constraints of a set of given tasks. However, EDF is known to be ineffective in meeting timing constraints for non-preemptive tasks (which disallow any preemption) when the system does not know the future job release patterns of the tasks. In this paper, we develop a scheduling algorithm for a real-time system with a symmetry multiprocessor platform, which requires only limited information about the future job release patterns of a set of non-preemptive tasks, called LCEDF. We then derive its schedulability analysis that provides timing guarantees of the non-preemptive task set on a symmetry multiprocessor platform. Via simulations, we demonstrate the proposed schedulability analysis for LCEDF significantly improves the schedulability performance in meeting timing constraints of a set of non-preemptive tasks up to 20.16%, compared to vanilla non-preemptive EDF.


2011 ◽  
Vol 2011 ◽  
pp. 1-11
Author(s):  
Andrew McKenzie ◽  
Shameka Dawson ◽  
Fei Hu ◽  
Monica Anderson

Implementing a robot controller that can effectively manage limited resources in a deterministic, real-time manner is challenging. Behavior-based architectures that decompose autonomy into levels of intelligence are popular due to their robustness but do not provide real-time features that enforce timing constraints or support determinism. We propose an architecture and approach for using the real-time features of the Real-Time Specification for Java (RTSJ) in a behavior-based mobile robot controller to show that timing constraints affect performance. This is accomplished by extending a real-time aware architecture that explicitly enumerates timing requirements for each behavior. It is not enough to reduce latency. The usefulness of this approach is demonstrated via an implementation on Solaris 10 and the Sun Java Real-Time System (Java RTS). Experimental results are obtained using a K-team Koala robot performing path following with four composite behaviors. Experiments were conducted using several task period sets in three cases: real-time threads with the real-time garbage collector, real-time threads with the non- real-time garbage collector, and non-real-time threads with the non-real-time garbage collector. Results show that even if latency and determinism are improved, the timing of each individual behavior significantly affects task performance.


Author(s):  
Jia Xu

Many embedded systems applications have hard timing requirements where real-time processes with precedence and exclusion relations must be completed before specified deadlines. This requires that the worst-case computation times of the real-time processes be estimated with sufficient precision during system design, which sometimes can be difficult in practice. If the actual computation time of a real-time process during run-time exceeds the estimated worst-case computation time, an overrun will occur, which may cause the real-time process to not only miss its own deadline, but also cause a cascade of other real-time processes to also miss their deadline, possibly resulting in total system failure. However, if the actual computation time of a real-time process during run-time is less than the estimated worst-case computation time, an underrun will occur, which may result in under-utilization of system resources. This paper describes a method for handling underruns and overruns when scheduling a set of real-time processes with precedence and exclusion relations using a pre-run-time schedule. The technique effectively tracks and utilizes unused processor time resources to reduce the chances of missing real-time process deadlines, thereby providing the capability to significantly increase both system utilization and system robustness in the presence of inaccurate estimates of the worst-case computation times of real-time processes.


Sign in / Sign up

Export Citation Format

Share Document