CPC G06F 9/5027 (2013.01) [G06F 9/3009 (2013.01); G06F 9/5066 (2013.01); G06F 40/18 (2020.01); G06F 2209/508 (2013.01); G06F 2209/5018 (2013.01)] | 15 Claims |
1. A system comprising:
a processing system;
a storage device comprising instructions, which when executed by the processing system, cause the processing system to:
receive an indication that a recalculation operation is to be completed for data stored in a data file;
determine that a currently assigned number of available threads for execution of the recalculation operation is lower than a target number of threads for the recalculation operation, wherein the target number of threads for the recalculation operation is dynamically determined and periodically updated, by:
determining a thread utilization metric for each thread in the currently assigned number of available threads, during execution of a current dependency level of the recalculation operation; and
periodically updating the target number of threads for the recalculation operation based on the determined thread utilization metric for each thread in the currently assigned number of available threads;
request an additional thread for execution of the recalculation operation;
begin execution of the recalculation operation using the currently assigned number of available threads;
receive an indication that the additional thread is available for execution of the recalculation operation;
update the currently assigned number of available threads to include the additional thread; and
subsequent to the update, continue execution of the recalculation operation using the updated number of threads.
|