FPGA Device Models for Virtual Machine Hardware Emulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The frequent transitions between virtual machines and virtual machine managers in virtualized environments lead to delays and a drain on processing resources, particularly when communicating with hardware devices, as existing software-based solutions lack support for legacy device drivers and result in high overhead.

Innovation Solution

Implementing device models on reconfigurable hardware, such as Field-Programmable Gate Arrays (FPGAs), to reduce the need for software interceptions and transitions, allowing routine updates and interactions with hardware through a programmable integrated circuit, thereby lowering latency and increasing processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If device models are implemented using software-based state machine logic in the VMM, then the virtual machine can communicate with hardware devices, but frequent transitions between VM and VMM cause delays and drain processing resources

Engineering Contradiction:
Improvehardware device communicationVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the software-based state machine logic in the VMM with hardware logic implemented on an FPGA. This substitution moves the device model functionality from the software layer to the hardware layer, allowing the VM to interact directly with hardware logic rather than requiring transitions to the VMM software layer. The hardware logic on the FPGA emulates the hardware device interface, eliminating the need for VM exits and entries when accessing device models.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces an FPGA as an intermediary component between the VM and the VMM/hardware interface. The FPGA contains the device model logic and acts as a mediator that handles VM requests for hardware device communication without requiring VMM intervention. This intermediary layer processes device model updates and hardware interactions in hardware, reducing the overhead of software-based virtualization transitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If software-based device models are used in the VMM, then virtual devices can be emulated, but the overhead of VM exits and entries increases significantly

Engineering Contradiction:
Improvevirtual device emulationVSAvoidVM exit/entry overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces software-based device model logic with hardware logic on an FPGA. This allows virtual device emulation to occur in hardware rather than software, eliminating the time-consuming VM exit/entry transitions that occur when using software-based device models in the VMM.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The device model logic is pre-configured into the FPGA hardware structure. This preliminary configuration of the device model in hardware allows the VM to interact with virtual devices directly through the hardware logic without requiring runtime transitions to the VMM software layer, thus eliminating the overhead of VM exits and entries during device operations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If reconfigurable hardware like FPGA is used to implement device models, then processing efficiency increases and VM exit overhead is reduced, but hardware complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidhardware structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the virtualization system into distinct functional layers: the VM layer, the FPGA layer containing device model logic, and the underlying hardware interface. This segmentation allows the device model functionality to be isolated in the FPGA hardware layer, improving processing efficiency while containing the hardware complexity to a specific component rather than distributing it throughout the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The FPGA serves multiple functions: it implements the device model logic, handles VM requests, and interfaces with both the VM and the underlying hardware. This multi-functionality of the FPGA consolidates several roles into a single reconfigurable hardware component, improving overall system efficiency while managing hardware complexity through functional integration rather than proliferation of separate components.

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

Data Source

PatentUS10223149B2Implementing device models for virtual machines with reconfigurable hardware
Publication Date: 2019.03.05 ALTERA CORP
  • US10223149B2 patent drawing
  • US10223149B2 patent drawing
  • US10223149B2 patent drawing

AI summary

A processor includes an interface coupled to a programmable integrated circuit (IC) and a processor core coupled to the interface and to execute a virtual machine monitor (VMM). The VMM provides a virtual device for a virtual machine (VM). The virtual device emulates a hardware interface of a hardware device, wherein the processor core is further to execute the VM to transmit a command through the interface to the programmable IC to update a device model, stored in the programmable IC, for the virtual device.