Adaptive mechanisms for component-based real-time systems
Giorgio Buttazzo, Luca Santinelli · 2015
When a common computing platform is shared by several software activities (tasks), the interference generated by the concurrent access to computational resources introduces unpredictable delays on task execution that may jeopardize the correct behavior of the controlled system. In safety-critical systems, an effective method for limiting such an interference is resource partitioning (or resource reservation), according to which each task is assigned a fraction of the shared resource (bandwidth) and executes in isolation as it were executing alone on a system with less resources. The advantage of this approach is that the response time of each task does not depend on the execution behavior of the other activities, but only on its own computational demand and on the amount of allocated resource. However, the resulting system performance strongly depends on a correct resource allocation, that is the size of the partitions. Given the dynamic behavior of certain applications and the difficulty of predicting their resource needs, adaptive resource management is crucial for changing the allocation to the actual resource requirements when they are not correctly estimated. This paper presents an adaptive resource reservation algorithm for partitioning the processor among concurrent real-time tasks and illustrates the analysis for computing the probability of meeting the timing constraints specified on the application tasks, and evaluating the changes on system partitions.