IP Library Granted Patent US 9,830,195
Granted Patent B2
US 9,830,195 · App. 14/475,961 · Granted Nov 28, 2017

Apparatus and method for controlling execution of processes in a parallel computing system

Inventors: Yuki Yoshida (Yamato, JP); Masaru Kase (Kawasaki, JP); Toshiyuki Shimizu (Kawasaki, JP)
Assignee: FUJITSU LIMITED
G06F9/52G06F13/3625G06F13/372G06F13/374
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,830,195
App. No.
14/475,961
Granted
Nov 28, 2017
Kind
B2
Abstract

An apparatus includes an arbiter and a plurality of arithmetic processors, each including an arithmetic circuit and a measuring circuit. The arithmetic circuit executes an arithmetic process, and the measuring circuit measures a progress level indicating a progress of the arithmetic process executed by the arithmetic circuit. Upon receiving access requests to an external device from first arithmetic processors included in the plurality of arithmetic processors, the arbiter arbitrates the access requests, based on a result of comparing the progress levels measured by the measuring circuits of the first arithmetic processors.

Claims (57)

1. A method for controlling an information processing device including an arbiter and a plurality of arithmetic processors, each arithmetic processor including an arithmetic circuit and a measuring circuit, the measuring circuit including a multiplexer circuit a counter circuit, and an incrementer circuit, the method comprising:

measuring, by the measuring circuit, for each of the plurality of arithmetic processors, a progress level indicating progress of arithmetic processing executed by each arithmetic processor by performing a process including:

causing the counter circuit to hold a first value and output the first value held therein,

causing the incrementer circuit to output a second value obtained by incrementing the first value output by the counter circuit,

causing the multiplexer circuit to select one of the first value and the second value output by the counter circuit and the incrementer circuit, respectively, and to output to the counter circuit the one of the first value and the second value selected by the multiplexer circuit,

causing the multiplexer circuit to, upon receiving from the arithmetic circuit a selection signal indicating that a unit process is completed, select the second value output by the incrementer circuit and output to the counter circuit the second value selected by the multiplexer circuit to increment the first value stored in the counter circuit, and

measuring the first value as the progress level; and

upon receiving access requests to an external device from first arithmetic processors included in the plurality of arithmetic processors, arbitrating, by the arbiter, the access requests based on progress levels measured for the first arithmetic processors that are transmission sources of the access requests.

2. The method of claim 1 , further comprising:

causing the arithmetic circuit to

separate the arithmetic process into a plurality of unit processes, each unit process executed in a unit time by the arithmetic processor,

execute the unit processes, and

output to the multiplexer circuit of the measuring circuit, upon completion of execution of each unit process, a third signal indicating the unit process is finished; and

causing the multiplexer circuit of the measuring circuit to select the second value output by the incrementer circuit and to output to the counter circuit the second value selected by the multiplexer circuit to increment the first value stored in the counter circuit, each time the multiplexer circuit of the measuring circuit receives the selection signal from the arithmetic circuit.

3. The method of claim 1 , further comprising causing the measuring circuit to:

start counting a local time, based on a clock operated by the arithmetic processor, at a first time when the arithmetic processor starts execution of the arithmetic process,

output a value of counted time obtained by the counting, as the progress level for the arithmetic process, to the arbiter at a second time when an access request to the external device is issued by the arithmetic processor, and

interrupt the counting of the local time from the second time to a third time when a reply to the access request is received by the arithmetic processor.

4. An apparatus comprising:

an information processing device, including

an arbiter; and

a plurality of arithmetic processors, each including:

an arithmetic circuit configured to execute an arithmetic process, and

a measuring circuit configured to measure a progress level indicating progress of the arithmetic process executed by the arithmetic circuit, the measuring circuit including a multiplexer circuit, a counter circuit that holds a first value output by the multiplexer circuit and outputs the first value held therein, and an incrementer circuit that outputs a second value obtained by incrementing the first value output by the counter circuit,

wherein

the multiplexer circuit of the measuring circuit is configured to select one of the first value and the second value output by the counter circuit and the incrementer circuit, respectively, and to output to the counter circuit the one of the first value and the second value selected by the multiplexer circuit;

upon receiving from the arithmetic circuit a selection signal indicating that a unit process is completed, the multiplexer circuit selects the second value output by the incrementer circuit and outputs to the counter circuit the second value selected by the multiplexer circuit to increment the first value stored in the counter circuit;

