Determinism and Jitter in a Real-Time System
- Updated2023-02-17
- 2 minute(s) read
Determinism and Jitter in a Real-Time System
When programmed appropriately, a real-time system can guarantee that tasks consistently execute in a specified time constraint. Determinism is the characteristic that describes how consistently a system executes tasks within a time constraint.
A perfectly deterministic system would experience no variation in timing for tasks. However, in the real world, even highly deterministic systems experience slight variations in timing for tasks. The variation between the expected timing and the actual timing for a task is known as jitter. Jitter occurs both when actual timing is later than expected timing and when actual timing is earlier than expected timing for a task. The following illustration shows the jitter for multiple executions of one task.

- When actual timing is later than expected, the task can fail to finish executing within the timing requirements of an application.
- When actual timing is earlier than expected, the task can get out of sync with other tasks in the application.
The amount of jitter that a task can tolerate while still meeting the timing requirements of the task defines the acceptable jitter for the task. In the following illustration, mean execution time for each normal distribution graph corresponds to the expected timing for the task. The range of actual execution times shown along the x-axis is the jitter for the task. When the jitter for the task falls within the range of acceptable execution times, the task is sufficiently deterministic.

Related Information
- Organizing Deterministic and Non-Deterministic Tasks in a Real-Time VI
- Separating Tasks to Optimize a Real-Time Application
Task separation involves running distinct tasks in parallel loops to create an application.
- Introduction to Real-Time Operating Systems
A real-time operating system (RTOS) enables a real-time system to run applications that require precise timing or high reliability. Rather than distributing processor resources evenly between running tasks, an RTOS can guarantee precise timing and high reliability because it manages the execution of tasks based on the priority assigned to each task.
- Minimizing Jitter in a Deterministic Loop
The variation between the expected timing and the actual timing for a task is known as jitter. Minimize jitter in deterministic loops to ensure precise timing in your real-time application.