IP Library › Granted Patent US 9,292,339
Granted Patent B2
US 9,292,339 · App. 13/625,375 · Granted Mar 22, 2016

Multi-core processor system, computer product, and control method

Inventors: Hiromasa Yamauchi (Kawasaki, JP); Koichiro Yamashita (Hachioji, JP); Tetsuya Saka (Sagamihara, JP)
Assignee: FUJITSU LIMITED
G06F9/4843G06F9/52Y02B60/144
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 9,292,339
App. No.
13/625,375
Granted
Mar 22, 2016
Kind
B2
Abstract

A multi-core processor system includes a core configured to determine whether a task to be synchronized with a given task is present; identify among cores making up the multi-core processor and upon determining that a task to be synchronized with the given task is present, a core to which no non-synchronous task that is not synchronized with another task has been assigned, and identify among cores making up the multi-core processor and upon determining that a task to be synchronized with the given task is not present, a core to which no synchronous task to be synchronized with another task has been assigned; and send to the identified core, an instruction to start the given task.

Claims (40)

1. A multi-core processor system that includes a plurality of cores one of which is configured to execute a process comprising:

determining whether a task to be synchronized with a given task is present;

identifying among the cores and upon determining that a task to be synchronized with the given task is present, a first core excluding cores to which a non-synchronous task that is not synchronized with another task has been assigned, and identifying among the cores and upon determining that a task to be synchronized with the given task is not present, a second core excluding cores to which a synchronous task to be synchronized with another task has been assigned;

sending to the identified first or second core, an instruction to start the given task; and

migrating a task assigned to a pre-migration core to a post-migration core after the identifying, wherein

the identifying includes, upon determining that a task to be synchronized with the given task is present and not identifying the first core, identifying among the cores, a group of cores to which non-synchronous tasks have been assigned,

the migrating includes migrating a non-synchronous task assigned to a third core among the identified group of cores to another core among the identified group of cores excluding the third core, and

the sending includes, after the non-synchronous task assigned to the third core is migrated to another core, sending to the third core, the instruction to start the given task.

2. The multi-core processor system according to claim 1 , wherein the process further includes migrating a task assigned to a pre-migration core to a post-migration core after the identifying, and

the identifying includes, upon determining that a task to be synchronized with the given task is not present and not identifying the second core identifying among the cores a group of cores to which synchronous tasks have been assigned,

the migrating includes migrating a synchronous task assigned to a third core among the identified group of cores to another core among the identified group of cores excluding the third core, and

the sending includes, after the synchronous task assigned to the third core is migrated to another core, sending to the third core, the instruction to start the given task.

3. The multi-core processor system according to claim 1 , further comprising:

a memory device;

a clock supply circuit that supplies a clock to the memory device; and

a register capable of storing a value that indicates, for each of the cores, whether the core is in a power-saving mode, the core being capable of changing the value, wherein

the process further includes determining, upon determining that a task to be synchronized with the given task is not present and based on the value stored in the register, whether the identified first or second core is in the power-saving mode, and

the sending includes, upon determining that the identified first or second core is in the power-saving mode and a frequency of the clock is greater than a given value, sending to the clock supply circuit, an instruction to reduce the frequency of the clock to the given value.

4. The multi-core processor system according to claim 1 , further comprising:

a memory device;

a power supply circuit that supplies a source voltage to the memory device; and

a register capable of storing a value that indicates, for each of the cores, whether the core is in a power-saving mode, the core being capable of changing the value, wherein

the process further includes determining, upon determining that a task to be synchronized with the given task is not present and based on the value stored in the register, whether the identified core is in the power-saving mode, and

the sending includes, upon determining that the identified first or second core is in the power-saving mode and a value of the source voltage is greater than a given value, sending to the power supply circuit, an instruction to reduce the value of the source voltage to the given value.

5. A computer-readable recording medium storing a program for a multi-core processor system that includes a plurality of cores, wherein the program causes one of the cores to execute a process comprising:

determining whether a task to be synchronized with a given task is present;

identifying among the cores and upon determining that a task to be synchronized with the given task is present, a first core excluding cores to which a non-synchronous task that is not synchronized with another task has been assigned, and identifying among the cores and upon determining that a task to be synchronized with the given task is not present, a second core excluding cores to which a synchronous task to be synchronized with another task has been assigned;

sending to the identified first or second core, an instruction to start the given task; and

migrating a task assigned to a pre-migration core to a post-migration core after the identifying, wherein

the identifying includes, upon determining that a task to be synchronized with the given task is present and not identifying the first core, identifying among the cores, a group of cores to which non-synchronous tasks have been assigned,

the migrating includes migrating a non-synchronous task assigned to a third core among the identified group of cores to another core among the identified group of cores excluding the third core, and

the sending includes, after the non-synchronous task assigned to the third core is migrated to another core, sending to the third core, the instruction to start the given task.

6. A control process for a multi-core processor system that includes a plurality of cores, wherein the method causes one of the cores to execute:

determining whether a task to be synchronized with a given task is present;

identifying among the cores and upon determining that a task to be synchronized with the given task is present, a first core excluding cores to which a non-synchronous task that is not synchronized with another task has been assigned, and identifying among the cores and upon determining that a task to be synchronized with the given task is not present, a second core excluding cores to which a synchronous task to be synchronized with another task has been assigned;

sending to the identified first or second core, an instruction to start the given task; and

migrating a task assigned to a pre-migration core to a post-migration core after the identifying, wherein

the identifying includes, upon determining that a task to be synchronized with the given task is present and not identifying the first core, identifying among the cores, a group of cores to which non-synchronous tasks have been assigned,

the migrating includes migrating a non-synchronous task assigned to a third core among the identified group of cores to another core among the identified group of cores excluding the third core, and

the sending includes, after the non-synchronous task assigned to the third core is migrated to another core, sending to the third core, the instruction to start the given task.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2013
From: YAMAUCHI, HIROMASA; YAMASHITA, KOICHIRO; SAKA, TETSUYA
To: FUJITSU LIMITED
Reel/Frame 030168/0279 →
Continuity (2)
Continuation PCTJP2010055288 · Mar 25, 2010
Related Publication 20130024865A1 · Jan 24, 2013