IP Library › Granted Patent US 11,886,919
Granted Patent B2
US 11,886,919 · App. 17/814,895 · Granted Jan 30, 2024

Directing queries to nodes of a cluster of a container orchestration platform distributed across a host system and a hardware accelerator of the host system

Inventors: Diman Zad Tootaghaj (Milpitas, CA); Anu Mercian (Milpitas, CA); Vivek Adarsh (Santa Barbara, CA); Puneet Sharma (Milpitas, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F9/5027G06F9/45558G06F9/547G06F2009/4557
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,886,919
App. No.
17/814,895
Granted
Jan 30, 2024
Kind
B2
Abstract

Example implementations relate to edge acceleration by offloading network dependent applications to a hardware accelerator. According to one embodiment, queries are received at a cluster of a container orchestration platform. The cluster includes a host system and a hardware accelerator, each serving as individual worker machines of the cluster. The cluster further includes multiple worker nodes and a master node executing on the host system or the hardware accelerator. A first worker node executes on the hardware accelerator and runs a first instance of an application. A distribution of the queries is determined among the worker machines based on a queuing model that takes into consideration the respective compute capacities of the worker machines. Responsive to receipt of the queries by the host system or the hardware accelerator, the queries are directed to the master node or one of the worker nodes in accordance with the distribution.

Claims (49)

1. A method comprising:

receiving queries at a gateway of a cluster of a container orchestration platform, wherein the cluster includes a host system comprising a first processing resource and a hardware accelerator of the host system, the hardware accelerator comprising a second processing resource, wherein the host system comprising the first processing resource or the hardware accelerator comprising the second processing resource comprises a primary node of the cluster, and wherein the host system and the hardware accelerator comprise a plurality of worker nodes of the cluster;

distributing, at the gateway, the queries among the plurality of worker nodes of the host system and the hardware accelerator based on a queuing model that takes into consideration respective compute capacities of the first processing resource of the host system and the second processing resource of the hardware accelerator;

performing auto-scaling to run a quantity of instances of an application in the plurality of worker nodes; and

responsive to receipt of the queries, directing the queries to the plurality of worker nodes according to the distributing for processing, by the plurality of worker nodes, the quantity of instances of the application.

2. The method of claim 1 , wherein the hardware accelerator comprises a System on a Chip (SOC) based Smart Network Interface Card (SmartNIC).

3. The method of claim 1 , wherein the application comprises a key-value store or an analytics application.

4. The method of claim 1 , wherein the container orchestration platform comprises a Kubernetes container orchestration platform.

5. The method of claim 1 , further comprising:

monitoring a number of the queries received at the gateway for processing by the application;

maintaining historical data regarding queries over time; and

predicting, based on the number of the queries received at the gateway and the historical data, a future workload for the application, wherein the auto-scaling is based on the predicted future workload.

6. The method of claim 5 , wherein the auto-scaling comprises:

measuring a metric for the application in the cluster; and

scaling the quantity of instances of the application based on a relation of the measured metric to a target value of the metric, the scaling comprising increasing or decreasing the quantity of instances of the application.

7. The method of claim 6 , wherein the measuring of the metric and the predicting of the future workload are performed by the hardware accelerator.

8. The method of claim 6 , wherein the target value of the metric is according to a service level agreement (SLA).

9. The method of claim 5 , wherein the predicting of the future workload is performed by the hardware accelerator.

10. The method of claim 1 , wherein the auto-scaling of the quantity of instances of the application comprises increasing or decreasing a quantity of containers or pods in which the instances of the application are to execute.

11. The method of claim 1 , wherein the host system comprises a plurality of hardware accelerators, and wherein the plurality of hardware accelerators are to serve as a subset of the plurality of worker nodes.

12. The method of claim 1 , wherein the primary node comprises a scheduler to schedule workloads on the plurality of worker nodes.

13. A non-transitory machine readable medium comprising instructions that when executed cause a system to:

receive queries at an Application Programming Interface (API) gateway of a cluster of a container orchestration platform, wherein the cluster includes a host system comprising a first processing resource and one or more hardware accelerators comprising a second processing resource, wherein the host system comprising the first processing resource or a hardware accelerator of the one or more hardware accelerators comprising the second processing resource comprises a primary node of the cluster, and wherein the host system and the one or more hardware accelerators comprise a plurality of worker nodes of the cluster;

determine, by the API gateway, a distribution of the queries among the plurality of worker nodes of the host system and the one or more hardware accelerators based on a queuing model that takes into consideration respective compute capacities of the host system and the one or more hardware accelerators;

perform auto-scaling to run a quantity of instances of an application in the plurality of worker nodes; and

responsive to receipt of the queries, direct the queries to the plurality of worker nodes according to the distribution for processing, by the plurality of worker nodes, the quantity of instances of the application.

14. The non-transitory machine readable medium of claim 13 , wherein a hardware accelerator of the one or more hardware accelerators comprises a System on a Chip (SOC) based Smart Network Interface Card (SmartNIC.

15. The non-transitory machine readable medium of claim 13 , wherein the auto-scaling of the quantity of instances of the application comprises increasing or decreasing a quantity of containers or pods in which the instances of the application are to execute.

16. The non-transitory machine readable medium of claim 13 , wherein the instructions when executed cause the system to:

monitor a number of the queries received at the API gateway for processing by the application;

access historical data regarding queries over time; and

predict, based on the number of the queries received at the API gateway and the historical data, a future workload for the application, wherein the auto-scaling is based on the predicted future workload.

17. The non-transitory machine readable medium of claim 16 , wherein the instructions when executed cause the system to:

measure a metric for the application in the cluster; and

scale the quantity of instances of the application based on a relation of the measured metric to a target value of the metric.

18. A system comprising:

a cluster comprising a gateway and a host system comprising a processing resource and a plurality of hardware accelerators, wherein the host system or a hardware accelerator of the plurality of hardware accelerators comprises a primary node of the cluster, and the host system and the plurality of hardware accelerators comprise a plurality of worker nodes of the cluster,

wherein the gateway comprises a non-transitory storage medium comprising instructions executable at the gateway to:

receive queries at the gateway; and

determine a distribution of the queries among the plurality of worker nodes of the host system and the plurality of hardware accelerators based on a queuing model that takes into consideration respective compute capacities of the host system and the plurality of hardware accelerators,

wherein the host system is to perform auto-scaling to run a quantity of instances of an application in the plurality of worker nodes, and

wherein the queries are directed to the plurality of worker nodes according to the distribution for processing, by the plurality of worker nodes, the quantity of instances of the application.

19. The system of claim 18 , wherein a given hardware accelerator of the plurality of hardware accelerators is to:

monitor a number of the queries received at the gateway for processing by the application;

access historical data regarding queries over time; and

predict, based on the number of the queries received at the gateway and the historical data, a future workload for the application, wherein the auto-scaling is based on the predicted future workload.

20. The system of claim 19 , wherein the given hardware accelerator is to:

measure a metric for the application in the cluster,

wherein the host system is to perform the auto-scaling by scaling the quantity of instances of the application based on a relation of the measured metric to a target value of the metric.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2022
From: TOOTAGHAJ, DIMAN ZAD; MERCIAN, ANU; ADARSH, VIVEK; SHARMA, PUNEET
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 060621/0908 →
Continuity (2)
Continuation 17222160 · Apr 5, 2021
Related Publication 20220382593A1 · Dec 1, 2022