Graphics Engine Resource Allocation via Render Node Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics engines inefficiently allocate resources, leading to wasted memory and processor capacity due to use-case independence, redundancy, and high memory fragmentation, making them unsuitable for safety-critical environments.

Innovation Solution

A method for optimizing resource allocation by assembling render nodes with defined inputs and outputs, compiling a schedule, and setting resource barriers to enable efficient use of system resources, allowing for pre-defined allocation prior to use and minimizing re-allocation during rendering processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If pool memory is used for resource allocation in graphics engines, then resource allocation is simplified and use-case independent, but memory fragmentation increases and resources are wasted

Engineering Contradiction:
Improveresource allocation complexityVSAvoidmemory waste
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent segments the rendering pipeline into discrete render nodes with defined inputs and outputs. Each render node can be independently allocated and managed, allowing resources to be divided into manageable units that can be efficiently tracked and reused, thereby reducing memory fragmentation while maintaining allocation simplicity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the allocation parameters from static pool memory allocation to dynamic allocation based on render node requirements. Resources are allocated according to specific render node needs and released after use, transforming the allocation model from use-case independent to use-case optimized, reducing memory waste while maintaining manageable complexity

Inventive Principle:
Principle #35Parameter changes

2Reliability

If resources are permanently allocated for specific rendering operations, then resource availability is guaranteed, but memory usage increases and resources go to waste

Engineering Contradiction:
Improveresource availabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic resource allocation where resources are allocated to render nodes based on actual rendering needs and released after completion. This dynamic approach ensures resources are available when needed (maintaining reliability) while being freed for other uses afterward (reducing total memory usage), contrasting with static permanent allocation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Each render node manages its own resource allocation and release cycle. The render node system automatically allocates resources when needed and releases them after use, eliminating the need for permanent allocation while ensuring resources are available during rendering operations, thus maintaining reliability with reduced memory consumption

Inventive Principle:
Principle #25Self-service

3Productivity

If resources are allocated for specific algorithms, then algorithm performance is optimized, but resource reusability decreases and memory fragmentation increases

Engineering Contradiction:
Improverendering performanceVSAvoidresource reusability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal resource pool that serves multiple render nodes and algorithms. Resources are allocated from this shared pool based on specific algorithm needs but can be reused by any render node, making resources multi-functional. This maintains rendering performance for each algorithm while enabling resource reusability across different rendering operations

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

Solution Approach 2:

The system pre-allocates resources from a universal pool before rendering operations begin, ensuring resources are available when needed for optimal algorithm performance. After rendering completes, resources are released back to the pool for reuse, maintaining both performance optimization and resource versatility without causing memory fragmentation

Inventive Principle:
Principle #10Preliminary action

4Device complexity

If hidden resource allocation is used, then implementation is simplified, but resource tracking becomes difficult and optimization is hindered

Engineering Contradiction:
Improveallocation implementation complexityVSAvoidresource allocation tracking
Core Design Contradiction:
Device complexityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements a feedback mechanism where the render node system tracks resource allocation and release cycles. This feedback loop provides visibility into resource usage patterns, enabling optimization while maintaining simplified implementation through automated tracking. The system monitors resource flow from allocation to release, making hidden allocations visible without adding implementation complexity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10475151B2Graphics engine resource management and allocation system
Publication Date: 2019.11.12 BASEMARK
  • US10475151B2 patent drawing
  • US10475151B2 patent drawing

AI summary

Described herein is a method for allocating resources for rendering. The method can include assembling a plurality of render nodes. The render nodes can have their defined input(s) and output(s). From the assembled set of render nodes a schedule can be compiled. The compiled schedule for the plurality of rendering nodes can be based at least on the defined input(s) and output(s). Additionally, the plurality of rendering nodes can be scheduled such that more than one rendering algorithm can be carried out at a point in time. Within the compiling, a set of resource barriers can be defined. The set of resource barriers can include system resource barriers. These system resource barriers can be for processing the set of render nodes based on the created schedule.