Servicing concurrent queries via virtual segment recovery
US-11061910-B1 · Jul 13, 2021 · US
US11513855B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11513855-B2 |
| Application number | US-202016842757-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 7, 2020 |
| Priority date | Apr 7, 2020 |
| Publication date | Nov 29, 2022 |
| Grant date | Nov 29, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method, computer program product, and computing system for allocating a first set of cores of a plurality of cores of a multicore central processing unit (CPU) for processing host input-output (IO) operations of a plurality of operations on a storage system. A second set of cores of the plurality of cores may be allocated for processing flush operations of the plurality of operations on the storage system. A third set of cores of the plurality of cores may be allocated for processing rebuild operations of the plurality of operations on the storage system. At least one of one or more host IO operations, one or more rebuild operations, and one or more flush operations may be processed, via the plurality of cores and based upon, at least in part, the allocation of the plurality of cores for processing the plurality of operations.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method, executed on a computing device, comprising: allocating, using the computing device, a first set of cores of a plurality of cores of a multicore central processing unit (CPU) for executing one or more host input-output (IO) operations of a plurality of operations on a storage system, wherein a number of cores of the first set of cores is based upon, at least in part, a minimum threshold IO operations per second (IOPS) of the storage system; allocating, using the computing device, a second set of cores of the plurality of cores for executing one or more flush operations of the plurality of operations on the storage system; allocating, using the computing device, a third set of cores of the plurality of cores for executing one or more rebuild operations of the plurality of operations on the storage system; executing the plurality of operations using the plurality of cores and based upon, at least in part, the allocation of the first, the second, and the third set of cores of the plurality of cores, wherein the plurality of operations comprises: the one or more host IO operations, the one or more rebuild operations, and the one or more flush operations; and balancing, using the computing device, allocation of the plurality of operations across the plurality of cores to improve a rebuild rate of the storage system compared to a threshold rebuild rate and to minimize an impact on the one or more host IO operations caused by the one or more rebuild operations, wherein allocation of the one or more flush operations is balanced with allocation of the one or more host IO operations and the one or more rebuild operations by allocating the second set of cores of the plurality of cores for executing the one or more flush operations on the storage system such that the second set of cores is a subset of the first set of cores, and wherein allocation of the one or more rebuild operations is balanced with allocation of the one or more host IO operations and the one or more flush operations by allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations on the storage system such that the third set of cores is a subset of the first set of cores. 2. The computer-implemented method of claim 1 , wherein allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations of the plurality of operations on the storage system includes allocating each core of the second set of cores and at least one additional core from the first set of cores of the plurality of cores for executing the one or more rebuild operations. 3. The computer-implemented method of claim 1 , wherein allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations of the plurality of operations on the storage system includes allocating only the second set of cores for executing the one or more rebuild operations in addition to executing the one or more flush operations. 4. The computer-implemented method of claim 1 , wherein allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations of the plurality of operations on the storage system includes allocating only cores of the first set of cores of the plurality of cores that are not allocated as a portion of the second set of cores for executing the one or more flush operations. 5. The computer-implemented method of claim 1 , wherein allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations includes allocating cores from the first set of cores of the plurality of cores for executing the one or more rebuild operations based upon, at least in part, the threshold rebuild rate. 6. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising: allocating a first set of cores of a plurality of cores of a multicore central processing unit (CPU) for executing one or more host input-output (IO) operations of a plurality of operations on a storage system, wherein a number of cores of the first set of cores is based upon, at least in part, a minimum threshold IO operations per second (IOPS) of the storage system; allocating a second set of cores of the plurality of cores for executing one or more flush operations of the plurality of operations on the storage system; allocating a third set of cores of the plurality of cores for executing one or more rebuild operations of the plurality of operations on the storage system; executing the plurality of operations using the plurality of cores and based upon, at least in part, the allocation of the first, the second, and the third set of cores of the plurality of cores, wherein the plurality of operations comprises: the one or more host IO operations, the one or more rebuild operations, and the one or more flush operations; and balancing allocation of the plurality of operations across the plurality of cores to improve a rebuild rate of the storage system compared to a threshold rebuild rate and to minimize an impact on the one or more host IO operations caused by the one or more rebuild operations, wherein allocation of the one or more flush operations is balanced with allocation of the one or more host IO operations and the one or more rebuild operations by allocating the second set of cores of the plurality of cores for executing the one or more flush operations on the storage system such that the second set of cores is a subset of the first set of cores, and wherein allocation of the one or more rebuild operations is balanced with allocation of the one or more host IO operations and the one or more flush operations by allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations on the storage system such that the third set of cores is a subset of the first set of cores. 7. The computer program product of claim 6 , wherein allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations of the plurality of operations on the storage system includes allocating each core of the second set of cores and at least one additional core from the first set of cores of the plurality of cores the plurality of cores for executing the one or more rebuild operations. 8. The computer program product of claim 6 , wherein allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations of the plurality of operations on the storage system includes allocating only the second set of cores for executing the one or more rebuild operations in addition to executing the one or more flush operations. 9. The computer program product of claim 6 , wherein allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations of the plurality of operations on the storage system includes allocating only cores of the first set of cores of the plurality of cores that are not allocated as a portion of the second set of cores for executing the one or more flush operations. 10. The computer program product of claim 6 , wherein allocating the third set of cores of the plurality of cores for executing the one or more rebuild operations includes allocating cores from the first set of cores of the plurality of cores for executing the one or more rebuild operations based upon, at least in part, the threshold rebuild rate. 11. A computing system comprising: at least one memory architecture; and at least on
Processor sets · CPC title
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.