IoT Process Scheduler with Dynamic Time Quantum Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing scheduling algorithms for IoT and mobile devices face challenges in optimizing processing time due to dynamic job priorities and resource constraints, leading to issues like starvation and excessive context switching.
Innovation Solution
A scheduling method that divides the ready queue into two lists, calculates average execution times for each list, and assigns a quantum value closest to the candidate process's total execution time, using algorithms like Plus Minus Mid-PMM, Close to Average-CA, Close to Mid Value-MC, and Max Min-MM to dynamically allocate time quanta.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a fixed time quantum is used in Round Robin scheduling, then implementation is simple, but it causes starvation and excessive context switching when process execution times vary dynamically
Solution Approach 1:
The patent implements dynamic time quantum adjustment by calculating the average execution time of processes in the ready queue and using this average to determine the time quantum for each process. This transforms the static Round Robin algorithm into a dynamic one that adapts to varying process characteristics, resolving the contradiction between implementation simplicity and processing efficiency.
Solution Approach 2:
The patent changes the time quantum parameter from a fixed value to a dynamically calculated value based on the average execution time of processes. By modifying this key parameter adaptively, the system achieves better processing efficiency while maintaining the fundamental simplicity of the Round Robin approach.
2Productivity
If dynamic time quantum calculation is implemented, then processing efficiency improves, but system complexity increases
Solution Approach 1:
The patent segments the ready queue into multiple lists and calculates average execution times for each segment. This segmentation approach distributes the computational complexity across multiple smaller calculations rather than requiring a single complex calculation for the entire queue, thereby improving processing efficiency while managing system complexity.
Solution Approach 2:
The patent performs preliminary calculation of average execution times for process segments before actual scheduling decisions are made. This preliminary action prepares the necessary data in advance, enabling efficient dynamic time quantum assignment without adding significant complexity to the real-time scheduling process.
3Productivity
If processes are frequently switched to optimize resource utilization, then resource utilization improves, but context switching overhead increases
Solution Approach 1:
The patent uses dynamic time quantum adjustment to optimize the frequency of context switching. By adapting the time quantum to match actual process execution characteristics, the system achieves better resource utilization while minimizing unnecessary context switches, thereby reducing the time lost to switching overhead.
Solution Approach 2:
The patent implements feedback mechanisms by monitoring process execution times and using this information to adjust future time quantum assignments. This feedback loop enables the system to learn from past behavior and optimize context switching frequency, improving resource utilization while reducing wasted time on excessive switching.
Data Source
AI summary
The present disclosure is directed to a scheduler in a real time operating system for a central processing unit (CPU) that runs a number of, and diverse set of processes in a ready queue, the scheduler when executed by the CPU performs steps including dividing the ready queue of P processes into two lists, list 1 contains n processes while list 2 contains m processes, where n+m=P, averaging total execution times of the processes in each list, generating a first quantum s based on an average of each list, generating a second quantum t based on the average of each list, comparing total execution time of a candidate process which needs to be assigned to the CPU with the quantum values, and assigning the value of a quantum, based on the comparing, that is the quantum value closest to the total execution time of the candidate process, to that process as a time period for running on the CPU.


