Job Scheduling in Heterogeneous Processing Modules
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Speed
If resource-intensive jobs are assigned to high-performing modules, then processing speed improves, but energy consumption increases
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.
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.
3Loss of energy
If the system uses heterogeneous processing modules with different performance levels, then energy efficiency improves, but system complexity increases
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.
4Reliability
If jobs are transferred between processing modules to ensure timely completion, then quality of service improves, but scheduling complexity increases
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.
Data Source
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.


