CPC G06F 9/5083 (2013.01) [G06F 9/5066 (2013.01); G06F 11/3433 (2013.01); G06F 2209/5017 (2013.01); G06F 2209/5018 (2013.01); G06F 2209/508 (2013.01)] | 20 Claims |
1. A computer-implemented method, comprising:
receiving a data process at a managing thread, wherein the data process includes a plurality of sub-processes;
assigning, by the managing thread, a unique subset of the sub-processes to each of: the managing thread, and at least one other thread;
causing, by the managing thread, each of the subsets of sub-processes to be performed by the thread to which the respective subset is assigned;
evaluating, by the managing thread, performance characteristics of each of the threads while the respective subsets of sub-processes are being performed;
determining, by the managing thread, whether the performance characteristics of each of the threads are substantially equal to the performance characteristics of each of the other threads;
in response to determining that performance characteristics of each of the threads are not substantially equal to the performance characteristics of each of the other threads, dynamically adjusting, by the managing thread, a number of the sub-processes that are included in each of the subsets of the sub-processes such that the performance characteristics of each of the threads become more equal;
reassigning, by the managing thread, the adjusted subsets of the sub-processes to each of the managing thread and the at least one other thread; and
causing, by the managing thread, each of the adjusted subsets of the sub-processes to be performed by the thread to which the respective adjusted subset is assigned.
|