the measuring circuit measures the first value as the progress level; and

the arbiter is configured to, upon receiving first access requests to an external device from first arithmetic processors included in the plurality of arithmetic processors, arbitrate the first access requests, based on a comparison result of comparing first progress levels measured by the measuring circuits of the first arithmetic processors that are transmission sources of the first access requests.

5. The apparatus of claim 1 , wherein

the arithmetic circuit outputs as the selection signal a pulse signal, having a high electric potential, to the multiplexer circuit of the measuring circuit.

6. The apparatus of claim 1 , wherein, when a plurality of external devices to which access requests are to be issued are present, upon receiving second access requests to each of the plurality of external devices from second arithmetic processors included in the plurality of arithmetic processors, the arbiter arbitrates the second access requests, based on progress levels measured by the measuring circuits of the second arithmetic processors that are transmission sources of the second access requests to the plurality of external devices.

7. The apparatus of claim 1 ,

further comprising another information processing device, and

wherein the information processing device further includes a transmitter configured to, upon receiving a third access request to an external device controlled by the other information processing device, transmit the progress level measured by the measuring circuit of the arithmetic processor that is a transmission source of the third access request, and an execution request for requesting the external device to execute processing, to the other information processing device.

8. The apparatus of claim 1 ,

wherein the arithmetic circuit is configured to

separate the arithmetic process into a plurality of unit processes, each unit process executed in a unit time by the arithmetic processor,

execute the unit processes, and

output to the multiplexer circuit of the measuring circuit, upon completion of execution of each unit process, a selection signal indicating the unit process is finished; and

wherein the multiplexer circuit selects the second value output by the incrementer circuit and outputs to the counter circuit the second value selected by the multiplexer circuit to increment the first value stored in the counter circuit, each time the multiplexer circuit receives the selection signal from the arithmetic circuit.

9. The apparatus of claim 1 , wherein the measuring circuit is configured to

start counting a local time, based on a clock operated by the arithmetic processor, at a first time when the arithmetic processor starts execution of the arithmetic process,

output a value representing counted time obtained by the counting, as the progress level for the arithmetic process, to the arbiter at a second time when an access request to the external device is issued by the arithmetic processor, and

interrupt the counting of the local time from the second time to a third time when a reply to the access request is received by the arithmetic processor.

10. An apparatus comprising:

a plurality of arithmetic processors;

a measuring circuit configured to measure, for each of the plurality of arithmetic processors, a progress level indicating progress of arithmetic processing executed by each arithmetic processor, the measuring circuit including a multiplexer circuit, a counter circuit that holds a first value output by the multiplexer circuit and outputs the first value held therein, and an incrementer circuit that outputs a second value obtained by incrementing the first value output by the counter circuit; and

an arbiter configured to, upon receiving access requests to an external device from first arithmetic processors included in the plurality of arithmetic processors, arbitrate the access requests based on progress levels measured by the measuring circuits of the first arithmetic processors that are transmission sources of the access requests,

wherein

the multiplexer circuit of the measuring circuit is configured to select one of the first value and the second value output by the counter circuit and the incrementer circuit, respectively, and to output to the counter circuit the one of the first value and the second value selected by the multiplexer circuit;

upon receiving from the arithmetic circuit a selection signal indicating that a unit process is completed, the multiplexer circuit selects the second value output by the incrementer circuit and outputs to the counter circuit the second value selected by the multiplexer circuit to increment the first value stored in the counter circuit; and

the measuring circuit measures the first value as the progress level.

11. The apparatus of claim 10 , wherein the measuring circuit is configured to

start counting a local time, based on a clock operated by the arithmetic processor, at a first time when the arithmetic processor starts execution of the arithmetic process,

output a value of counted time obtained by the counting, as the progress level for the arithmetic process, to the arbiter at a second time when an access request to the external device is issued by the arithmetic processor, and

interrupt the counting of the local time from the second time to a third time when a reply to the access request is received by the arithmetic processor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2014
From: YOSHIDA, YUKI; KASE, MASARU; SHIMIZU, TOSHIYUKI
To: FUJITSU LIMITED
Reel/Frame 033659/0429 →
Priority Claims (1)
JP 2013-205534 · Sep 30, 2013 · national
Continuity (1)
Related Publication 20150095622A1 · Apr 2, 2015