Determination of hardware resource utilization
Abstract
A method may include determining a first weight for a first type of operation and a second weight for a second type of operation. The first weight may correspond to a first quantity of the first type of operation a hardware resource is capable of performing during a time interval. The second weight may correspond to a second quantity of the second type of operation the hardware resource is capable of performing during the time interval. Utilization of the hardware resource may correspond to a weighted sum of the respective quantities of the first type of operation and the second type of operation offloaded to the hardware resource. Allocation of hardware resources may be adjusted based on utilization. Related systems and articles of manufacture are also provided.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A system, comprising:
at least one data processor; and
at least one memory storing instructions, which when executed by the least one data processor, cause the at least one data processor to at least:
determine, based on a weight matrix, a first weight for a first type of operation, the first weight being an inverse of a first quantity of the first type of operation a first hardware resource is capable of performing during a time interval;
determine a second quantity of the first type of operation offloaded to the first hardware resource during the time interval;
determine, based at least on the first weight and the second quantity, a first utilization of the first hardware resource;
adjust, based at least on the first utilization, an allocation of hardware resources;
in response to the first utilization of the first hardware resource increasing at an above threshold rate, increase the allocation of hardware resources; and
in response to the first utilization of the first hardware resource decreasing at the above threshold rate, decrease the allocation of hardware resources.
2. The system of claim 1 , wherein the at least one data processor is further caused to at least:
determine, based on the weight matrix, a second weight for a second type of operation, the second weight being an inverse of a second quantity of the second type of operation the first hardware resource is capable of performing during the time interval;
determine a third quantity of the second type of operation offloaded to the first hardware resource during the time interval; and
determine, further based at least on the second weight and third second quantity, the first utilization of the first hardware resource.
3. The system of claim 1 , wherein the at least one data processor is further caused to at least:
determine a second weight for the first type of operation, the second weight being an inverse of a second quantity of the first type of operation a second hardware resource is capable of performing during the time interval, the second hardware resource being a different type of hardware resource;
determine a third quantity of the first type of operation offloaded to the second hardware resource during the time interval;
determine, based at least on the second weight and third second quantity, a second utilization of the second hardware resource; and
adjust, further based at least on the second utilization, the allocation of hardware resources.
4. The system of claim 3 , wherein the allocation of hardware resources is adjusted based on an average of the first utilization of the first hardware resource and the second utilization of the second hardware resource.
5. The system of claim 1 , wherein the at least one data processor is further caused to at least:
detect an operation being offloaded for performance by the first hardware resource; and
in response to the operation being the first type of operation, increment a counter associated with the first type of operation, the second quantity of the first type of operation offloaded to the first hardware resource during the time interval being determined based at least on a value of the counter.
6. The system of claim 1 , wherein the at least one data processor is further caused to at least:
in response to the first utilization of the first hardware resource exceeding a first threshold value, increase the allocation of hardware resources; and
in response to the first utilization of the first hardware resource being below a second threshold value, decrease the allocation of hardware resources.
7. The system of claim 1 , wherein the first hardware resource comprises a cryptographic accelerator dedicated to performing cryptographic operations.
8. The system of claim 1 , wherein the first type of operation comprises a Rivest-Shamir-Adleman (RSA) operation, an Advanced Encryption Standard (AES) operation, a Elliptic Curve Cryptography (ECC) operation, a Data Encryption Standard (DES) operation, a Secure Hash Algorithms (SHA) operation, or a Diffie-Hellman (DH) operation.
9. The system of claim 1 , wherein the first hardware resource is part of an application delivery controller configured to perform a Secure Socket Layer (SSL) offload by at least performing the second quantity of the first type of operation.
10. A computer-implemented method, comprising:
determining, based on a weight matrix, a first weight for a first type of operation, the first weight being a first quantity of the first type of operation a first hardware resource is capable of performing during a time interval;
determining a second quantity of the first type of operation offloaded to the first hardware resource during the time interval;
determining, based at least on the first weight and the second quantity, a first utilization of the first hardware resource;
adjusting, based at least on the first utilization, an allocation of hardware resources;
in response to the first utilization of the first hardware resource increasing at an above threshold rate, increasing the allocation of hardware resources; and
in response to the first utilization of the first hardware resource decreasing at the above threshold rate, decreasing the allocation of hardware resources.
11. The method of claim 10 , further comprising:
determining, based on the weight matrix, a second weight for a second type of operation, the second weight being an inverse of a second quantity of the second type of operation the first hardware resource is capable of performing during the time interval;
determining a third quantity of the second type of operation offloaded to the first hardware resource during the time interval; and
determining, further based at least on the second weight and third second quantity, the first utilization of the first hardware resource.
12. The method of claim 10 , further comprising:
determining a second weight for the first type of operation, the second weight being an inverse of a second quantity of the first type of operation a second hardware resource is capable of performing during the time interval, the second hardware resource being a different type of hardware resource;
determining a third quantity of the first type of operation offloaded to the second hardware resource during the time interval;
determining, based at least on the second weight and third second quantity, a second utilization of the second hardware resource; and
adjusting, further based at least on the second utilization, the allocation of hardware resources.
13. The method of claim 12 , wherein the allocation of hardware resources is adjusted based on an average of the first utilization of the first hardware resource and the second utilization of the second hardware resource.
14. The method of claim 10 , further comprising:
detecting an operation being offloaded for performance by the first hardware resource; and
in response to the operation being the first type of operation, incrementing a counter associated with the first type of operation, the second quantity of the first type of operation offloaded to the first hardware resource during the time interval being determined based at least on a value of the counter.
15. The method of claim 10 , further comprising:
in response to the first utilization of the first hardware resource exceeding a first threshold value, increasing the allocation of hardware resources; and
in response to the first utilization of the first hardware resource being below a second threshold value, decreasing the allocation of hardware resources.
16. The method of claim 10 , wherein the first hardware resource comprises a cryptographic accelerator dedicated to performing cryptographic operations.
17. The method of claim 10 , wherein the first type of operation comprises a Rivest-Shamir-Adleman (RSA) operation, an Advanced Encryption Standard (AES) operation, a Elliptic Curve Cryptography (ECC) operation, a Data Encryption Standard (DES) operation, a Secure Hash Algorithms (SHA) operation, or a Diffie-Hellman (DH) operation.
18. A non-transitory computer readable medium storing instructions, which when executed by at least one data processor, result in operations comprising:
operation means for determining, based on a weight matrix, a first weight for a first type of operation, the first weight corresponding to a first quantity of the first type of operation a first hardware resource is capable of performing during a time interval;
operation means for determining a second quantity of the first type of operation offloaded to the first hardware resource during the time interval;
operation means for determining, based at least on the first weight and the second quantity, a first utilization of the first hardware resource; and
operation means for adjusting, based at least on the first utilization, an allocation of hardware resources;
wherein the first weight is an inverse of the first quantity of the first type of operation the first hardware resource is capable of performing during the time interval.
19. The non-transitory computer readable medium of claim 18 wherein the operations further comprise:
operation means for adjusting, based on a rate of change of the first utilization of the first hardware resource, the allocation of hardware resources.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.