US 12,443,437 B2
Informed optimization of thread group scheduling
Jaeyoo Jung, Shrewsbury, MA (US); Peter Linden, Boston, MA (US); Robert Lucey, Whitechurch (IE); and Wednesday Wolf, Brookline, MA (US)
Assigned to Dell Products L.P., Hopkinton, MA (US)
Filed by Dell Products L.P., Hopkinton, MA (US)
Filed on Mar. 31, 2022, as Appl. No. 17/709,519.
Prior Publication US 2023/0315518 A1, Oct. 5, 2023
Int. Cl. G06F 3/00 (2006.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01)
CPC G06F 9/4881 (2013.01) [G06F 9/5038 (2013.01)] 11 Claims
OG exemplary drawing
 
1. A method comprising:
in a computer-based data storage system comprising processors that run a plurality of workload-supporting thread types comprising read-supporting threads and write-supporting threads for accessing disk drives to service processor-specific run workloads characterized by different ratios of reads to writes,
identifying, for each processor based on characteristics of a current run workload of that processor, a permutation of a plurality of predefined permutations of thread type differentiated access to central processing unit (CPU) cycles for the read-supporting threads and write-supporting threads that yields greatest average input-output operations per second (IOPS) for that processor for servicing the current run workload, each permutation comprising a record of quantified differentiated CPU cycle allocations to each of a plurality of thread type groups, including:
grouping thread types based on tasks performed by those thread types;
counting CPU cycles used by different types of threads running on the storage system processor to service the run workload and identifying one or more most important thread type groups in terms of CPU cycles used; and
characterizing T thread type groups that used a greatest number of CPU cycles as the most important thread type groups, where T is a predetermined integer value; and
configuring a thread scheduler for each processor with the respective identified permutation of differentiated access to CPU cycles, thereby improving performance of the data storage system in terms of IOPS based on current run workload characteristics.