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:
- retrieving an application;
analyzing a first task type and a second task type included in the application;
in response to analyzing the first task type and the second task type, determining that the application requires both a first scheduler and a second scheduler,wherein the first scheduler is different than the second scheduler;
scheduling, during execution of the application, 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 the first scheduler that maintains a first run queue that includes data corresponding to the first tasks, the plurality of first tasks corresponding to the first task type;
in response to the scheduling of the plurality of first tasks by the first scheduler,inserting the plurality of first tasks in the first run queue;
scheduling, during the execution of the application, 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 the second scheduler that maintains a second run queue that includes data corresponding to the second tasks, wherein the first scheduler and the second scheduler are both utilized by the application during the application execution, and wherein the first task and the second task execute concurrently, the plurality of second tasks corresponding to the second task type;
in response to the scheduling of the plurality of second tasks by the second scheduler, inserting the plurality of second tasks in the second run queue;
informing the second type of processor to load one of the plurality of second tasks in response to the scheduling of the plurality of second tasks; and
wherein the first scheduler and the second scheduler are both located on a first processor that is the first type of processor.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for an asymmetric heterogeneous multi-threaded operating system is 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.
168 Citations
8 Claims
-
1. A computer implemented method for asymmetrically multithreading tasks in a computer environment that includes a plurality of dissimilar processors, said method comprising:
-
retrieving an application; analyzing a first task type and a second task type included in the application; in response to analyzing the first task type and the second task type, determining that the application requires both a first scheduler and a second scheduler, wherein the first scheduler is different than the second scheduler; scheduling, during execution of the application, 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 the first scheduler that maintains a first run queue that includes data corresponding to the first tasks, the plurality of first tasks corresponding to the first task type; in response to the scheduling of the plurality of first tasks by the first scheduler, inserting the plurality of first tasks in the first run queue; scheduling, during the execution of the application, 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 the second scheduler that maintains a second run queue that includes data corresponding to the second tasks, wherein the first scheduler and the second scheduler are both utilized by the application during the application execution, and wherein the first task and the second task execute concurrently, the plurality of second tasks corresponding to the second task type; in response to the scheduling of the plurality of second tasks by the second scheduler, inserting the plurality of second tasks in the second run queue; informing the second type of processor to load one of the plurality of second tasks in response to the scheduling of the plurality of second tasks; and wherein the first scheduler and the second scheduler are both located on a first processor that is the first type of processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
Specification