IP Library Granted Patent US 9,576,332
Granted Patent B1
US 9,576,332 · App. 14/293,377 · Granted Feb 21, 2017

Systems and methods for remote graphics processing unit service

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 9,576,332
App. No.
14/293,377
Granted
Feb 21, 2017
Kind
B1
Abstract

Aspects of the present disclosure involve systems and methods for providing remote graphics processing unit (GPU) availability to one or more computing components of a data center. In particular, the present disclosure provides the remote location of one or more GPUs within a computing environment for use by one or more computing devices within the computing environment. Thus, each computing device may utilize the remotely located GPUs to perform the tasks of the computing device associated with a GPU, without the need for the GPU to be located within the computing device itself or within the same rack of the computing device. In this manner, one or more GPUs of a computing environment may provide GPU services to any number of computing devices, even though the GPUs are remote from the computing devices.

Claims (35)

1. A computing system comprising:

a first networking device connected to a network and configured to host a virtual machine, the first networking device comprising an intercept driver program configured to intercept a graphics processing unit (GPU) call from the virtual machine; and

a second networking device connected to the network, the second networking device comprising at least one GPU and an intercept driver target program, the intercept driver target program configured to receive a communication from the intercept driver program on the network,

wherein the communication from the intercept driver program comprises a representation of the GPU call from the virtual machine and wherein the second networking device load balances the GPU call among a plurality of GPUs and executes the GPU call on the plurality of GPUs to provide GPU services to the virtual machine over the network; and

wherein the second networking device releases the virtual machine from the plurality of GPUs at a first time and provides the GPU services to the virtual machine over the network at a second time later than the first time by reconnecting the virtual machine to the plurality of GPUs, the execution of the GPU call on the plurality of GPUs occurring between the first time and the second time.

2. The computing system of claim 1 wherein the first networking device is a blade server of the computing system.

3. The computing system of claim 1 wherein the second networking device is a rack mount server comprising an array of GPUs.

4. The computing system of claim 1 wherein the intercept driver program is further configured to insert the intercepted GPU call from the virtual machine into a communication message, the communication message further comprising a target address of the intercept driver target program of the second networking device.

5. The computing system of claim 1 wherein the second networking device further comprises an operating system comprising the intercept driver target program and an array of GPUs.

6. A method for providing graphics processing unit (GPU) services to a virtual machine, the method comprising:

intercepting a GPU call from the virtual machine at a host device, the host device configured to host the virtual machine;

transmitting the intercepted GPU call from the virtual machine over a network;

receiving the transmitted GPU call at an intercept driver target program of a computing device of a computing system, the computing device comprising an array of GPUs;

executing the intercepted GPU call on a plurality of GPUs of the array of GPUs of the computing device of the computing system by load balancing the GPU call among the plurality of GPUs, wherein the plurality of GPUs provide a processing result upon executing the intercepted GPU call;

releasing the virtual machine from the plurality of GPUs of the array of GPUs at a first time; and

providing the processing result to the virtual machine over the network at a second time later than the first time by reconnecting the virtual machine to the plurality of GPUs, the execution of the intercepted GPU call on the plurality of GPUs occurring between the first time and the second time.

7. The method of claim 6 further comprising:

converting the intercepted GPU call into a transmittable format; and

inserting the converted GPU call into a communication packet.

8. The method of claim 7 wherein the communication packet comprises the converted GPU call and a destination address associated with the intercept driver target program.

9. The method of claim 8 wherein the destination address of the communication packet comprises an Internet Protocol (IP) address of the computing device.

10. The method of claim 6 wherein the processing result upon executing the intercepted GPU call comprises a screen update for a terminal device associated with the virtual machine.

11. The method of claim 10 wherein providing the processing result to the virtual machine over the network comprises transmitting the screen update to the terminal device associated with the virtual machine.

12. The method of claim 6 further comprising:

packaging the processing results into a return communication message, the return communication message comprising the processing result and a destination address for the host device.

13. The method of claim 12 further comprising:

transmitting the return communication message to the host device over the network.

14. The method of claim 6 further comprising intercepting a plurality of GPU calls from a plurality of virtual machines at the host device and wherein the intercepted GPU calls are executed on a single GPUs of the array of GPUs.

15. A non-transitory machine-readable medium encoded with instructions for providing graphics processing unit (GPU) services to a virtual machine, the instructions executable by a processor, comprising:

receiving a transmitted GPU call at an intercept driver target program of a computing device, the computing device comprising an array of GPUs, the received transmitted GPU call comprising an intercepted GPU call from a virtual machine at a host device;

executing the intercepted GPU call on a plurality of GPUs of the array of GPUs of the computing device by load balancing the intercepted GPU call among the plurality of GPUs, wherein the plurality of GPUs provide a processing result upon executing the intercepted GPU call;

releasing the virtual machine from the plurality of GPUs of the array of GPUs at a first time; and

transmitting the processing result to the host device over the network at a second time later than the first time by reconnecting the virtual machine to the plurality of GPUs, the execution of the intercepted GPU call on the plurality of GPUs occurring between the first time and the second time.

16. The machine-readable medium of claim 15 , wherein the processing result upon executing the intercepted GPU call comprises a screen update for a terminal device associated with the virtual machine.

17. The machine-readable medium of claim 15 , wherein the received transmitted GPU call comprises a conversion of the intercepted GPU call into a transmittable format and a destination address associated with the intercept driver target program.

Assignments (5)
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 →
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 →
MERGER Recorded Apr 14, 2020
From: VCE IP HOLDING COMPANY LLC
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052398/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2016
From: VCE COMPANY, LLC
To: VCE IP HOLDING COMPANY LLC
Reel/Frame 040576/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2014
From: STREETE, JONATHAN P.; FONTANEZ, JONATHAN; BONCZKOWSKI, JOSHUA L.
To: VCE COMPANY, LLC
Reel/Frame 033008/0677 →