Processor Share Allocation for Multi-Process Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scheduling algorithms face complexity in efficiently allocating system resources among multiple processes and processors in multi-processor computer systems, especially when constraints like minimum and maximum resource allocations are involved, leading to computational challenges in achieving optimal solutions.

Innovation Solution

Defining a minimum processor share and a maximum processor share for each executable process, using an optimizer to determine target share allocations, and a scheduler to assign processes based on these allocations, which involves scaling and redistributing excess processor time to achieve efficient processor utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If optimal solutions are sought for multi-dimensional scheduling problems with multiple processes and processors, then resource allocation efficiency is improved, but computational time and complexity increase considerably

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidcomputational time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the complex scheduling problem into two distinct phases: an optimization phase that determines target share allocations using linear programming, and a scheduling phase that assigns processes to processors based on those allocations. This segmentation allows each phase to be solved independently and efficiently, avoiding the need to solve the entire multi-dimensional problem optimally at once.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the optimization component (target share allocation) from the scheduling component (process-to-processor assignment). By separating these functions, the system can use efficient linear programming algorithms for optimization while using simpler scheduling algorithms for assignment, significantly reducing overall computational complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If minimum and maximum resource allocation constraints are imposed on each process, then resource allocation fairness is improved, but scheduling problem complexity increases

Engineering Contradiction:
Improveresource allocation fairnessVSAvoidscheduling problem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent transforms the constrained scheduling problem into an unconstrained linear programming problem by changing the parameters from hard minimum and maximum constraints to soft target share allocations. The optimizer determines allocations that respect these targets while the scheduler handles the actual assignment, converting a complex constrained optimization problem into two simpler problems.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If the number of processes exceeds the number of processors, then system capacity is improved, but processor utilization efficiency decreases

Engineering Contradiction:
Improvenumber of processesVSAvoidprocessor utilization efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent introduces dynamic share allocations that allow the system to adaptively distribute processor time among more processes than physical processors. The target share allocations and scheduling assignments are dynamically adjusted based on process priorities and current system state, enabling efficient utilization of processors even when handling a larger number of concurrent processes.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8046766B2Process assignment to physical processors using minimum and maximum processor shares
Publication Date: 2011.10.25 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8046766B2 patent drawing
  • US8046766B2 patent drawing
  • US8046766B2 patent drawing

AI summary

A system and method is provided for assigning a plurality of executable processes to a plurality of physical processors in a multi-processor computer system using a minimum processor share and a maximum processor share defined for each executable process. In an embodiment, the method can include allocating shares of total processor time to each executable process in proportion to the minimum processor shares up to the maximum processor shares to form target share allocations. The target share allocations can be used to map processes to the physical processors.