Guaranteed quality of service in cloud computing environments
Abstract
Systems, methods, apparatuses, and computer-readable media for guaranteed quality of service (QoS) in cloud computing environments. A workload related to an immutable log describing a transaction may be received. A determination is made based on the immutable log that a first compute node stores at least one data element to process the transaction. Utilization levels of computing resources of the first compute node may be determined. Utilization levels of links connecting the first compute node to the fabric may be determined. A determination may be made, based on the utilization levels, that processing the workload on the first compute node satisfies one or more QoS parameters specified in a service level agreement (SLA). The workload may be scheduled for processing on the first compute node based on the determination that processing the workload on the first compute node satisfies the one or more QoS parameters specified in the SLA.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
receiving a workload related to an immutable log describing a transaction for processing by at least one compute node of a plurality of compute nodes communicably coupled by a fabric in a cloud computing environment; determining, based on the immutable log describing the transaction, that a first compute node stores at least one data element required to process the transaction; determining utilization levels of a plurality of computing resources of the first compute node; determining utilization levels of a plurality of links connecting the first compute node to the fabric; determining, based on the utilization levels of the computing resources and the links, that processing the workload on the first compute node satisfies one or more Quality of Service (QoS) parameters specified in a service level agreement (SLA); and scheduling the workload for processing on the first compute node based on the determination that processing the workload on the first compute node satisfies the one or more QoS parameters specified in the SLA.
2 . The method of claim 1 , wherein the immutable log specifies an account identifier, an asset, and a transaction type for trading the asset.
3 . The method of claim 2 , wherein the at least one data element required to process the transaction comprises a current price of the asset, wherein the transaction type comprises one or more of buying the asset and selling the asset, wherein processing the transaction comprises one or more of estimating a trade settlement, estimating a net asset value, estimating a stock holding, estimating a stock value, estimating a mutual fund value, and estimating a commodity value.
4 . The method of claim 1 , further comprising:
receiving a second workload related to a second transaction described by the immutable log, wherein the first and second transactions are described by different entries in the immutable log; determining, based on the immutable log describing, that the first compute node stores at least one data element required to process the second transaction; determining utilization levels of the plurality of computing resources of the first compute node; determining utilization levels of the plurality of links connecting the first compute node to the fabric; determining, based on the utilization levels of the computing resources and the links of the first compute node, that processing the second workload on the first compute node violates the one or more QoS parameters of the SLA; and refraining from scheduling the second workload on the first compute node.
5 . The method of claim 4 , further comprising:
identifying a second compute node of the plurality of compute nodes proximate to the first compute node; determining utilization levels of a plurality of computing resources of the second compute node; determining utilization levels of a plurality of links connecting the second compute node to the fabric; determining, based on the utilization levels of the computing resources and the links of the second compute node, that processing the second workload on the second compute node satisfies the one or more QoS parameters of the SLA; and scheduling the second workload on the second compute node.
6 . The method of claim 1 , further comprising:
prior to scheduling the workload for processing on the first compute node, dividing the workload into a plurality of units; determining a grouping of at least two of the plurality of compute nodes, the at least two of the plurality of compute nodes comprising at least the first compute node and a second compute node proximate to the first compute node; and determining utilization levels of the plurality of computing resources of each compute node in the grouping; determining utilization levels of a plurality of links connecting each compute node in the grouping to the fabric; determining, based on the utilization levels of the computing resources and the links of the compute nodes in the grouping, that scheduling the plurality of units of the workload to the compute nodes in the grouping satisfies the one or more QoS parameters of the SLA; and scheduling the plurality of units of the workload to the compute nodes in the grouping.
7 . The method of claim 1 , wherein the QoS parameters comprise: a latency, a jitter, a workload execution time, a throughput, and a bandwidth.
8 . A non-transitory computer-readable medium storing instructions executable by a processor circuit cause the processor circuit to:
receive a workload related to an immutable log describing a transaction for processing by at least one compute node of a plurality of compute nodes communicably coupled by a fabric in a cloud computing environment; determine, based on the immutable log describing the transaction, that a first compute node stores at least one data element required to process the transaction; determine utilization levels of a plurality of computing resources of the first compute node; determine utilization levels of a plurality of links connecting the first compute node to the fabric; determine, based on the utilization levels of the computing resources and the links, that processing the workload on the first compute node satisfies one or more Quality of Service (QoS) parameters specified in a service level agreement (SLA); and schedule the workload for processing on the first compute node based on the determination that processing the workload on the first compute node satisfies the one or more QoS parameters specified in the SLA.
9 . The computer-readable medium of claim 8 , wherein the immutable log specifies an account identifier, an asset, and a transaction type for trading the asset.
10 . The computer-readable medium of claim 9 , wherein the at least one data element required to process the transaction comprises a current price of the asset, wherein the transaction type comprises one or more of buying the asset and selling the asset, wherein processing the transaction comprises one or more of estimating a trade settlement, estimating a net asset value, estimating a stock holding, estimating a stock value, estimating a mutual fund value, and estimating a commodity value.
11 . The computer-readable medium of claim 8 , the instructions executable by the processor circuit to cause the processor circuit to:
receive a second workload related to a second transaction described by the immutable log, wherein the first and second transactions are described by different entries in the immutable log; determine, based on the immutable log describing, that the first compute node stores at least one data element required to process the second transaction; determine utilization levels of the plurality of computing resources of the first compute node; determine utilization levels of the plurality of links connecting the first compute node to the fabric; determine, based on the utilization levels of the computing resources and the links of the first compute node, that processing the second workload on the first compute node violates the one or more QoS parameters of the SLA; and refrain from scheduling the second workload on the first compute node.
12 . The computer-readable medium of claim 11 , the instructions executable by the processor circuit to cause the processor circuit to:
identify a second compute node of the plurality of compute nodes proximate to the first compute node; determine utilization levels of a plurality of computing resources of the second compute node; determine utilization levels of a plurality of links connecting the second compute node to the fabric; determine, based on the utilization levels of the computing resources and the links of the second compute node, that processing the second workload on the second compute node satisfies the one or more QoS parameters of the SLA; and schedule the second workload on the second compute node.
13 . The computer-readable medium of claim 8 , the instructions executable by the processor circuit to cause the processor circuit to:
prior to scheduling the workload for processing on the first compute node, divide the workload into a plurality of units; determine a grouping of at least two of the plurality of compute nodes, the at least two of the plurality of compute nodes comprising at least the first compute node and a second compute node proximate to the first compute node; and determine utilization levels of the plurality of computing resources of each compute node in the grouping; determine utilization levels of a plurality of links connecting each compute node in the grouping to the fabric; determine, based on the utilization levels of the computing resources and the links of the compute nodes in the grouping, that scheduling the plurality of units of the workload to the compute nodes in the grouping satisfies the one or more QoS parameters of the SLA; and schedule the plurality of units of the workload to the compute nodes in the grouping.
14 . The computer-readable medium of claim 8 , wherein the QoS parameters comprise: a latency, a jitter, a workload execution time, a throughput, and a bandwidth.
15 . An apparatus, comprising:
a processor circuit; and a memory storing instructions executable by the processor circuit to cause the processor circuit to:
receive a workload related to an immutable log associated with a transaction to process by at least one compute node of a plurality of compute nodes communicably coupled by a fabric in a cloud computing environment;
determine, based on the immutable log associated with the transaction, that a first compute node stores at least one data element required to process the transaction;
determine utilization levels of a plurality of computing resources of the first compute node;
determine utilization levels of a plurality of links connecting the first compute node to the fabric;
determine that the utilization levels of the computing resources and the links satisfy one or more Quality of Service (QoS) parameters specified in a service level agreement (SLA); and
schedule the workload to process on the first compute node based on the determination that the utilization levels of the computing resources and the links satisfy the one or more QoS parameters specified in the SLA.
16 . The apparatus of claim 15 , wherein the immutable log specifies an account identifier, an asset, and a transaction type to trade the asset.
17 . The apparatus of claim 16 , wherein the at least one data element required to process the transaction comprises a current price of the asset, wherein the transaction type comprises one or more of a purchase of the asset and a sale of the asset, wherein the first compute node is to process the transaction based on one or more of an estimated trade settlement, an estimated net asset value, an estimated stock holding, an estimated stock value, an estimated mutual fund value, and an estimated commodity value.
18 . The apparatus of claim 15 , the memory storing instructions executable by the processor circuit to cause the processor circuit to:
receive a second workload related to a second transaction described by the immutable log, wherein the first and second transactions are described by different entries in the immutable log; determine, based on the immutable log describing, that the first compute node stores at least one data element required to process the second transaction; determine utilization levels of the plurality of computing resources of the first compute node; determine utilization levels of the plurality of links connecting the first compute node to the fabric; determine that the utilization levels of the computing resources and the links of the first compute node violate the one or more QoS parameters of the SLA; and refrain from scheduling the second workload on the first compute node.
19 . The apparatus of claim 18 , the memory storing instructions executable by the processor circuit to cause the processor circuit to:
identify a second compute node of the plurality of compute nodes proximate to the first compute node; determine utilization levels of a plurality of computing resources of the second compute node; determine utilization levels of a plurality of links connecting the second compute node to the fabric; determine that the utilization levels of the computing resources and the links of the second compute node satisfy the one or more QoS parameters of the SLA; and schedule the second workload on the second compute node.
20 . The apparatus of claim 15 , wherein the QoS parameters comprise: a latency, a jitter, a workload execution time, a throughput, and a bandwidth, the memory storing instructions executable by the processor circuit to cause the processor circuit to:
prior to scheduling the workload for processing on the first compute node, divide the workload into a plurality of units; determine a grouping of at least two of the plurality of compute nodes, the at least two of the plurality of compute nodes to comprise at least the first compute node and a second compute node proximate to the first compute node; and determine utilization levels of the plurality of computing resources of each compute node in the grouping; determine utilization levels of a plurality of links connecting each compute node in the grouping to the fabric; determine that the utilization levels of the computing resources and the links of the compute nodes in the grouping satisfy the one or more QoS parameters of the SLA; and schedule the plurality of units of the workload to the compute nodes in the grouping.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.