A method for managing multiple processors in the execution of one or more
processes in a task-based library platform. The one or more processes are
partitioned into highly granulized sub-tasks from a library calling
process, whereby each sub-task has a protection attribute associated with
it. The protection attribute designates processing resources that a
processor may use in the execution of the sub-task. The sub-tasks are
placed in a central task queue, whereby idling processors in the multiple
processor system obtain consecutive sub-tasks in the queue until all the
processes have been executed. Each processor executes a sub-task using
only those processing resources that have been designated as being
available by the protection attribute of the sub-task. The atomic
execution results of the one more sub-tasks may then be combined into an
execution result for the process. Also provided is a task-based library
for processor management.