Multiprocessor Task Scheduling via CPU Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, complex long-running jobs often consume resources, leading to unnecessarily long response times for short-running jobs, while prioritizing short jobs can delay the completion of long jobs, resulting in inefficient resource utilization and task completion times.

Innovation Solution

The system partitions CPUs into two subsets, one for new or short-running tasks and another for previously suspended long-running tasks, with dynamic allocation of resources based on workload and task priority to manage mixed workloads efficiently, using task queues and time thresholds to suspend and resume tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the scheduler prioritizes long-running jobs to maximize resource utilization, then resource utilization is improved, but response time for short-running jobs deteriorates

Engineering Contradiction:
Improveresource utilizationVSAvoidresponse time for short-running jobs
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the CPU into two distinct subsets: one dedicated to short-running jobs and another to long-running jobs. This segmentation allows each subset to handle specific job types without interference, resolving the contradiction by enabling short jobs to execute quickly on dedicated CPUs while long jobs utilize the other subset, thereby maintaining high overall resource utilization without delaying short job responses.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If the scheduler prioritizes short-running jobs to reduce response time, then response time for short jobs is improved, but completion time for long-running jobs deteriorates

Engineering Contradiction:
Improveresponse time for short-running jobsVSAvoidcompletion time for long-running jobs
Core Design Contradiction:
Loss of timeVSDuration of action of moving object

Solution Approach 1:

By dividing the CPU into two subsets with dedicated responsibilities, the system ensures that short-running jobs are immediately handled by the first subset, reducing their response time. Simultaneously, the second subset is dedicated to long-running jobs, ensuring they receive sufficient processing resources without being preempted by short jobs, thus resolving the contradiction between response time and completion time.

Inventive Principle:
Principle #1Segmentation

3Productivity

If all CPUs are allocated to execute mixed workloads dynamically, then resource utilization is improved, but task completion time deteriorates

Engineering Contradiction:
Improveresource utilizationVSAvoidtask completion time
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The patent segments the CPU into two fixed subsets rather than dynamically allocating all CPUs to mixed workloads. This segmentation allows each subset to specialize in specific job types, preventing context switching overhead and ensuring that short jobs are completed quickly while long jobs progress without interruption, thereby reducing overall task completion time while maintaining high resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by giving each CPU subset a specific function: one subset is optimized for short-running jobs while the other is optimized for long-running jobs. This functional differentiation allows each subset to operate efficiently for its designated task type, resolving the contradiction between resource utilization and task completion time by ensuring that no CPU is wasted on unsuitable job types.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10754706B1Task scheduling for multiprocessor systems
Publication Date: 2020.08.25 STRATEGY INC
  • US10754706B1 patent drawing
  • US10754706B1 patent drawing
  • US10754706B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer-readable storage devices, for task scheduling in a multiprocessor system. The processors of a multiprocessor system are partitioned into two groups, a first group of processors that preferentially execute new, short-running tasks and a second group of processors that preferentially execute suspended, long-running tasks. A scheduler of the multiprocessor system maintains queues of new and suspended tasks, suspends tasks, and assigns tasks to the processors according to their group preference. By designating different processors to preferentially execute new, short-running tasks or suspended, long-running tasks, the multiprocessor system may more efficiently manage workloads that contain a mixture of task types.