Storage system and method for connection-based load balancing
US-10313431-B2 · Jun 4, 2019 · US
US11494236B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11494236-B2 |
| Application number | US-202016867613-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 6, 2020 |
| Priority date | May 6, 2020 |
| Publication date | Nov 8, 2022 |
| Grant date | Nov 8, 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 monitoring utilization of each central processing unit (CPU) core of a plurality of CPU cores. An average input/output (IO) latency for an operating system thread executing on the CPU core of the plurality of CPU cores may be determined. The operating system thread IO polling cadence for the at least one operating system thread executing on at least one CPU core may be adjusted based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method, executed on a computing device, comprising: monitoring, via the computing device, utilization of each central processing unit (CPU) core of a plurality of CPU cores, wherein monitoring utilization of each CPU core of a plurality of CPU cores includes: monitoring a block application utilization and monitoring a file application utilization; determining an average input/output (IO) latency for an operating system thread executing on each CPU core of the plurality of CPU cores; adjusting an operating system thread IO polling cadence for at least one operating system thread executing on at least one CPU core based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores, wherein adjusting the operating system thread IO polling cadence for the at least one operating system thread executing on at least one CPU core based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores includes: determining whether the average IO latency for the operating system thread executing on the at least one CPU core is greater than average IO latencies of other CPU cores of the plurality of CPU cores by more than a predefined IO latency threshold; determining whether the file application utilization of the at least one CPU core is greater than a predefined file application utilization threshold; and preventing at least one new block application IO request from being fetched via the operating system thread executing on the at least one CPU core of the plurality of CPU cores in response to determining that the file application utilization of the CPU core is greater than the predefined file application utilization threshold. 2. The computer-implemented method of claim 1 , adjusting the operating system thread IO polling cadence for the at least one operating system thread executing on at least one CPU core based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores includes: determining whether an average block application utilization of the plurality of CPU cores is less than a first predefined block application utilization threshold. 3. The computer-implemented method of claim 2 , wherein adjusting the operating system thread IO polling cadence for the at least one operating system thread executing on at least one CPU core based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores includes: decreasing the operating system thread IO polling cadence for the at least one operating system thread executing on the at least one CPU core in response to determining that the average IO latency for the operating system thread executing on the CPU core is greater than the average IO latencies of the other CPU cores of the plurality of CPU cores by more than a predefined IO latency threshold and that the average block application utilization of the plurality of CPU cores is less than the predefined block application utilization threshold. 4. The computer-implemented method of claim 3 , wherein adjusting the operating system thread IO polling cadence for the at least one operating system thread executing on at least one CPU core based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores includes: determining whether the block application utilization of one or more CPU cores is greater than a second predefined block application utilization threshold; and increasing the operating system thread IO polling cadence for each operating system thread executing on one or more other CPU cores in response to determining that the block application utilization of the one or more CPU cores is greater than the second predefined block application utilization threshold. 5. 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: monitoring utilization of each central processing unit (CPU) core of a plurality of CPU cores, wherein monitoring utilization of each CPU core of a plurality of CPU cores includes: monitoring a block application utilization and monitoring a file application utilization; determining an average input/output (IO) latency for an operating system thread executing on the CPU core of the plurality of CPU cores; adjusting an operating system thread IO polling cadence for at least one operating system thread executing on at least one CPU core based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores, wherein adjusting the operating system thread IO polling cadence for the at least one operating system thread executing on at least one CPU core based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores includes: determining whether the average IO latency for the operating system thread executing on the at least one CPU core is greater than average IO latencies of other CPU cores of the plurality of CPU cores by more than a predefined IO latency threshold; determining whether the file application utilization of the at least one CPU core is greater than a predefined file application utilization threshold; and preventing at least one new block application IO request from being fetched via the operating system thread executing on the at least one CPU core of the plurality of CPU cores in response to determining that the file application utilization of the CPU core is greater than the predefined file application utilization threshold. 6. The computer program product of claim 5 , wherein adjusting the operating system thread IO polling cadence for the at least one operating system thread executing on at least one CPU core based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores includes: determining whether an average block application utilization of the plurality of CPU cores is less than a first predefined block application utilization threshold. 7. The computer program product of claim 6 , wherein adjusting the operating system thread IO polling cadence for the at least one operating system thread executing on at least one CPU core based upon, at least in part, the utilization of each CPU core of the plurality of CPU cores and the average IO latency for the operating system thread executing on each CPU core of the plurality of CPU cores includes: decreasing the operating system thread IO polling cadence for the at least one operating system thread executing on at least one CPU core in response to determining that the average IO latency for the operating system thread executing on the CPU core is greater than the average IO latencies of the other CPU cores of the plurality of CPU cores by more than a predefined IO latency threshold
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
where the computing system component is a central processing unit [CPU] · CPC title
Thread allocation · CPC title
where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50) · CPC title
Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.