Power aware load balancing using a hardware queue manager
US-2019042331-A1 · Feb 7, 2019 · US
US11720164B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-11720164-B1 |
| Application number | US-202217725651-A |
| Country | US |
| Kind code | B1 |
| Filing date | Apr 21, 2022 |
| Priority date | Apr 21, 2022 |
| Publication date | Aug 8, 2023 |
| Grant date | Aug 8, 2023 |
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 data storage system with multi-core processors dynamically enables and disables processor cores in order to manage power consumption while maintaining performance. One or more active processor cores are disabled responsive to determining that the current workload can be serviced with fewer active processor cores than are currently enabled while maintaining performance. One or more inactive processor cores are enabled responsive to determining that the current workload cannot be serviced with the currently active processor cores while maintaining performance. Separate utilization thresholds may be implemented for enabling inactive processor cores and disabling active processor cores to promote stability.
Opening claim text (preview).
What is claimed is: 1. A method comprising: in a data storage system comprising at least one compute node with a multi-core processor and non-volatile drives on which production storage objects containing host application data are stored, the production storage objects being accessed by instances of host applications running on host servers using input-output commands (IOs) to read data from the production storage objects and write data to the production storage objects, where IO latency is elapsed time between receipt of an IO by the storage system and return transmission of a write acknowledgment responsive to a write IO and return transmission of host application data responsive to a read IO, determining whether a current IO workload comprised of read IOs and write IOs can be serviced with fewer active processor cores than are currently enabled while maintaining a predetermined IO latency performance characteristic; and disabling at least one of the active processor cores responsive to determining that the current IO workload can be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic. 2. The method of claim 1 further comprising determining whether the current IO workload cannot be serviced with the active processor cores that are currently enabled while maintaining the predetermined IO latency performance characteristic. 3. The method of claim 2 further comprising enabling at least one inactive processor core responsive to determining that the current IO workload cannot be serviced with the active processor cores that are currently enabled while maintaining the predetermined IO latency performance characteristic. 4. The method of claim 3 further comprising determining that the current IO workload can be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic based on utilization being less than a falling utilization threshold. 5. The method of claim 4 further comprising determining that the current IO workload cannot be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic based on utilization being greater than a rising utilization threshold. 6. The method of claim 5 further comprising determining utilization based on one or more of processor utilization by threads, average time to complete an IO, number of IOs currently being processed by all threads, current total IO rate, current IO rate per core, current total IOs in process, current total IOs in process per core, and average time to process IOs from arrival to completion, alone or in any combination. 7. The method of claim 6 further comprising: disabling a plurality of the active processor cores responsive to determining that the current IO workload can be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic; and enabling a plurality of inactive processor cores responsive to determining that the current IO workload cannot be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic. 8. A non-transitory computer-readable storage medium that stores instructions that when executed by a compute node of a data storage system perform a method comprising: determining whether a current IO workload comprised of read input-output commands (IOs) and write IOs can be serviced with fewer active processor cores than are currently enabled while maintaining a predetermined IO latency performance characteristic where the data storage system comprises at least one compute node with a multi-core processor and non-volatile drives on which production storage objects containing host application data are stored, the production storage objects being accessed by instances of host applications running on host servers using IOs to read data from the production storage objects and write data to the production storage objects, where IO latency is elapsed time between receipt of an IO by the storage system and return transmission of a write acknowledgment responsive to a write IO and return transmission of host application data responsive to a read IO; and disabling at least one of the active processor cores responsive to determining that the current IO workload can be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic. 9. The non-transitory computer-readable storage medium of claim 8 in which the method further comprises determining whether the current IO workload cannot be serviced with the active processor cores that are currently enabled while maintaining the predetermined IO latency performance characteristic. 10. The non-transitory computer-readable storage medium of claim 9 in which the method further comprises enabling at least one inactive processor core responsive to determining that the current IO workload cannot be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic. 11. The non-transitory computer-readable storage medium of claim 10 in which the method further comprises determining that the current IO workload can be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic based on utilization being less than a falling utilization threshold. 12. The non-transitory computer-readable storage medium of claim 11 in which the method further comprises determining that the current IO workload cannot be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic based on utilization being greater than a rising utilization threshold. 13. The non-transitory computer-readable storage medium of claim 12 in which the method further comprises determining utilization based on one or more of processor utilization by threads, average time to complete an IO, number of IOs currently being processed by all threads, current total IO rate, current IO rate per core, current total IOs in process, current total IOs in process per core, and average time to process IOs from arrival to completion, alone or in any combination. 14. The non-transitory computer-readable storage medium of claim 13 in which the method further comprises: disabling a plurality of the active processor cores responsive to determining that the current IO workload can be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic; and enabling a plurality of inactive processor cores responsive to determining that the current IO workload cannot be serviced with fewer active processor cores than are currently enabled while maintaining the predetermined IO latency performance characteristic. 15. An apparatus comprising: a plurality of non-volatile drives; at least one compute node with a multi-core processor that runs threads that access the non-volatile drives on which production storage objects containing host application data are stored, the production storage objects being accessed by instances of host applications running on host servers using input-output commands (IOs) to read data from the production storage objects and write data to the production stor
by switching off individual functional units in the computer system · CPC title
Power saving in microcontroller unit · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.