Hypervisor-Free GPU Sharing Through Isolated OS State Registers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization methods using hypervisors introduce additional processing overheads and bottlenecks when managing access to graphics processing units (GPUs) in computer systems, particularly in scenarios involving multiple virtual machines, and require costly licensing and certification for safety-critical applications.

Innovation Solution

A computer system architecture that allows multiple operating systems to share a GPU without a hypervisor by using memory management units to mediate access to GPU state registers, ensuring each operating system can only access its own registers, and employing a host GPU driver to initialize and manage the GPU, with watchdog processes to handle crashes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hypervisor is used to manage access to GPU by multiple virtual machines, then security and isolation are improved, but processing overhead and system performance deteriorate

Engineering Contradiction:
Improvesecurity and isolationVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and removes the hypervisor layer from the system architecture. Instead of using a hypervisor to mediate between operating systems and the GPU, the system allows multiple operating systems to directly access the GPU through hardware-supported virtualization mechanisms, eliminating the performance overhead while maintaining security through other means

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a new intermediary mechanism - a GPU driver in each operating system that directly communicates with the GPU firmware, replacing the traditional hypervisor intermediary. This direct communication path eliminates the performance penalty of hypervisor mediation while maintaining the necessary control and isolation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a hypervisor is used to mediate access to GPU, then resource sharing is improved, but processing overhead and bottlenecks worsen

Engineering Contradiction:
Improveresource sharingVSAvoidprocessing overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent enables each operating system to independently manage its own GPU access through its own driver, which directly communicates with the GPU firmware. The GPU firmware itself handles resource allocation and scheduling without external hypervisor intervention, allowing the system to serve itself and eliminating the complexity of hypervisor-mediated resource sharing

Inventive Principle:
Principle #25Self-service

3Reliability

If hypervisor is used for virtualization, then security isolation is improved, but system cost and certification requirements worsen

Engineering Contradiction:
Improvesecurity isolationVSAvoidsystem cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent removes the hypervisor component entirely from the architecture, eliminating the need for costly hypervisor licensing and the complex safety certifications that would be required for hypervisor-based virtualization in safety-critical applications

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses lightweight, OS-specific GPU drivers instead of expensive, complex hypervisors. These drivers are simpler, cheaper to implement and maintain, and can be individually managed by each operating system without requiring expensive certification processes

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentEP3889771B1Hypervisor removal
Publication Date: 2025.07.30 IMAGINATION TECH LTD
  • EP3889771B1 patent drawingFigure 1
  • EP3889771B1 patent drawingFigure 2~3
  • EP3889771B1 patent drawingFigure 4~5

AI summary

A computer system comprising: a plurality of operating systems, each operating system including a GPU driver; a graphics processing unit (GPU) including GPU firmware for controlling the execution of tasks at the graphics processing unit and, for each operating system: a firmware state register modifiable by the GPU firmware and indicating whether the GPU firmware is online; and an OS state register modifiable by the GPU driver of the respective operating system and indicating whether the GPU driver is online; and a memory management unit configured to mediate access to the registers of the GPU such that each operating system can access its respective registers but not those of other operating systems; wherein: one of the GPU drivers at the plurality of operating systems is a host GPU driver configured to initialise the GPU and bring the GPU firmware online; each GPU driver is configured to submit tasks for processing at the GPU only if its respective firmware state register indicates that the GPU firmware is online; and the GPU is configured to process tasks for an operating system if the respective OS state register of that operating system indicates that the GPU driver is online.