Using thread CPU utilization patterns to analyze storage node performance problems
AssigneeDell Products L.P.
InventorsPankaj Soni, Ramesh Doddaiah, Malak Alshawabkeh, Eddie Tran, Garima Jain
Life of this patent
Estimating the term…
Abstract
Thread CPU cycle utilization patterns are used to analyze storage array performance problems. Per-thread CPU cycle utilization statistics are monitored, and code path utilizations are counted. Time-series clustering is used to identify code path activity clusters and thread clusters having similar CPU cycle utilization patterns. The most active code paths are selected from each code path activity cluster. The thread clusters that are most highly correlated with the selected code paths are selected and ranked based on CPU cycle utilization.
Claims20
A method comprising:
- monitoring per-thread utilization of central processing unit (CPU) cycles in a storage system that comprises at least one storage director with CPU complexes configured to run threads comprising threads of emulations that perform storage-related tasks;
- identifying clusters of the threads that are most highly correlated with utilizations of code paths comprising sets of multiple thread types that function together to perform a specific task;
- and
- using the identified clusters of threads to identify at least one of the threads as a cause of a performance problem of the storage system.
An apparatus comprising:
- a storage system comprising at least one storage director with central processing unit (CPU) complexes configured to run threads comprising threads of emulations that perform storage-related tasks and a process configured to:
- monitor per-thread utilization of CPU cycles;
- identify clusters of the threads that are most highly correlated with utilizations of code paths comprising sets of multiple thread types that function together to perform a specific task;
- and
- use the identified clusters of threads to identify at least one of the threads as a cause of a performance problem of the storage system.
A non-transitory computer-readable storage medium storing instructions that when executed by a storage system that comprises at least one storage director with central processing unit (CPU) complexes configured to run threads comprising threads of emulations that perform storage-related tasks perform a method comprising:
- monitoring per-thread utilization of CPU cycles;
- identifying clusters of the threads that are most highly correlated with utilizations of code paths comprising sets of multiple thread types that function together to perform a specific task;
- and
- using the identified clusters of threads to identify at least one of the threads as a cause of a performance problem of the storage system.
Dependencies are inferred from the claim text.