Dynamic Graphics Processor Scheduling for Parallel Execution Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies due to static configuration of graphics pipelines, leading to idle time and decreased performance in parallel processing environments, particularly in MIMD structures with multiple threads.

Innovation Solution

A dynamic scheduling unit for parallel graphics processors that creates and manages graphic objects, distributing them across execution blocks for processing, allowing for dynamic scheduling and resource allocation to improve processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static configuration of graphics pipelines is used, then device simplicity is maintained, but resource utilization decreases and idle time increases

Engineering Contradiction:
Improveresource utilizationVSAvoidpipeline configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic scheduling of graphics pipelines by allowing the pipeline configuration to change at runtime based on workload characteristics. The scheduler dynamically allocates and deallocates pipeline stages to different rendering tasks, enabling the system to adapt to varying workloads and improve resource utilization without requiring a completely redesign of the hardware architecture.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal graphics pipeline architecture where the same physical pipeline stages can be dynamically assigned to different rendering tasks and thread types (serial and parallel). This multi-functionality allows a single pipeline configuration to handle diverse workloads efficiently, improving adaptability without proportionally increasing device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If parallel processing with multiple threads is implemented, then processing speed increases, but coordination overhead and idle time increase

Engineering Contradiction:
Improveprocessing speedVSAvoididle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a scheduling system that monitors the execution state of multiple threads and pipeline stages, using this feedback information to dynamically reallocate resources. When a thread completes or stalls, the scheduler detects this through status registers and feedback signals, then reassigns the freed pipeline stages to other waiting threads, minimizing idle time and maximizing continuous processing.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent ensures continuous utilization of graphics pipeline resources by implementing a thread pool mechanism where multiple threads are kept in various states of execution readiness. The scheduler continuously assigns available pipeline stages to threads that are ready to execute, eliminating gaps in resource utilization and maintaining continuous useful action across the parallel processing elements.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If dynamic scheduling is implemented, then resource allocation efficiency improves, but scheduling hardware complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidscheduling hardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the scheduling functionality into distinct modular components: a thread manager that handles thread creation and state management, a stage allocator that manages pipeline stage assignment, and status tracking registers that monitor execution progress. This segmentation allows each component to be implemented with focused complexity, reducing overall scheduling hardware complexity while maintaining high resource allocation efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements self-service mechanisms where threads automatically register their execution requirements and the pipeline stages self-manage their allocation state through status registers. The scheduling hardware does not require complex centralized control logic; instead, distributed status tracking and automatic state transitions enable efficient resource allocation with minimal scheduling overhead.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7659898B2Multi-execution resource graphics processor
Publication Date: 2010.02.09 VIA TECH INC
  • US7659898B2 patent drawing
  • US7659898B2 patent drawing
  • US7659898B2 patent drawing

AI summary

A dynamically scheduled parallel graphics processor comprises a spreader that creates graphic objects for processing and assigns and distributes the created objects for processing to one or more execution blocks. Each execution block is coupled to the spreader and receives an assignment for processing a graphics object. The execution block pushes the object through each processing stage by scheduling the processing of the graphics object and executing instruction operations on the graphics object. The dynamically scheduled parallel graphics processor includes one or more fixed function units coupled to the spreader that are configured to execute one or more predetermined operations on a graphics object. An input/output unit is coupled to the spreader, the one or more fixed function units, and the plurality of execution blocks and is configured to provide access to memory external to the dynamically scheduled parallel graphics processor.