Computer OS dispatcher operation with virtual switching queue and IP queues
First Claim
Patent Images
1. A virtual queue method for allocating tasks by a dispatcher algorithm to switching queues of individual processors in a multiprocessor computer system, said method comprising;
- a) allowing a user to establish priority for tasks to be allocated to individual processor switching queues,b) placing a value, indicating a priority for each said task queued for an said individual processor for on said individual processor switching queues, said value being associated with said user established priority,c) placing a reference for a highest priority task of said each task having a queued value on said individual processor switching queue, from each said individual processor switching queue onto a virtual queue,d) at a time a given processor is ready to perform a task, searching said virtual queue for a said reference for any tasks which may have a higher priority than any priority value that currently exists on said given processor'"'"'s individual processor switching queue, ande) if a task reference on said virtual queue has a higher priority than task priority values existing on said given processor'"'"'s individual processor switching queue, plucking said task from said virtual queue and,running said plucked task on said given processor,else, if no task reference on said virtual queue has a higher priority than at least one task priority on said given processor'"'"'s individual processor switching queue, running a one of said at least one tasks from said given processor'"'"'s individual processor switching queue.
13 Assignments
0 Petitions
Accused Products
Abstract
Driving task dispatching by an operating system in a multiprocessor computer system is accomplished with a virtual switching queue which accepts highest priority tasks from multiple switching queues which in turn are accessed by instruction processors seeking tasks. Overload, plucking and stealing of tasks may be used to effectively balance load within the computer system. Dynamic reconfiguration used where regular queues lose underlying instruction processors.
144 Citations
16 Claims
-
1. A virtual queue method for allocating tasks by a dispatcher algorithm to switching queues of individual processors in a multiprocessor computer system, said method comprising;
-
a) allowing a user to establish priority for tasks to be allocated to individual processor switching queues, b) placing a value, indicating a priority for each said task queued for an said individual processor for on said individual processor switching queues, said value being associated with said user established priority, c) placing a reference for a highest priority task of said each task having a queued value on said individual processor switching queue, from each said individual processor switching queue onto a virtual queue, d) at a time a given processor is ready to perform a task, searching said virtual queue for a said reference for any tasks which may have a higher priority than any priority value that currently exists on said given processor'"'"'s individual processor switching queue, and e) if a task reference on said virtual queue has a higher priority than task priority values existing on said given processor'"'"'s individual processor switching queue, plucking said task from said virtual queue and, running said plucked task on said given processor, else, if no task reference on said virtual queue has a higher priority than at least one task priority on said given processor'"'"'s individual processor switching queue, running a one of said at least one tasks from said given processor'"'"'s individual processor switching queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 15, 16)
-
-
9. A digital storage medium having stored thereon a sequence of instructions to cause a device to perform a virtual queue method for allocating tasks by a dispatcher algorithm to switching queues of individual processors in a multiprocessor computer system, said method comprising;
-
a) allowing a user to establish priority for tasks to be allocated to individual processor switching queues, b) placing a value, indicating a priority for each said task queued for an said individual processor for on said individual processor switching queues, said value being associated with said user established priority, c) placing a reference for a highest priority task of said each task having a queued value on said individual processor switching queue, from each said individual processor switching queue onto a virtual queue, d) at a time a given processor is ready to perform a task, searching said virtual queue for a said reference for any tasks which may have a higher priority than any priority value that currently exists on said given processor'"'"'s individual processor switching queue, and e) if a task reference on said virtual queue has a higher priority than task priority values existing on said given processor'"'"'s individual processor switching queue, plucking said task from said virtual queue and, running said plucked task on said given processor, else, if no task reference on said virtual queue has a higher priority than at least one task priority on said given processor'"'"'s individual processor switching queue, running a one of said at least one tasks from said given processor'"'"'s individual processor switching queue. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification