Abstract

A real-time monitor is employed to aid in scheduling tasks with random execution times in a real-time computing system. Scheduling algorithms are usually based on the worst-case execution time (WET) of each task. Due to data-dependent loops and conditional branches in each program and resource-sharing delay during execution, this WET is usually difficult to obtain and could be several orders of magnitude larger than the true execution time. Thus, scheduling tasks based on WET could result in a severe underutilization of CPU cycles and underestimation of the system's schedulability. To alleviate this problem, a real-time monitor is proposed for use as a scheduling aid. The real-time monitor is composed of dedicated hardware, called test and measurement processors (TMPs), used to measure with minimal interference the true execution time, which consists of the pure execution time and resource-sharing delay. The monitor, a permanent and transparent part of a real-time system, degrades system performance by less than 0.1% and does not interfere with the host system's execution. Using the measured pure execution time and resource-sharing delay for each task, a mechanism which reduces the discrepancy between the WET and the estimated execution time has been developed. This result is then used to decide at the earliest possible time whether a task can meet its deadline. >

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call