Multi-Context Graphics Processing for Media Device Resource Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Media devices face performance inefficiencies due to limited graphics processing resources, leading to slowdowns or failures when multiple applications attempt to access graphics hardware simultaneously, particularly in multi-pipeline processing scenarios.

Innovation Solution

Implementing multi-context graphics processing, which allows multiple software programs to use graphics hardware by managing graphics processing requests through a multi-context processing module and configuring the graphics system for two-stage pipeline processing, where one pipeline operation's memory requirements are collapsed to share resources, enhancing overall performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple applications simultaneously access graphics hardware, then graphics processing capability is improved, but system performance deteriorates due to computational congestion

Engineering Contradiction:
Improvegraphics processing capabilityVSAvoidsystem performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the graphics processing system into multiple independent pipelines (first pipeline and second pipeline) that can operate in parallel. Each pipeline has its own command buffer and processing context, allowing multiple applications to access graphics hardware simultaneously without causing computational congestion. The segmentation of processing contexts enables independent execution paths that prevent resource contention.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a multi-context processing module as an intermediary between applications and the graphics hardware. This module manages multiple processing contexts and routes commands to appropriate pipelines, acting as a mediator that coordinates access to graphics resources. The intermediary layer abstracts the complexity of parallel processing from individual applications while maintaining system-wide performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multi-pipeline processing is implemented, then parallel processing capability is improved, but resource management complexity increases

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal multi-context processing module that handles multiple functions: context management, command routing, pipeline coordination, and resource allocation. This single multi-functional component manages all aspects of parallel processing, reducing the need for separate management mechanisms for each pipeline and simplifying overall resource management despite the increased parallel processing capability.

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

3Quantity of substance

If graphics memory resources are shared, then memory efficiency is improved, but access conflicts increase

Engineering Contradiction:
Improvememory efficiencyVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments memory access by creating separate command buffers and processing contexts for different pipelines. Each pipeline has dedicated access paths to graphics memory through its own context, allowing memory to be shared efficiently without access conflicts. The segmentation of access paths enables concurrent memory operations by different applications without interference.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8593467B2Multi-context graphics processing
Publication Date: 2013.11.26 APPLE INC
  • US8593467B2 patent drawing
  • US8593467B2 patent drawing
  • US8593467B2 patent drawing

AI summary

A method of managing multiple contexts for a single mode display includes receiving a plurality of tasks from one or more applications and determining respective contexts for each task, each context having a range of memory addresses. The method also includes selecting one context for output to the single mode display and loading the selected context into a graphics processor for the display.