The periodic task model is a well-known deterministic workload model and best suited for hard real time system. When a model consists number of task τi has its period Ti and task τi is composed of sequence of jobs where Ti is minimal inter-arrival time between consecutive jobs and task computation time is the maximum computation time among all jobs of τi then this model is called periodic task model and corresponding task is called periodic task.
With its various extensions, the model characterizes accurately many traditional hard real-time applications, such as digital control, real-time monitoring, and constant bit-rate voice/video transmission. The jobs of a given task are repeated at regular and are modeled as periodic, with period p. The accuracy of model decreases with increasing jitter. Suppose a task Ti is a series of periodic Jobs Jij which may be described with the following parameters:
- pi - period, minimum inter-release interval between jobs in Task Ti.
- ei - maximum execution time for jobs in task Ti.
- rij - release time of the jth Job in Task i (Jij in Ti).
- ji - Phase of Task Ti, equal to ri1, i.e. it is the release time of the first job in the task Ti.
- H – Hyper period = Least Common Multiple of pi for all i: H = l cm (pi), for all The number of jobs in a hyper period is equal to the sum of (H/pi) over all i.
- ui - utilization of Task Ti and is equal to ei/pi.
- U - Total utilization = Sum over all ui.
- di - absolute deadline
- Di - relative deadline
- (ri, di] - feasible interval
Most real-time systems have to respond to external events which occur randomly. When such an event occurs the system executes a set of jobs in response. The release times of those jobs are not known until the event triggering them occurs. These jobs are called sporadic jobs or aperiodic jobs because they are released at random times.
If the tasks containing jobs that are released at random time instants and have hard deadlines then they are called sporadic task. Sporadic tasks are treated as hard real-time tasks. To ensure that their deadlines are met is the primary concern whereas minimizing their response times is of secondary importance. For example,
- An autopilot is required to respond to a pilot’s command to disengage the autopilot and switch to manual control within a specified time.
- A fault tolerant system may be required to detect a fault and recover from it in time to prevent disaster
When the task or job have no any deadlines or soft deadline then it is called aperiodic task or job. For example,
- An operator adjusts the sensitivity of a radar system. The radar must continue to operate and in the near future change its sensitivity.
For example: Periodic task τi with ri = 2, Ti = 5, ei = 2, Di = 5 can be executed like this (continues until infinity).
Release Time of Sporadic Job:
- The release times of sporadic and aperiodic jobs are random
- The system model gives the probability distribution A(x) of the release time of such a
- A(x) gives us the probability that the release time of a job is at or earlier than x, or in the case of inter release time, that it is less than or equal to x.
Rather than speaking of release times for aperiodic jobs, sometimes it is termed as arrival time (or inter arrival time) commonly used in queuing theory. An aperiodic job arrives when it is released. A(x) is the arrival time distribution or inter arrival time distribution where A (x) is probability of release time of job is at or earlier than x.
Characterization of Execution Time:
The execution time ei of job Ji is in the range [ei-, ei+] where ei- is the minimum execution time and ei+ is the maximum execution time of job Ji. The ei- and ei+ of every hard real-time job Ji must be known even if there is unknown value of ei. The purpose of determining ei- and ei+ to determine the deadline as well as execution time ei cannot exceed than ei+.
Maximum Execution Time:
- For the purpose of determining whether each job can always complete by its deadline, it suffices to know its maximum execution time.
- In most deterministic models used to characterize hard real-time applications, the term execution time ei of each job Ji specifically means its maximum execution time.
- However we don’t mean that the actual execution time is fixed and known, only that it never exceeds our ei (which may actually be ei+).