IP Library Granted Patent US 11,533,362
Granted Patent B1
US 11,533,362 · App. 17/539,809 · Granted Dec 20, 2022

Network interface controller aware placement of virtualized workloads

Inventors: Pravein Govindan Kannan (Bangalore, IN); Priyanka Prakash Naik (Mumbai, IN); Praveen Jayachandran (Bangalore, IN)
Assignee: International Business Machines Corporation
H04L67/10H04L43/08
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,533,362
App. No.
17/539,809
Granted
Dec 20, 2022
Kind
B1
Abstract

A computer program product comprises a computer readable storage medium having program instructions embodied therewith. The program instructions are executable by one or more processors to cause the one or more processors to collect, at a network interface controller associated with a first node, a set of usage metrics from one or more other network interface controllers respectively associated with one or more other nodes. Further, the program instructions are executable by one or more processors to cause the one or more processors to select, at the network interface controller associated with the first node, one of the one or more other nodes to allocate a virtualized workload for execution, wherein the selection utilizes at least a portion of the set of usage metrics collected from each of the one or more other network interface controllers.

Claims (40)

1. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors to cause the one or more processors to:

collect, at a network interface controller associated with a first node, a set of usage metrics of one or more other network interface controllers respectively associated with one or more other nodes;

select, at the network interface controller associated with the first node, one of the one or more other nodes to allocate a virtualized workload for execution, wherein the selection utilizes at least a portion of the set of usage metrics collected from each of the one or more other network interface controllers; and

cause the virtualized workload to be executed by the selected node;

wherein the usage metric collection and the node selection are performed at least partially by a scheduling agent deployed in the network interface controller of the first node;

wherein the network interface controller associated with the first node is part of a network interface controller orchestration platform with the one or more other network interface controllers respectively associated with the one or more other nodes; and

wherein the set of usage metrics are collected by the scheduling agent from a monitoring agent deployed in the network interface controller of each of the one or more other nodes.

2. The computer program product of claim 1 , wherein the set of usage metrics comprise a request queue depth metric, a requests per second metric, and a memory used by states metric.

3. The computer program product of claim 1 , wherein the node selection is based on an estimated queueing time metric computed from at least a portion of the set of usage metrics.

4. The computer program product of claim 3 , wherein the node with the lowest estimated queueing time metric is selected as the node to allocate the virtualized workload for execution.

5. The computer program product of claim 1 , wherein the node selection comprises a classification of a traffic flow associated with the virtualized workload.

6. The computer program product of claim 5 , wherein the classification of the traffic flow comprises classifying the traffic flow as one of a latency sensitive traffic flow and a throughput sensitive traffic flow.

7. The computer program product of claim 5 , wherein the node selection further determines whether the virtualized workload is to be executed by the network interface controller or a processing unit of the selected node.

8. The computer program product of claim 7 , wherein determining whether the virtualized workload is to be executed by the network interface controller or the processing unit of the selected node is based at least in part on the traffic flow classification.

9. The computer program product of claim 7 , wherein determining whether the virtualized workload is to be executed by the network interface controller or the processing unit of the selected node maximizes a probability parameter of selection of the network interface controller.

10. The computer program product of claim 9 , wherein the probability parameter of selection of the network interface controller is adjustable.

11. The computer program product of claim 1 , wherein the node selection comprises determining a priority of a traffic flow associated with the virtualized workload.

12. The computer program product of claim 11 , wherein the node selection further comprises, upon determining that the traffic flow of the virtualized workload is a high priority traffic flow, removing a previously allocated traffic flow with a lower priority from a given node, and allocating the high priority traffic flow to the given node.

13. The computer program product of claim 1 , wherein the virtualized workload is associated with a network function of a telecommunications network.

14. The computer program product of claim 1 , wherein the one or more processors are part of a cloud computing architecture.

15. A computer-implemented method, comprising:

collecting, at a network interface controller associated with a first node, a set of usage metrics of one or more other network interface controllers respectively associated with one or more other nodes;

selecting, at the network interface controller associated with the first node, one of the one or more other nodes to allocate a virtualized workload for execution, wherein the selection utilizes at least a portion of the set of usage metrics collected from each of the one or more other network interface controllers; and

causing the virtualized workload to be executed by the selected node;

wherein the usage metric collection and the node selection are performed at least partially by a scheduling agent deployed in the network interface controller of the first node;

wherein the network interface controller associated with the first node is part of a network interface controller orchestration platform with the one or more other network interface controllers respectively associated with the one or more other nodes;

wherein the set of usage metrics are collected by the scheduling agent from a monitoring agent deployed in the network interface controller of each of the one or more other nodes; and

wherein the computer-implemented method is performed by at least one processing device comprising a processor coupled to a memory when executing program code.

16. An apparatus, comprising:

at least one processing device comprising a processor coupled to a memory, the at least one processing device, when executing program code, is configured to:

collect, at a network interface controller associated with a first node, a set of usage metrics of one or more other network interface controllers respectively associated with one or more other nodes;

select, at the network interface controller associated with the first node, one of the one or more other nodes to allocate a virtualized workload for execution, wherein the selection utilizes at least a portion of the set of usage metrics collected from each of the one or more other network interface controllers; and

cause the virtualized workload to be executed by the selected node;

wherein the usage metric collection and the node selection are performed at least partially by a scheduling agent deployed in the network interface controller of the first node;

wherein the network interface controller associated with the first node is part of a network interface controller orchestration platform with the one or more other network interface controllers respectively associated with the one or more other nodes; and

wherein the set of usage metrics are collected by the scheduling agent from a monitoring agent deployed in the network interface controller of each of the one or more other nodes.

17. The apparatus of claim 16 , wherein the node selection comprises one or more of a classification of a traffic flow associated with the virtualized workload and determining a priority of a traffic flow associated with the virtualized workload.

18. The apparatus of claim 17 , wherein the classification of the traffic flow comprises classifying the traffic flow as one of a latency sensitive traffic flow and a throughput sensitive traffic flow.

19. The computer-implemented method of claim 15 , wherein the node selection comprises one or more of a classification of a traffic flow associated with the virtualized workload and determining a priority of a traffic flow associated with the virtualized workload.

20. The computer-implemented method of claim 19 , wherein the classification of the traffic flow comprises classifying the traffic flow as one of a latency sensitive traffic flow and a throughput sensitive traffic flow.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2021
From: GOVINDAN KANNAN, PRAVEIN; NAIK, PRIYANKA PRAKASH; JAYACHANDRAN, PRAVEEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058260/0194 →
Cited By (1)
US 12,284,115