Time Donation in Time-Partitioning Scheduler
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional schedulers do not allow for efficient process synchronization and message passing due to the inability of a process to release its execution time to another process within its fixed time window, leading to wasted execution time and reduced performance.
Innovation Solution
A method and device for donating execution time from a first process to a second process, where a time slice duration is determined for each process, and a schedule is generated to include an order for each time slice, allowing for a time donation scheme where a first process can donate its execution time to a second process, enabling faster response times and optimized resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If a conventional time-partitioning scheduler is used to ensure predictable process execution, then process scheduling order is controlled, but execution time is wasted when a process does not utilize its full time slice
Solution Approach 1:
The scheduler transitions from a static time-partitioning approach to a dynamic model where time slices can be donated and transferred between processes. The schedule becomes flexible rather than fixed, allowing processes to dynamically share execution time based on actual needs while maintaining predictable bounds on execution time.
Solution Approach 2:
The invention changes the parameter of time slice allocation from fixed to variable. By introducing time donation mechanisms, the duration of execution time slices can be adjusted dynamically based on process requirements, allowing processes to donate unused time to other processes that need additional execution time.
2Reliability
If client processes wait for their time window to end and server processes wait for their time window to begin, then process synchronization is maintained, but message passing performance is reduced
Solution Approach 1:
The invention allows client processes to perform preliminary actions during their time window by donating execution time to server processes. This enables message passing to begin earlier than the server's designated time window, improving communication speed while maintaining synchronization through controlled time donation rather than rigid waiting.
Solution Approach 2:
The scheduler acts as an intermediary that manages time donations between client and server processes. It mediates the transfer of execution time slices, allowing synchronized processes to exchange messages more efficiently by bridging the time gap between client completion and server readiness without breaking synchronization guarantees.
3Stability of the object's composition
If a fixed time window is allocated to each process, then predictable execution is ensured, but unused execution time cannot be utilized by other processes
Solution Approach 1:
The invention merges unused execution time from multiple processes into a shared pool that can be allocated to processes that need additional time. By combining available time slices through donation mechanisms, the system maintains stable scheduling while improving overall throughput through more efficient utilization of available execution time.
Solution Approach 2:
Execution time slices become universal resources that can serve multiple purposes and multiple processes. A time slice originally allocated to one process can be donated to another process, making the execution time resource multi-functional and adaptable to varying process needs while preserving the overall scheduling structure.
Data Source
AI summary
A system and method donates time from a first process to a second process. The method includes determining a time slice for each of a plurality of processes to generate a schedule therefrom. The method includes determining a time donation scheme for the first process, the time donation scheme indicative of a donation policy in which the execution time of the first process is donated to the second process. During execution of the processes, the method includes receiving a request from the first process for a time donation to the second process and executing the second process during the time slice of the first process.


