# US 8,572,615 B2 · Parallel computing system, synchronization device, and control method of parallel computing system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,572,615 B2
- Document ID: US8572615B2
- Status: Granted
- Kind: B2
- Application number: 13/325,152
- Filed: 2011-12-14
- Published: 2012-06-21
- Granted: 2013-10-29
- Earliest claimed: 2010-12-17
- Assignees: Fujitsu Limited
- Applicants: Tomohiro Inoue; Yuichiro Ajima; Shinya Hiramoto
- Inventors: Tomohiro Inoue; Yuichiro Ajima; Shinya Hiramoto
- Web page: https://patentgrep.com/patent/US8572615B2

## CPC

- G06F 15/17325: {Synchronisation; Hardware support therefor (intertask synchronisation G06F9/52)}
- G06F 9/522: {Barrier synchronisation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A synchronization device includes a receiver that receives data from at least two synchronization devices establishing synchronization, and extracts synchronization information and register selection information from the received data, a transmitter that transmits data to each of the at least two synchronization devices establishing synchronization among a plurality of synchronization devices, a first and a second receiving state register that each stores the extracted synchronization information, a second receiving state register that stores the extracted synchronization information, and a controller that stores the extracted synchronization information into the first receiving state register and the second receiving state register alternately based on the register selection information, and controls the transmitter to transmit data including the register selection information to each of the at least two synchronization devices when the extracted synchronization information is completed in one of the first and the second receiving state register.

## Claims

### Claim 1

A parallel computing system including a plurality of nodes each provided with a synchronization device that establishes synchronization by awaiting incoming data and transmitting the data when all awaited data is received, each synchronization device comprising:
a receiver that receives data from at least two synchronization devices establishing synchronization, and extracts synchronization information and register selection information from the received data, the register selection information indicating one of the first synchronization and second synchronization;
a transmitter that transmits data to each of the at least two synchronization devices from among a plurality of synchronization devices;
a first receiving state register that stores the extracted synchronization information of the first synchronization;
a second receiving state register that stores the extracted synchronization information of the second synchronization; and
a controller that
stores the extracted synchronization information into the first receiving state register and the second receiving state register alternately based on the register selection information, and
controls the transmitter to transmit data including the register selection information to each of the at least two synchronization devices when the extracted synchronization information is stored in one of the first receiving state register and the second receiving state register.

### Claim 2 (depends on 1)

The parallel computing system according to claim 1, wherein
the receiver of each of the synchronization devices receives data from each of the at least two synchronization devices including its own node and establishes synchronization among the plurality of synchronization devices, and
the transmitter of each of the synchronization devices transmits data to each of the at least two synchronization devices including its own node and establishing synchronization among the plurality of synchronization devices.

### Claim 3 (depends on 2)

The parallel computing system according to claim 2, wherein
the synchronization device includes a loop path connecting the transmitter to the receiver, and
the transmitter of each of the synchronization devices transmits the data to its own node via the loop path.

### Claim 4 (depends on 1)

The parallel computing system according to one of claim 1, wherein
the receiver of each of the synchronization devices extracts calculation target data from the data received from the at least two synchronization devices,
each of the synchronization devices comprises a reduction calculation unit that calculates the calculation target data and outputs the calculated data, and
the transmitter of each of the synchronization devices transmits to the at least two synchronization devices data including the calculated data.

### Claim 5 (depends on 1)

The parallel computing system according to claim 1, wherein
the controller of each of the synchronization devices causes the transmitter to transmit the data to the at least two synchronization devices when one of the first receiving state register and the second receiving state register stores the synchronization information from all the synchronization devices establishing synchronization.

### Claim 6 (depends on 1)

The parallel computing system according to claim 1, wherein
a plurality of synchronization devices included in a first group establish synchronization, and a plurality of synchronization devices included in a second group establish synchronization after synchronization is established among the synchronization devices in the first group.

### Claim 7

A synchronization device in a parallel computing system including a plurality of nodes each provided with a synchronization device that establishes synchronization by awaiting incoming data and transmitting the data when all awaited data is received, the synchronization device comprising:
a receiver that receives data from at least two synchronization devices establishing synchronization, and extracts synchronization information and register selection information from the received data, the register selection information indicating one of first synchronization and second synchronization;
a transmitter that transmits data to each of the at least two synchronization devices from among a plurality of synchronization devices;
a first receiving state register that stores the extracted synchronization information of the first synchronization;
a second receiving state register that stores the extracted synchronization information of the second synchronization; and
a controller that stores
the extracted synchronization information into the first receiving state register and the second receiving state register alternately based on the register selection information, and
controls the transmitter to transmit data including the register selection information to each of the at least two synchronization devices when the extracted synchronization information is stored in one of the first receiving state register and the second receiving state register.

### Claim 8 (depends on 7)

The synchronization device according to claim 7, wherein
the receiver of each of the synchronization devices receives data from each of the at least two synchronization devices including its own node and establishes synchronization among the plurality of synchronization devices, and
the transmitter of each of the synchronization devices transmits data to each of the at least two synchronization devices including its own node and establishing synchronization from among the plurality of synchronization devices.

### Claim 9 (depends on 8)

The synchronization device according to claim 8, wherein
the synchronization device includes a loop path connecting the transmitter to the receiver, and
the transmitter of each of the synchronization devices transmits the data to its own node via the loop path.

### Claim 10 (depends on 7)

The synchronization device according to one of claim 7, wherein
the receiver of each of the synchronization devices extracts calculation target data from the data received from the at least two synchronization devices,; wherein
each of the synchronization devices comprises a reduction calculation unit that calculates the calculation target data and outputs the calculated data, and
the transmitter of each of the synchronization devices transmits to the at least two synchronization devices data including the calculated data.

### Claim 11 (depends on 7)

The synchronization device according to claim 7, wherein
the controller of each of the synchronization devices causes the transmitter to transmit the data to the at least two synchronization devices when one of the first receiving state register and the second receiving state register stores the synchronization information from all the synchronization devices establishing synchronization.

### Claim 12

A method of controlling a parallel computing system including a plurality of nodes each provided with a synchronization device that establishes synchronization by awaiting incoming data and transmitting the data when all awaited data is received, the method comprising:
receiving data from at least two synchronization devices establishing synchronization;
extracting synchronization information and register selection information from the received data, the register selection information indicating one of first synchronization and second synchronization;
storing the extracted synchronization information into a first receiving state register and a second receiving state register alternately based on the register selection information, and the first receiving state register being for storing the extracted synchronization information of the first synchronization, the second receiving state register being for storing the extracted synchronization information of the second synchronization; and
transmitting data including the register selection information to each of the at least two synchronization devices when the extracted synchronization information is stored in one of the first receiving state register and the second receiving state register.
