IP Library Granted Patent US 11,962,518
Granted Patent B2
US 11,962,518 · App. 16/890,890 · Granted Apr 16, 2024

Hardware acceleration techniques using flow selection

Inventors: Aditi Ghag (Palo Alto, CA); Srividya Murali (Palo Alto, CA)
Assignee: VMware LLC
H04L49/90H04L47/125H04L69/12H04L69/161H04L69/22H04L69/32
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 11,962,518
App. No.
16/890,890
Granted
Apr 16, 2024
Kind
B2
Abstract

In some embodiments, a method receives a packet for a flow associated with a workload. Based on an indicator for the flow, the method determines whether the flow corresponds to one of an elephant flow or a mice flow. Only when the flow is determined to correspond to an elephant flow, the method enables a hardware acceleration operation on the packet. The hardware acceleration operation may include hardware operation offload, receive side scaling, and workload migration.

Claims (63)

1. A method comprising:

receiving a packet for a flow associated with a workload;

based on an indicator for the flow, determining whether the flow corresponds to one of an elephant flow or a mice flow; and

based on a determination that the flow corresponds to an elephant flow, enabling a hardware acceleration operation on the packet.

2. The method of claim 1 , wherein enabling the hardware acceleration operation comprises:

offloading an operation on the packet from a network stack to a physical network interface card when the flow is associated with the elephant flow; and

performing the hardware acceleration operation using the physical network interface card.

3. The method of claim 1 , wherein enabling the hardware acceleration operation comprises:

receiving the packet at a physical network interface card; and

performing the hardware acceleration operation in the physical network interface card.

4. The method of claim 1 , wherein enabling the hardware acceleration operation comprises:

storing identification information for a set of flows associated with a set of workloads in a table based on network traffic associated with respective flows or workloads; and

determining that identification information for the flow is found in the table, wherein the flow table identifies the flow as being associated with the elephant flow.

5. The method of claim 1 , wherein enabling the hardware acceleration operation comprises:

storing the packet in a queue associated with a physical network interface card, wherein the queue is associated with packets from one or more flows corresponding to elephant flows.

6. The method of claim 5 , wherein:

a first queue stores packets for one or more flows corresponding to elephant flows, and

a second queue stores packets for one or more flows corresponding to mice flows.

7. The method of claim 1 , wherein enabling the hardware acceleration operation comprises:

tagging a workload to indicate that the workload is associated with elephant flows; and

migrating the workload to a device, wherein information indicating the workload is associated with elephant flows is sent to the device to allow the device to identify a flow associated with the workload as corresponding to the elephant flow.

8. A non-transitory computer-readable storage medium storing a first program for executing by a processing unit of a computer, the program comprising sets of instructions for:

receiving a packet for a flow associated with a workload;

based on an indicator for the flow, determining whether the flow corresponds to one of an elephant flow or a mice flow;

only when the flow is determined to correspond to an elephant flow, directing the packet to a physical network interface card (PNIC) of the computer for the PNIC to perform an a operation on the packet; and

when the flow is determined to correspond to a mice flow, directing the packet to a second program executing on the computer to perform the operation on the packet.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the second program is a network stack of the computer, wherein directing the packet to the PNIC comprises:

offloading the operation on the packet from the network stack to the PNIC; and

performing the operation using the PNIC.

10. The non-transitory computer-readable storage medium of claim 8 , the program further comprising sets of instructions for:

storing identification information for a set of flows associated with a set of workloads in a table based on network traffic associated with respective flows or workloads; and

determining that identification information for the flow is found in the table, wherein the flow table identifies the flow as being associated with the elephant flow.

11. The non-transitory computer-readable storage medium of claim 8 , wherein directing the packet to the PNIC comprises:

storing the packet in a queue associated with the PNIC, wherein the queue is associated with packets from one or more flows corresponding to elephant flows.

12. The non-transitory computer-readable storage medium of claim 11 , wherein:

a first queue stores packets for one or more flows corresponding to elephant flows, and

a second queue stores packets for one or more flows corresponding to mice flows.

13. The non-transitory computer-readable storage medium of claim 8 , the program further comprising sets of instructions for:

tagging a workload to indicate that the workload is associated with elephant flows; and

migrating the workload to a device, wherein information indicating the workload is associated with elephant flows is sent to the device to allow the device to identify a flow associated with the workload as corresponding to the elephant flow.

14. An apparatus comprising:

one or more computer processors; and

a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be operable for:

receiving a packet for a flow associated with a workload;

based on an indicator for the flow, determining whether the flow corresponds to one of an elephant flow or a mice flow; and

only when the flow is determined to correspond to an elephant flow, enabling a hardware acceleration operation on the packet.

15. The apparatus of claim 14 , wherein enabling the hardware acceleration operation comprises:

offloading an operation on the packet from a network stack to a physical network interface card when the flow is associated with the elephant flow; and

performing the hardware acceleration operation using the physical network interface card.

16. The apparatus of claim 14 , wherein enabling the hardware acceleration operation comprises:

receiving the packet at a physical network interface card; and

performing the hardware acceleration operation in the physical network interface card.

17. The apparatus of claim 14 , wherein enabling the hardware acceleration operation comprises:

storing identification information for a set of flows associated with a set of workloads in a table based on network traffic associated with respective flows or workloads; and

determining that identification information for the flow is found in the table, wherein the flow table identifies the flow as being associated with the elephant flow.

18. The apparatus of claim 14 , wherein enabling the hardware acceleration technique operation comprises:

storing the packet in a queue associated with a physical network interface card, wherein the queue is associated with packets from one or more flows corresponding to elephant flows.

19. The apparatus of claim 14 , wherein:

a first queue stores packets for one or more flows corresponding to elephant flows, and

a second queue stores packets for one or more flows corresponding to mice flows.

20. The apparatus of claim 14 , wherein enabling the hardware acceleration operation comprises:

tagging a workload to indicate that the workload is associated with elephant flows; and

migrating the workload to a device, wherein information indicating the workload is associated with elephant flows is sent to the device to allow the device to identify a flow associated with the workload as corresponding to the elephant flow.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2020
From: GHAG, ADITI; MURALI, SRIVIDYA
To: VMWARE, INC.
Reel/Frame 052816/0871 →