Patent attributes
A task manager (or related operation) keeps track of free processing threads amongst multiple processing threads. The task manager receives a request to execute a task. Prior to execution, the task manager processes the task to identify portions of the task that must be executed in parallel. In response to detecting that there is a first processing thread in the pool free to execute a main portion of the task as well as sufficient free additional processing threads in the pool to execute each of the identified sub-tasks in parallel, the task manager submits the task for execution by the pool of multiple processing threads. For accounting purposes, the task manager modifies tracking information to indicate that the first processing thread and additional processing threads are now unavailable for use for execution of other tasks.