Time Donation in Time-Partitioning Scheduler

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveexecution time wasteVSAvoidscheduler complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveprocess synchronizationVSAvoidmessage passing speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveexecution schedule stabilityVSAvoidsystem throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8984527B2System and method for execution time donation in a time-partitioning scheduler
Publication Date: 2015.03.17 WIND RIVER SYSTEMS INC
  • US8984527B2 patent drawing
  • US8984527B2 patent drawing
  • US8984527B2 patent drawing

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.