Multi-GPU Render Server for Interactive 3D Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current digital data processing methods for visualizing large 3D and 4D image data are computationally intensive, leading to long rendering times that hinder interactive exploration and require specialized hardware and data transfer, limiting real-time user interaction and scalability.

Innovation Solution

A graphics system with a render server that processes and distributes render requests across multiple graphics boards, breaking down requests into smaller tasks, prioritizing interactive rendering, and adapting resolution based on network speed and resources, allowing concurrent processing and efficient use of graphics resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If standard visualization methods are used on a single computer, then hardware requirements are reduced, but rendering time becomes excessively long preventing interactive exploration

Engineering Contradiction:
Improverendering speedVSAvoidcompute time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the rendering workload into separate tasks that can be distributed across multiple GPUs. Each GPU processes specific portions of the rendering pipeline, allowing parallel computation that significantly reduces total render time while maintaining interactive performance levels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a networked multi-GPU architecture that adds a distributed computing dimension to traditional single-machine rendering. By moving from sequential processing on one GPU to parallel processing across multiple GPUs connected via network, the system achieves exponential performance improvement.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If specialized volume rendering hardware is installed in each workstation, then rendering performance improves, but device complexity and cost increase

Engineering Contradiction:
Improvevisualization performanceVSAvoidhardware configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a universal rendering server that can serve multiple users and handle various visualization tasks through a standardized interface. This single server replaces the need for specialized hardware in each workstation, providing consistent performance across all clients while simplifying the overall system architecture.

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

Solution Approach 2:

The rendering server acts as an intermediary between the data storage system and the client workstations. It receives data from the central store, performs the computationally intensive rendering operations, and distributes the results to clients, eliminating the need for expensive specialized hardware at each client location.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If data sets are transferred to local workstations for analysis, then visualization capability is enabled, but data transfer time causes user wait delays

Engineering Contradiction:
Improvedata accessibilityVSAvoiddata transfer time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent extracts the data transfer step from the rendering workflow by implementing a pull-based system where clients request data only when needed. The rendering server fetches data from the central store on-demand and processes it immediately, eliminating unnecessary transfer delays and enabling interactive exploration without waiting for large datasets to be pre-loaded.

Inventive Principle:
Principle #2Taking out (Extraction)

4Device complexity

If multiple users share a single GPU, then hardware resources are optimized, but rendering quality and interactivity may be compromised

Engineering Contradiction:
Improvehardware utilizationVSAvoidrendering quality
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the rendering tasks by priority levels, allowing critical interactive rendering requests to be processed immediately on available GPUs while non-critical requests are queued or processed at reduced resolution. This segmentation ensures that shared hardware resources are allocated efficiently to users based on their interaction needs, maintaining quality where required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts rendering parameters such as resolution and detail level based on real-time GPU availability and user interaction patterns. When multiple users share GPU resources, the system adapts the rendering quality dynamically to maintain interactivity for active users while optimizing resource utilization across all connected clients.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240233065A1Multi-user multi-GPU render server apparatus and methods
Publication Date: 2024.07.11 PME IP PTY LTD
  • US20240233065A1 patent drawing
  • US20240233065A1 patent drawing
  • US20240233065A1 patent drawing

AI summary

The invention provides, in some aspects, a system for rendering images, the system having one or more client digital data processors and a server digital data processor in communications coupling with the one or more client digital data processors, the server digital data processor having one or more graphics processing units. The system additionally comprises a render server module executing on the server digital data processor and in communications coupling with the graphics processing units, where the render server module issues a command in response to a request from a first client digital data processor. The graphics processing units on the server digital data processor simultaneously process image data in response to interleaved commands from (i) the render server module on behalf of the first client digital data processor, and (ii) one or more requests from (a) the render server module on behalf of any of the other client digital data processors, and (b) other functionality on the server digital data processor.