Method and apparatus for adaptive cache load balancing for ssd-based cloud computing storage system
Abstract
An apparatus, a method, a method of manufacturing an apparatus, and a method of constructing an integrated circuit are provided. A processor of an application server layer detects a degree of a change in a workload in an input/output stream received through a network from one or more user devices. The processor determines a degree range, from a plurality of preset degree ranges, that the degree of the change in the workload is within. The processor determines a distribution strategy, from among a plurality of distribution strategies, to distribute the workload across one or more of a plurality of solid state devices (SSDs) in a performance cache tier of a centralized multi-tier storage pool, based on the determined degree range. The processor distributes the workload across the one or more of the plurality of solid state devices based on the determined distribution strategy.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . An apparatus, comprising:
a memory; and a processor configured to:
detect a degree of a change in a workload in an input/output stream received through a network from one or more user devices;
determine a degree range, from a plurality of preset degree ranges, that the degree of the change in the workload is within;
determine a distribution strategy, from among a plurality of distribution strategies, to distribute the workload across one or more of a plurality of solid state devices (SSDs) in a performance cache tier of a centralized multi-tier storage pool, based on the determined degree range; and
distribute the workload across the one or more of the plurality of solid state devices based on the determined distribution strategy.
2 . The apparatus of claim 1 , wherein each of the plurality of distribution strategies corresponds to a respective one of the plurality of preset degree ranges.
3 . The apparatus of claim 2 , wherein the plurality of preset degree ranges comprises a strong workload spike range, a weak workload spike range, and a non-spike range.
4 . The apparatus of claim 3 , wherein the plurality of distribution strategies comprises:
a join shortest queue (JSQ)-based runtime random-greedy algorithm used in accordance with a large range of idlest SSDs from the plurality of SSDs, which corresponds to the strong workload spike range; a JSQ-based runtime random-greedy algorithm used in accordance with a small range of idlest SSDs from the plurality of SSDs, which corresponds to the weak workload spike range; and an optimization framework calculation, which corresponds to the non-spike range.
5 . The apparatus of claim 4 , wherein, when the determined distribution strategy comprises the JSQ-based runtime random-greed algorithm, the processor is further configured to:
sort the plurality of SSDs by a number of active I/O streams that are queued; and randomly select an SSD from the large range of idlest SSDs or the small range of idlest SSDs for assignment of a job of the workload.
6 . The apparatus of claim 4 , wherein, when the determined distribution strategy comprises the optimization framework calculation, the processor is further configured to:
calculate a coefficient variation for each of the plurality of SSDs using a plurality of resources; determine whether any one of the plurality of resources exceeds a respective upper bound for each of the plurality of SSDs based on the respective coefficient variation; skip assignment to a given SSD, when any one of the plurality of resources exceeds the respective upper bound; and choose an SSD with a minimal coefficient variation result for assignment of a job of the workload.
7 . The apparatus of claim 1 , wherein the degree of the change of the workload is calculated as an index of dispersion I:
I
=
SCV
(
1
+
α
·
∑
k
∈
[
k
,
K
max
]
ACF
(
k
)
)
where SCV is a squared coefficient of variation and ACF(k) is an autocorrelation function at lag K.
8 . The apparatus of claim 1 , wherein the degree of the change of the workload is determined based on working volume, working volume size, or working set size.
9 . The apparatus of claim 8 , wherein the degree of the change of the workload is further determined based on at least one of a read/write ratio and a sequential/random ratio.
10 . A method, comprising:
detecting, by a processor of an application server layer, a degree of a change in a workload in an input/output stream received through a network from one or more user devices; determining, by the processor, a degree range, from a plurality of preset degree ranges, that the degree of the change in the workload is within; determining, by the processor, a distribution strategy, from among a plurality of distribution strategies, to distribute the workload across one or more of a plurality of solid state devices (SSDs) in a performance cache tier of a centralized multi-tier storage pool, based on the determined degree range; and distributing, by the processor, the workload across the one or more of the plurality of solid state devices based on the determined distribution strategy.
11 . The method of claim 10 , wherein each of the plurality of distribution strategies corresponds to a respective one of the plurality of preset degree ranges
12 . The method of claim 11 , wherein the plurality of preset degree ranges comprises a strong workload spike range, a weak workload spike range, and a non-spike range.
13 . The method of claim 12 , wherein the plurality of distribution strategies comprises:
a join shortest queue (JSQ)-based runtime random-greedy algorithm used in accordance with a large range of idlest SSDs from the plurality of SSDs, which corresponds to the strong workload spike range; a JSQ-based runtime random-greedy algorithm used in accordance with a small range of idlest SSDs from the plurality of SSDs, which corresponds to the weak workload spike range; and an optimization framework calculation, which corresponds to the non-spike range.
14 . The method of claim 13 , wherein, when the determined distribution strategy comprises the JSQ-based runtime random-greed algorithm, the processor is further configured to:
sort the plurality of SSDs by a number of active I/O streams that are queued; and randomly select an SSD from the large range of idlest SSDs or the small range of idlest SSDs for assignment of a job of the workload.
15 . The method of claim 13 , wherein, when the determined distribution strategy comprises the optimization framework calculation, further comprising:
calculating a coefficient variation for each of the plurality of SSDs using a plurality of resources; determining whether any one of the plurality of resources exceeds a respective upper bound for each of the plurality of SSDs based on the respective coefficient variation; skipping assignment to a given SSD, when any one of the plurality of resources exceeds the respective upper bound; and choosing an SSD with a minimal coefficient variation result for assignment of a job of the workload.
16 . The method of claim 10 , wherein the degree of the change of the workload is calculated as an index of dispersion I:
I
=
SCV
(
1
+
α
·
∑
k
∈
[
k
,
K
max
]
ACF
(
k
)
)
where SCV is a squared coefficient of variation and ACF(k) is an autocorrelation function at lag K.
17 . The method of claim 10 , wherein the degree of the change of the workload is determined based on working volume, working volume size, or working set size.
18 . The method of claim 17 , wherein the degree of the change of the workload is further determined based on at least one of a read/write ratio and a sequential/random ratio.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.