IP Library › Granted Patent US 12,124,867
Granted Patent B2
US 12,124,867 · App. 17/224,293 · Granted Oct 22, 2024

Network function placement in vGPU-enabled environments

Inventors: Uday Pundalik Kurkure (Palo Alto, CA); Sairam Veeraswamy (Bangalore, IN); Hari Sivaraman (Palo Alto, CA); Lan Vu (Palo Alto, CA); Avinash Kumar Chaurasia (Bangalore, IN)
Assignee: VMware LLC
G06F9/45558G06F9/5077G06T1/20G06F2009/45587G06F2009/45591G06F2009/45595G06F9/5033G06F9/505G06F2209/503G06F2209/509
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 12,124,867
App. No.
17/224,293
Granted
Oct 22, 2024
Kind
B2
Abstract

Disclosed are aspects of network function placement in virtual graphics processing unit (vGPU)-enabled environments. In one example a network function request is associated with a network function. A scheduler selects a vGPU-enabled GPU to handle the network function request. The vGPU-enabled GPU is selected in consideration of a network function memory requirement or a network function IO requirement. The network function request is processed using an instance of the network function within a virtual machine that is executed using the selected vGPU-enabled GPU.

Claims (44)

1. A system comprising:

at least one computing device comprising at least one processor and at least one data store;

machine readable instructions accessible to the at least one computing device,

wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

monitor a virtual graphics processing unit (vGPU)-enabled computing environment comprising a plurality of vGPU-enabled graphics processing units (GPUs);

identify a network function request associated with a network function, the network function comprising Compute Unified Device Architecture (CUDA) compatible instructions;

determine to instantiate a vGPU-based implementation of the CUDA compatible instructions to handle the network function request;

select, in response to the determination to instantiate a vGPU-based implementation of the CUDA compatible instructions to handle the network function request, a vGPU-enabled GPU to handle the network function request, the vGPU-enabled GPU being selected based on at least one of: a network function memory requirement, and a network function IO requirement; and

process the network function request using an instance of the network function within a virtual machine that is executed using the vGPU-enabled GPU.

2. The system of claim 1 , wherein the virtual machine is a pre-existing virtual machine that is not generated on-demand to handle the network function request, and the instance of the network function is a pre-existing instance of the network function that is not generated on-demand to handle the network function request, within the pre-existing virtual machine.

3. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

generate the instance of the network function as an additional network function instance within the virtual machine, wherein the virtual machine is a pre-existing virtual-machine that is not generated on-demand to handle the network function request, comprising at least one pre-existing network function that is not generated on-demand to handle the network function request.

4. The system of claim 1 , wherein the network function is trusted based on a trust status associated with the network function, and the virtual machine is designated for trusted network functions.

5. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

generate the instance of the network function as an additional network function instance within the virtual machine, wherein the virtual machine is an additional virtual machine that isolates the instance of the network function from trusted network functions.

6. The system of claim 1 , wherein the network function is untrusted based on a trust status associated with the network function, and the virtual machine is designated for untrusted network functions.

7. The system of claim 1 , wherein the network function is part of a network function chain, and the virtual machine is selected to minimize data transfer time for the network function chain.

8. A method performed by at least one computing device executing machine-readable instructions, the method comprising:

monitoring a virtual graphics processing unit (vGPU)-enabled computing environment comprising a plurality of vGPU-enabled graphics processing units (GPUs);

identifying a network function request associated with a network function, the network function comprising Compute Unified Device Architecture (CUDA) compatible instructions;

determining to instantiate a vGPU-based implementation of the CUDA compatible instructions to handle the network function request;

selecting, in response to the determination to instantiate a vGPU-based implementation of the CUDA compatible instructions to handle the network function request, a vGPU-enabled GPU to handle the network function request, the vGPU-enabled GPU being selected based on at least one of: a network function memory requirement, and a network function IO requirement; and

processing the network function request using an instance of the network function within a virtual machine that is executed using the vGPU-enabled GPU.

9. The method of claim 8 , wherein the virtual machine is a pre-existing virtual machine that is not generated on-demand to handle the network function request, and the instance of the network function is a pre-existing instance of the network function that is not generated on-demand to handle the network function request, within the pre-existing virtual machine.

10. The method of claim 8 , further comprising:

generating the instance of the network function as an additional network function instance within the virtual machine, wherein the virtual machine is a pre-existing virtual-machine that is not generated on-demand to handle the network function request, comprising at least one pre-existing network function that is not generated on-demand to handle the network function request.

11. The method of claim 8 , wherein the network function is trusted based on a trust status associated with the network function, and the virtual machine is designated for trusted network functions.

12. The method of claim 8 ,

generating the instance of the network function as an additional network function instance within the virtual machine, wherein the virtual machine is an additional virtual machine that isolates the instance of the network function from trusted network functions.

13. The method of claim 8 , wherein the network function is untrusted based on a trust status associated with the network function, and the virtual machine is designated for untrusted network functions.

14. The method of claim 8 , wherein the network function is part of a network function chain, and the virtual machine is selected to minimize data transfer time for the network function chain.

15. A non-transitory computer-readable medium comprising machine readable instructions, wherein the instructions, when executed by at least one processor, cause at least one computing device to at least:

monitor a virtual graphics processing unit (vGPU)-enabled computing environment comprising a plurality of vGPU-enabled graphics processing units (GPUs);

identify a network function request associated with a network function; function, the network function comprising Compute Unified Device Architecture (CUDA) compatible instructions;

determine to instantiate a vGPU-based implementation of the CUDA compatible instructions to handle the network function request;

select, in response to the determination to instantiate a vGPU-based implementation of the CUDA compatible instructions to handle the network function request, a vGPU-enabled GPU to handle the network function request, the vGPU-enabled GPU being selected based on at least one of: a network function memory requirement, and a network function IO requirement; and

process the network function request using an instance of the network function within a virtual machine that is executed using the vGPU-enabled GPU.

16. The non-transitory computer-readable medium of claim 15 , wherein the virtual machine is a pre-existing virtual machine that is not generated on-demand to handle the network function request, and the instance of the network function is a pre-existing instance of the network function that is not generated on-demand to handle the network function request, within the pre-existing virtual machine.

17. The non-transitory computer-readable medium of claim 15 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

generate the instance of the network function as an additional network function instance within the virtual machine, wherein the virtual machine is a pre-existing virtual-machine that is not generated on-demand to handle the network function request, comprising at least one pre-existing network function that is not generated on-demand to handle the network function request.

18. The non-transitory computer-readable medium of claim 15 , wherein the network function is trusted based on a trust status associated with the network function, and the virtual machine is designated for trusted network functions.

19. The non-transitory computer-readable medium of claim 15 , when executed by the at least one processor, cause the at least one computing device to at least:

generate the instance of the network function as an additional network function instance within the virtual machine, wherein the virtual machine is an additional virtual machine that isolates the instance of the network function from trusted network functions.

20. The non-transitory computer-readable medium of claim 15 , wherein the network function is part of a network function chain, and the virtual machine is selected to minimize data transfer time for the network function chain.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0242 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2021
From: KURKURE, UDAY PUNDALIK; VEERASWAMY, SAIRAM; SIVARAMAN, HARI; VU, LAN; CHAURASIA, AVINASH KUMAR
To: VMWARE, INC.
Reel/Frame 055850/0039 →
Priority Claims (1)
IN 202141003210 · Jan 22, 2021 · national
Continuity (1)
Related Publication 20220237014A1 · Jul 28, 2022