Job Scheduling in Heterogeneous Processing Modules

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data center systems face challenges in efficiently assigning jobs to heterogeneous processing modules without advance knowledge of resource demands, leading to suboptimal performance, throughput, and energy utilization.

Innovation Solution

A scheduling module that allocates jobs based on service demands by assigning resource-intensive tasks to high-performing modules and less resource-intensive tasks to lower-performing modules, with the ability to transfer jobs between modules to ensure timely completion and optimal resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If jobs are assigned to heterogeneous processing modules without advance knowledge of resource demands, then the system can operate with simpler scheduling logic, but performance optimization and resource utilization deteriorate

Engineering Contradiction:
Improvescheduling logic simplicityVSAvoidperformance optimization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-classifying processing modules into performance tiers (high, medium, low) before job assignment. This pre-established classification structure enables the scheduler to make informed decisions without needing advance knowledge of specific job resource demands, thus maintaining operational simplicity while achieving performance optimization through structured heterogeneity exploitation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter of module selection from static (fixed assignment) to dynamic (performance-based assignment). By introducing performance level as a variable parameter that determines job assignment, the system adapts module selection to match job characteristics, improving productivity while maintaining relatively simple scheduling logic through performance threshold comparisons.

Inventive Principle:
Principle #35Parameter changes

2Speed

If resource-intensive jobs are assigned to high-performing modules, then processing speed improves, but energy consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by matching specific job requirements with corresponding module performance levels. Instead of uniformly assigning all jobs to high-performing modules, the system selectively assigns resource-intensive jobs to high-performing modules while directing less demanding jobs to medium or low-performing modules, thus optimizing processing speed where needed while conserving energy elsewhere in the system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by applying high-performance resource allocation only to the extent necessary - specifically to resource-intensive jobs that require it. Less resource-intensive jobs receive partial performance allocation from medium or low-performing modules, avoiding the excessive energy consumption that would result from assigning all jobs to high-performing modules.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of energy

If the system uses heterogeneous processing modules with different performance levels, then energy efficiency improves, but system complexity increases

Engineering Contradiction:
Improveenergy efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent reduces system complexity through preliminary action by pre-establishing performance classifications for heterogeneous modules before operation. This pre-classification creates a simple tiered structure (high, medium, low performance levels) that simplifies the scheduling decision-making process, allowing the system to exploit heterogeneity for energy efficiency without requiring complex real-time analysis or adaptive algorithms.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If jobs are transferred between processing modules to ensure timely completion, then quality of service improves, but scheduling complexity increases

Engineering Contradiction:
Improvequality of serviceVSAvoidscheduling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements feedback mechanisms by monitoring job progress and performance metrics during execution. When a job is assigned to a processing module, the system continuously evaluates whether the job is on track to meet its deadline. Based on this feedback, the scheduler can dynamically transfer jobs between modules of different performance levels, ensuring quality of service while managing scheduling complexity through rule-based transfer decisions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11829804B2Assigning jobs to heterogeneous processing modules
Publication Date: 2023.11.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11829804B2 patent drawing
  • US11829804B2 patent drawing
  • US11829804B2 patent drawing

AI summary

A processing system is described which assigns jobs to heterogeneous processing modules. The processing system assigns jobs to the processing modules in a manner that attempts to accommodate the service demands of the jobs, but without advance knowledge of the service demands. In one case, the processing system implements the processing modules as computing units that have different physical characteristics. Alternatively, or in addition, the processing system may implement the processing modules as threads that are executed by computing units. Each thread which runs on a computing unit offers a level of performance that depends on a number of other threads that are simultaneously being executed by the same computing unit.