System and method for asymmetric heterogeneous multi-threaded operating system
First Claim
1. A computer implemented method for asymmetrically multithreading tasks in a computer environment that includes a plurality of dissimilar processors, said method comprising:
- scheduling operation of a plurality of first tasks adapted to be executed by a first type of processor from the plurality of dissimilar processors, the scheduling performed by a first scheduler that maintains a first run queue that includes data corresponding to the first tasks; and
scheduling operation of a plurality of second tasks adapted to be executed by a second type of processor from the plurality of dissimilar processors, the scheduling performed by a second scheduler that maintains a second run queue that includes data corresponding to the second tasks.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for an asymmetric heterogeneous multi-threaded operating system are presented. A processing unit (PU) provides a trusted mode environment in which an operating system executes. A heterogeneous processor environment includes a synergistic processing unit (SPU) that does not provide trusted mode capabilities. The PU operating system uses two separate and distinct schedulers which are a PU scheduler and an SPU scheduler to schedule tasks on a PU and an SPU, respectively. In one embodiment, the heterogeneous processor environment includes a plurality of SPUs. In this embodiment, the SPU scheduler may use a single SPU run queue to schedule tasks for the plurality of SPUs or, the SPU scheduler may use a plurality of run queues to schedule SPU tasks whereby each of the run queues correspond to a particular SPU.
143 Citations
30 Claims
-
1. A computer implemented method for asymmetrically multithreading tasks in a computer environment that includes a plurality of dissimilar processors, said method comprising:
-
scheduling operation of a plurality of first tasks adapted to be executed by a first type of processor from the plurality of dissimilar processors, the scheduling performed by a first scheduler that maintains a first run queue that includes data corresponding to the first tasks; and
scheduling operation of a plurality of second tasks adapted to be executed by a second type of processor from the plurality of dissimilar processors, the scheduling performed by a second scheduler that maintains a second run queue that includes data corresponding to the second tasks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
11. An information handling system comprising:
-
a plurality of dissimilar processors;
a memory accessible by the plurality of dissimilar processors;
one or more nonvolatile storage devices accessible by the plurality of dissimilar processors; and
an asymmetric multithreading tasking tool for scheduling tasks, the asymmetric multithreading tasking tool comprising software code effective to;
schedule operation of a plurality of first tasks adapted to be executed by a first type of processor from the plurality of dissimilar processors, the scheduling performed by a first scheduler that maintains a first run queue located on the memory that includes data corresponding to the first tasks; and
schedule operation of a plurality of second tasks adapted to be executed by a second type of processor from the plurality of dissimilar processors, the scheduling performed by a second scheduler that maintains a second run queue located on the memory that includes data corresponding to the second tasks.
-
-
21. A computer program product stored on a computer operable media for asymmetrically multithreading tasks in a computer environment that includes a plurality of dissimilar processors, said computer program product comprising:
-
means for scheduling operation of a plurality of first tasks adapted to be executed by a first type of processor from the plurality of dissimilar processors, the scheduling performed by a first scheduler that maintains a first run queue that includes data corresponding to the first tasks; and
means for scheduling operation of a plurality of second tasks adapted to be executed by a second type of processor from the plurality of dissimilar processors, the scheduling performed by a second scheduler that maintains a second run queue that includes data corresponding to the second tasks. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification