Real-Time OS Processor Loading Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In real-time operating systems, large processing requests from lower frequency tasks to higher frequency tasks can cause the high frequency tasks to exceed their completion deadlines, leading to slower execution frequencies and potential system instability.
Innovation Solution
A method is introduced to distribute the processing requests of lower frequency tasks across multiple iterations of high frequency tasks by queuing discrete processing commands and determining a ratio of execution frequencies to execute a subset of commands at each iteration, ensuring timely completion without delaying the high frequency task.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a lower frequency processing task makes a large processing request to a high frequency processing task, then the processing request can be fulfilled, but the high frequency task may exceed its completion deadline
Solution Approach 1:
The patent segments the large processing request into multiple discrete processing commands that are queued and executed incrementally across multiple iterations of the high frequency task. Instead of executing all commands in a single iteration, the system divides the workload into manageable chunks, allowing the high frequency task to maintain its execution frequency while still fulfilling the complete processing request over time.
Solution Approach 2:
The patent implements preliminary action by queuing the discrete processing commands before execution. The lower frequency task submits the entire processing request and its associated commands to a queue in advance, allowing the high frequency task to pick up and execute commands at its own pace without being blocked by the lower frequency task's execution timeline. This ensures the high frequency task can maintain its deadline while still processing the complete request.
2Productivity
If the high frequency task executes all processing commands in one iteration, then processing is completed quickly, but the task execution frequency decreases
Solution Approach 1:
The patent segments the processing commands into discrete units that are executed across multiple iterations. Each iteration executes only a subset of the total commands, determined by calculating the ratio between the lower frequency task's execution rate and the high frequency task's execution rate. This segmentation allows the high frequency task to maintain its rapid execution frequency while still making progress on the complete processing request.
Solution Approach 2:
The patent implements periodic action by executing processing commands at regular intervals corresponding to the high frequency task's iteration cycle. Rather than executing all commands in a single burst, the system periodically executes a calculated subset of commands in each iteration, ensuring consistent progress while maintaining the task's high execution frequency and timing characteristics.
3Speed
If processing commands are distributed across multiple iterations, then the high frequency task maintains its execution frequency, but the processing takes longer to complete
Solution Approach 1:
The patent minimizes the duration impact by implementing preliminary action through advance queueing. The lower frequency task submits the complete processing request and all associated commands to the queue before the high frequency task begins execution. This allows the high frequency task to execute commands continuously across iterations without waiting for new commands to be generated, reducing the total processing duration while maintaining execution frequency.
Solution Approach 2:
The patent ensures continuity of useful action by having the high frequency task execute processing commands in every iteration without idle cycles. The command queue is structured to provide continuous work, and the task executes a calculated subset of commands in each iteration, ensuring that the processor remains continuously utilized. This maximizes productivity while distributing the workload across multiple iterations to maintain execution frequency.
Data Source
AI summary
A method of distributing processor loading in a real-time operating system between a high frequency processing task and a lower frequency processing task, the method including: making a processing request to the high frequency processing task from the lower frequency processing task, the processing request including a plurality of discrete processing commands; queuing the plurality of discrete processing commands; and executing a subset of the queued processing commands with the execution of each of a plurality of high frequency processing tasks such that the execution of the plurality of discrete processing commands is distributed across the plurality of high frequency processing tasks.

