IP Library › Granted Patent US 10,936,353
Granted Patent B2
US 10,936,353 · App. 15/596,892 · Granted Mar 2, 2021

Systems and methods for hypervisor-assisted hardware accelerator offloads in a virtualized information handling system environment

Inventors: Shyam T. Iyer (Austin, TX); Gaurav Chawla (Austin, TX)
Assignee: Dell Products L.P.
G06F9/45558G06F9/5005G06F2009/45579
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,936,353
App. No.
15/596,892
Filed
May 16, 2017
Granted
Mar 2, 2021
Kind
B2
Examiner
LU, KEVIN X
Art Unit
2199
USPC
718/1
Abstract

In accordance with embodiments of the present disclosure, a method may include responsive to issuance of, by an application executing on a virtual machine of a hypervisor executing on a processor subsystem of an information handling system, an instruction triggering a virtual machine exit of the virtual machine, invoking a virtual machine exit handler of the hypervisor to handle the instruction. The method may also include determining by the virtual machine exit handler whether the instruction has a characteristic indicating that the instruction should be handled by a hardware accelerator device of the information handling system communicatively coupled to the processor subsystem and responsive to determining that the instruction has a characteristic indicating that the instruction should be handled by the hardware accelerator device, offloading by the virtual machine exit handler processing of the instruction to the hardware accelerator device.

Claims (31)

1. An information handling system, comprising:

a hardware accelerator device; and

a processor subsystem having access to a memory subsystem and having access to the hardware accelerator device, wherein the memory subsystem stores instructions executable by the processor subsystem, the instructions, when executed by the processor subsystem, causing the processor subsystem to:

responsive to issuance, by an application executing on a virtual machine of a hypervisor executing on the processor subsystem, of an instruction triggering a virtual machine exit of the virtual machine, invoke a virtual machine exit handler of the hypervisor to handle the instruction;

determine by the virtual machine exit handler whether the instruction has a characteristic indicating that the instruction should be handled by the hardware accelerator device, wherein the characteristic is based on the instruction comprising a particular opcode;

responsive to determining that the instruction does not have a characteristic indicating that the instruction should be handled by the hardware accelerator device, process the instruction without hardware acceleration;

responsive to determining that the instruction has a characteristic indicating that the instruction should be handled by the hardware accelerator device, offload by the virtual machine exit handler processing of the instruction to the hardware accelerator device, wherein the offloading is carried out by an accelerator device driver executing on the hypervisor, and wherein the hardware accelerator device is configured to execute the instruction and return resultant data to the virtual machine exit handler via the accelerator device driver; and

responsive to completion of the processing of the instruction without hardware acceleration or completion of processing of the offloaded instruction by the hardware accelerator device, return a processing context from the virtual machine exit handler and the hypervisor to the virtual machine.

2. The information handling system of claim 1 , wherein the accelerator device comprises a field programmable gate array.

3. The information handling system of claim 1 , wherein the accelerator device comprises an input/output accelerator device.

4. The information handling system of claim 1 , wherein the accelerator device comprises a graphics processing unit.

5. A method comprising:

responsive to issuance, by an application executing on a virtual machine of a hypervisor executing on a processor subsystem of an information handling system, of an instruction triggering a virtual machine exit of the virtual machine, invoking a virtual machine exit handler of the hypervisor to handle the instruction;

determining by the virtual machine exit handler whether the instruction has a characteristic indicating that the instruction should be handled by a hardware accelerator device of the information handling system communicatively coupled to the processor subsystem, wherein the characteristic is based on the instruction comprising a particular opcode;

responsive to determining that the instruction does not have a characteristic indicating that the instruction should be handled by the hardware accelerator device, processing the instruction without hardware acceleration;

responsive to determining that the instruction has a characteristic indicating that the instruction should be handled by the hardware accelerator device, offloading by the virtual machine exit handler processing of the instruction to the hardware accelerator device, wherein the offloading is carried out by an accelerator device driver executing on the hypervisor, and wherein the hardware accelerator device executes the instruction and returns resultant data to the virtual machine exit handler via the accelerator device driver; and

responsive to completion of the processing of the instruction without hardware acceleration or completion of processing of the offloaded instruction by the hardware accelerator device, returning a processing context from the virtual machine exit handler and the hypervisor to the virtual machine.

6. The method of claim 5 , wherein the accelerator device comprises a field programmable gate array.

7. The method of claim 5 , wherein the accelerator device comprises an input/output accelerator device.

8. The method of claim 5 , wherein the accelerator device comprises a graphics processing unit.

9. An article of manufacture comprising:

a non-transitory computer-readable medium; and

computer-executable instructions carried on the computer-readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to:

responsive to issuance, by an application executing on a virtual machine of a hypervisor executing on a processor subsystem of an information handling system, of an instruction triggering a virtual machine exit of the virtual machine, invoke a virtual machine exit handler of the hypervisor to handle the instruction;

determine by the virtual machine exit handler whether the instruction has a characteristic indicating that the instruction should be handled by a hardware accelerator device of the information handling system communicatively coupled to the processor subsystem, wherein the characteristic is based on the instruction comprising a particular opcode;

responsive to determining that the instruction does not have a characteristic indicating that the instruction should be handled by the hardware accelerator device, process the instruction without hardware acceleration;

responsive to determining that the instruction has a characteristic indicating that the instruction should be handled by the hardware accelerator device, offload by the virtual machine exit handler processing of the instruction to the hardware accelerator device, wherein the offloading is carried out by an accelerator device driver executing on the hypervisor, and wherein the hardware accelerator device is configured to execute the instruction and return resultant data to the virtual machine exit handler via the accelerator device driver; and

responsive to completion of the processing of the instruction without hardware acceleration or completion of processing of the offloaded instruction by the hardware accelerator device, return a processing context from the virtual machine exit handler and the hypervisor to the virtual machine.

10. The article of claim 9 , wherein the accelerator device comprises a field programmable gate array.

11. The article of claim 9 , wherein the accelerator device comprises an input/output accelerator device.

12. The article of claim 9 , wherein the accelerator device comprises a graphics processing unit.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043775/0082) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2017
From: IYER, SHYAM T.; CHAWLA, GAURAV
To: DELL PRODUCTS L.P.
Reel/Frame 042399/0973 →
Continuity (1)
Related Publication 20180336052A1 · Nov 22, 2018
Cited By (1)
US 12,699,580