Dynamic Time Slice Adjustment for Fractional Processor Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In shared processor logical partitioned data processing systems, existing time slicing mechanisms are inflexible and do not account for fractional processor allocations, leading to anomalies and inefficient thread scheduling.

Innovation Solution

The operating system adjusts its time slice based on the target processor percentage assigned by the hypervisor, ensuring that threads are allocated time slices that align with the available processing resources, thereby optimizing multitasking in shared processor environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a predetermined time slice is hard coded into the operating system, then the operating system can run multiple threads in a multitasking environment, but the time slice does not account for fractional processor allocation in SPLPAR systems, leading to scheduling anomalies

Engineering Contradiction:
Improvetime slice adaptabilityVSAvoidscheduling mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The time slice is made dynamic by adjusting it based on the target processor percentage allocated to the logical partition. Instead of using a fixed hard-coded value, the system calculates an adjusted time slice that reflects the fractional processor allocation, allowing the scheduling mechanism to adapt to different SPLPAR configurations

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the time slice parameter from a fixed value to a calculated value based on the target processor percentage. This parameter adjustment ensures that the time slice accurately represents the available processing resources in shared processor environments

Inventive Principle:
Principle #35Parameter changes

2Use of energy by moving object

If multiple operating systems are run on a single machine with shared processors, then energy consumption and heat generation are reduced, but the existing time slicing mechanism cannot properly allocate time slices for fractional processor percentages

Engineering Contradiction:
Improveenergy efficiencyVSAvoidthread scheduling efficiency
Core Design Contradiction:
Use of energy by moving objectVSEase of operation

Solution Approach 1:

The system uses feedback from the target processor percentage allocation to dynamically adjust the time slice. The operating system receives information about its fractional processor allocation and uses this feedback to calculate the appropriate time slice, ensuring efficient thread scheduling that matches the actual available resources

Inventive Principle:
Principle #23Feedback

3Ease of manufacture

If the operating system uses a fixed time slice for thread scheduling, then the scheduling is simple to implement, but it leads to inefficient thread prioritization and anomalies in shared processor environments

Engineering Contradiction:
Improvescheduling implementation simplicityVSAvoidthread execution efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system performs preliminary calculation of the adjusted time slice based on the target processor percentage before thread scheduling begins. This pre-computation ensures that the time slice is optimized for the specific fractional allocation, improving thread execution efficiency without adding complexity during runtime scheduling operations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7370331B2Time slicing in a shared partition
Publication Date: 2008.05.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7370331B2 patent drawing
  • US7370331B2 patent drawing
  • US7370331B2 patent drawing

AI summary

An operating system in a shared processor logical partitioned data processing system is given a target percentage. The hypervisor assigns the target processor percentage to the operating system. The operating system also has a predetermined time slice to allot to threads in a multitasking environment. The operating system adjusts the time slice based on a per-virtual-processor percentage.