Thread Group Scheduling for Multiprocessor Resource Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, existing thread scheduling methods fail to efficiently utilize processor resources and manage data communication between threads, leading to suboptimal processing efficiency and resource utilization.

Innovation Solution

The proposed solution organizes execution units into groups, maps processor resources exclusively to each group's address space, and controls their assignment to processors such that all execution units within a group are assigned simultaneously, prioritizing groups based on priority levels and arrival order, and allows groups to be assigned to processors only when all units are available, thereby optimizing resource allocation and reducing reassignment costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If threads are scheduled individually using conventional methods (round-robin or priority scheduling), then CPU time can be assigned to threads, but processing efficiency and resource utilization are suboptimal in multiprocessor systems

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple threads into thread groups that are scheduled and assigned to processors as unified units. This combining approach allows the system to optimize resource allocation at the group level, improving processing efficiency by ensuring that related threads execute together on available processors, while simplifying the overall scheduling complexity through group-based management.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent segments the thread pool into distinct thread groups that can be independently managed and scheduled. By dividing threads into groups with common characteristics or relationships, the system can apply scheduling decisions to entire groups rather than individual threads, improving efficiency while reducing scheduling complexity through hierarchical management.

Inventive Principle:
Principle #1Segmentation

2Productivity

If threads are assigned to processors without grouping constraints, then processor resources can be utilized, but resource utilization and data communication efficiency deteriorate

Engineering Contradiction:
Improveresource utilizationVSAvoiddata communication efficiency
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent combines threads that require frequent data communication into the same thread groups, which are then assigned to processors together. This merging ensures that threads sharing data access requirements are co-located on the same processor or closely coupled processors, improving resource utilization while maintaining efficient data communication through reduced inter-processor data transfer needs.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If thread assignment does not consider simultaneous group assignment, then individual threads can be scheduled flexibly, but reassignment costs increase and efficiency deteriorates

Engineering Contradiction:
Improveassignment efficiencyVSAvoidreassignment cost
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges threads into groups that are assigned to processors simultaneously as unified units. This approach improves assignment efficiency by making batch assignments rather than individual assignments, thereby reducing the overhead and time loss associated with repeated assignment operations. When reassignment is needed, entire groups can be reassigned together, minimizing reassignment costs.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7913257B2Scheduling method, scheduling apparatus and multiprocessor system
Publication Date: 2011.03.22 SONY INTERACTIVE ENTERTAINMENT LLC
  • US7913257B2 patent drawing
  • US7913257B2 patent drawing
  • US7913257B2 patent drawing

AI summary

A thread status managing unit organizes a plurality of threads into groups and manages the status of the thread groups. A ready queue queues thread groups in a ready state or a running state in the order of priority and, within the same priority level, in the FIFO order. An assignment list generating unit sequentially retrieves the thread groups from the ready queue. The assignment list appends a retrieved thread group to a thread assignment list only when all threads belonging to the retrieved thread group are assignable to the respective processors at the same time. A thread assigning unit assigns all threads belonging to the thread groups stored in the thread assignment list to the respective processors.