Real-Time System Task Allocation via Dynamic Resource Refinement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Predicting resource utilization in real-time computer systems is challenging due to imperfect representations of software modules in higher-order programming languages, inaccurate models of physical resources, and hidden interactions, which complicates the allocation of tasks to resources, especially in safety-critical systems.
Innovation Solution
A method that measures real resource utilization during execution and refines predictions to improve configuration by determining infrastructure tasks and messages, allocating tasks and messages based on refined predictions, and using these measurements to adjust resource allocation dynamically.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If resource utilization prediction is performed using higher-order programming language representations and abstract models, then the prediction process is simplified and more manageable, but the prediction accuracy deteriorates due to imperfections in language representation and model inaccuracies
Solution Approach 1:
The system performs preliminary actions by instrumenting the software modules during the development phase to embed measurement code that collects actual resource utilization data during execution. This preliminary measurement infrastructure is built before runtime prediction, allowing the system to gather empirical data that compensates for the inaccuracies of abstract models and higher-order language representations.
Solution Approach 2:
The system implements feedback by continuously measuring actual resource utilization during task execution and using these measurements to refine and update prediction models. The measured data flows back into the prediction mechanism, creating a closed-loop system that progressively improves prediction accuracy while maintaining manageable complexity through iterative refinement.
2Reliability
If comprehensive resource utilization prediction is attempted to ensure safety-critical requirements, then system reliability improves, but the difficulty of prediction increases due to hidden interactions and emergent phenomena
Solution Approach 1:
The system applies self-service by having the software modules automatically instrument themselves with measurement code during development. The modules self-monitor their own resource consumption and interactions, eliminating the need for complex external analysis tools to detect hidden interactions. This self-measurement capability enables comprehensive reliability verification without proportionally increasing prediction difficulty.
3Ease of operation
If static resource allocation is used based on initial predictions, then configuration simplicity is maintained, but resource utilization efficiency deteriorates due to inability to adapt to actual execution patterns
Solution Approach 1:
The system transitions from static to dynamic resource allocation by continuously measuring actual resource utilization during runtime and automatically adjusting task-to-resource assignments based on empirical data. The configuration evolves dynamically as the system learns actual execution patterns, maintaining operational simplicity through automated adaptation rather than manual reconfiguration.
Solution Approach 2:
The system changes allocation parameters dynamically by modifying task assignment configurations based on measured resource utilization data. When measurements reveal underutilized resources or bottlenecks, the system automatically adjusts allocation parameters such as task-period assignments and resource capacity distribution, improving efficiency while keeping the configuration process simple through automated parameter optimization.
Data Source
Figure 1
Figure 2~3
Figure 4~8
AI summary
A Method for configuring a real-time computer system (RTS, RTSa) comprising resources for executing tasks (AT1-AT4, IT1-IT5, ITM_M1, ITM_OUT), wherein at least one of the tasks is a real time task; - wherein the resources in the real-time computer systems (RTS, RTSa) comprise at least a first and a second processor (PI, P2) and a communication subsystem (COM1, COMla) interconnecting at least said first and second processor (PI, P2) and at least a first memory (M1) accessible by said first processor and at least a second memory (M2) accessible by said second processor wherein the method comprises the steps: - providing an estimate for an individual resource utilization (101_SOTA, 101, 103, 104) of the tasks, - providing for each resource a resource model (MOD_SOTA, MOD); - determining a configuration allocating each of the tasks to at least one of the resources according to a prediction at least based on said estimate for an individual resource utilization (101_SOTA, 101, 103, 104) of the tasks and said resource model; characterized by the steps of - measuring the real resource utilization of the tasks during execution, and - refining of the prediction according to a result of the measuring and - refining the configuration according to the refined prediction.