IP Library › Granted Patent US 7,657,890
Granted Patent B2
US 7,657,890 · App. 10/808,470 · Granted Feb 2, 2010

Scheduling system and method in which threads for performing a real-time operation are assigned to a plurality of processors

Assignee: Kabushiki Kaisha Toshiba
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,657,890
App. No.
10/808,470
Granted
Feb 2, 2010
Kind
B2
Abstract

A real-time processing system that executes a plurality of threads, each of the threads being a unit of execution of a real-time operation, comprises a plurality of processors, a unit which selects a tightly coupled thread group from among the threads based on coupling attribute information indicative of a coupling attribute between the threads, the tightly coupled thread group including a set of tightly coupled threads running in cooperation with each other, and a unit which performs a scheduling operation of dispatching the tightly coupled threads to several of the processors that are equal to the tightly coupled threads to simultaneously execute the tightly coupled threads by the several of the processors.

Claims (24)

1. A method of assigning a plurality of threads to a plurality of processors, said plurality of processors are connected to a shared memory, each of the threads being a unit of execution of a real-time operation, the method comprising:

selecting a tightly coupled thread group from among the threads based on coupling attribute information indicative of a coupling attribute between the threads, the tightly coupled thread group including a set of tightly coupled threads running in cooperation with each other; and

reserving execution terms of the tightly coupled threads in several processors of the plurality of the processors, the reserved execution terms having the same execution start timing and the same term, the several processors being equal in number to the tightly coupled threads;

simultaneously executing the tightly coupled threads in reserved execution terms by the several processors;

selecting a loosely coupled thread group from among the threads based on the coupling attribute information, the loosely coupled thread group including a set of loosely coupled threads communicating through a buffer on the shared memory, and

performing the scheduling operation including dispatching the loosely coupled threads to one or more of the processors in accordance with a relationship in input and output between the loosely coupled threads.

2. The method according to claim 1 , wherein each of said plurality of processors includes a local memory, and the method further comprises mapping the local memory of one of the several of the processors, which executes one of the tightly coupled threads, in part of an effective address space of other one of the tightly coupled threads executed by other one of the several of the processors.

3. The method according to claim 1 , wherein each of the tightly coupled threads has context information indicating contents of a register and a local memory of one of the several of the processors.

4. The method according to claim 1 , wherein the scheduling operation is performed by an operating system executed by one of said plurality of processors.

5. A real-time processing system that executes a plurality of threads, each of the threads being a unit of execution of a real-time operation, comprising:

a plurality of processors connected to a shared memory;

a selecting section configured to select a tightly coupled thread group from among the threads based on coupling attribute information indicative of a coupling attribute between the threads, the tightly coupled thread group including a set of tightly coupled threads running in cooperation with each other;

a reserving section configured to reserve execution terms of the tightly coupled threads in several processors of the plurality of the processors, the reserved execution terms having the same execution start timing and the same term, the several processors being equal in number to the tightly coupled threads;

an executing section configured to simultaneously execute the tightly coupled threads in reserved execution terms by the several processors;

means for selecting a loosely coupled thread group from among the threads based on the coupling attribute information, the loosely coupled thread group including a set of loosely coupled threads communicating through a buffer on the shared memory; and

means for dispatching the loosely coupled threads to one or more of the processors in accordance with a relationship in input and output between the loosely coupled threads.

6. The real-time processing system according to claim 5 , wherein each of said plurality of processors includes a local memory, and the system further comprises means for mapping the local memory of one of the several of the processors, which execute one of the tightly coupled threads, in part of an effective address space of other one of the tightly coupled threads executed by other one of the several of the processors.

7. A computer readable storage medium including computer executable instructions, wherein the instructions, when executed by a plurality of processors, perform a scheduling operation to assign a plurality of threads to the processors, said plurality of processors are connected to a shared memory, wherein each of the threads being a unit of execution of a real-time operation, the method comprising:

causing the computer to select a tightly coupled thread group from among the threads based on coupling attribute information indicative of a coupling attribute between the threads, the tightly coupled thread group including a set of tightly coupled threads running in cooperation with each other;

reserving execution terms of the tightly coupled threads in several processors of the plurality of the processors, the reserved execution terms having the same execution start timing and the same term, the several processors being equal in number to the tightly coupled threads;

simultaneously executing the tightly coupled threads in reserved execution terms by the several processors;

selecting a loosely coupled thread group from among the threads based on the coupling attribute information, the loosely coupled thread group including a set of loosely coupled threads communicating through a buffer on the shared memory, and

performing the scheduling operation including dispatching the loosely coupled threads to one or more of the processors in accordance with a relationship in input and output between the loosely coupled threads.

8. The program according to claim 7 , wherein each of said plurality of processors includes a local memory, and the program further comprises causing the computer to map the local memory of one of the several of processors that execute one of the tightly coupled threads, in part of an effective address space of other one of the tightly coupled threads executed by other one of the several of the processors.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2004
From: KANAI, TATSUNORI; MAEDA, SEIJI; YOSHII, KENICHIRO; YANO, HIROKUNI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 015666/0515 →
Priority Claims (1)
JP 2003-184975 · Jun 27, 2003 · national
Continuity (1)
Related Publication 20040268354A1 · Dec 30, 2004