1. A method of scheduling a first task within a computing device, comprising the steps of: a. maintaining a work queue of a plurality of waiting tasks awaiting scheduling; b. attempting to locate at least one selected task from within the work queue which is capable of being executed simultaneously with the first task; and c. if at least one selected task is located, combining the at least one selected task with the first task to form a combined task, and scheduling the combined task.