GPU Virtual Device Driver for Storage Array Offload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in efficiently managing large data sets and supporting a large number of concurrent users due to limitations in resource allocation and communication latency between nodes.

Innovation Solution

The implementation of heterogeneous parallel processors with central processing units and graphics processing units, along with virtual graphics processing units and guest operating systems, allows for efficient resource sharing and reduced communication latency through virtualization techniques, including GPU virtualization and pinned memory pages, enabling effective data storage and processing across distributed nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single physical GPU is shared among multiple guest operating systems, then resource utilization is improved, but access contention and performance degradation occur

Engineering Contradiction:
Improveresource utilizationVSAvoidaccess contention
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The physical GPU is segmented into multiple virtual GPU instances (vGPU0, vGPU1, etc.), each allocated to a different guest operating system. This segmentation allows each guest OS to have dedicated access to its assigned virtual GPU instance, eliminating access contention while maintaining high resource utilization through the underlying physical GPU sharing mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A virtualization layer with virtual device drivers acts as an intermediary between the physical GPU and multiple guest operating systems. This intermediary manages resource allocation, presents virtual GPU instances to guest OSes, and coordinates access to the physical GPU, thereby preventing direct access contention while enabling efficient resource sharing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-generated harmful factors

If multiple virtual GPU instances are created from a single physical GPU, then access contention is reduced, but device complexity increases

Engineering Contradiction:
Improveaccess contentionVSAvoidvirtualization layer complexity
Core Design Contradiction:
Object-generated harmful factorsVSDevice complexity

Solution Approach 1:

The virtualization layer implements a universal interface that presents standardized virtual GPU instances to multiple guest operating systems. This universal approach allows the same virtualization mechanism to serve multiple purposes: resource isolation, access management, and performance optimization, thereby managing complexity through standardization rather than proliferation of specialized components.

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

3Speed

If guest operating systems directly access the physical GPU, then access speed is improved, but system stability and security are compromised

Engineering Contradiction:
ImproveGPU access speedVSAvoidsystem stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The virtual device driver serves as an intermediary that maintains high-speed access paths to the physical GPU while enforcing system stability and security policies. It manages memory allocation, coordinates access timing, and prevents conflicting operations, thereby preserving fast access performance while ensuring reliable and secure system operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates virtual copies of the GPU interface that guest operating systems can access directly through their own device drivers. These virtual interfaces replicate the necessary functionality for high-speed access while the physical GPU and its resources are managed through controlled pathways that ensure system stability and security.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10089706B1GPU virtual device driver for offload processing in a storage array
Publication Date: 2018.10.02 EMC IP HLDG CO LLC
  • US10089706B1 patent drawing
  • US10089706B1 patent drawing
  • US10089706B1 patent drawing

AI summary

An interface mitigates the need for inter-application locks in a storage system with a HPP. The interface includes a virtual device driver that can be accessed by both emulation threads and guest OS Container threads and separate memory pages that are pinned for use as buffer spaces. The pinned buffer memory pages are shared by CPU cores and by individual virtual HPP client drivers. The interface enables virtualization of GPUs and HPPs.