WO2006134816A1 - 分散処理システム、分散処理方法及びプログラム - Google Patents

分散処理システム、分散処理方法及びプログラム Download PDF

Info

Publication number
WO2006134816A1
WO2006134816A1 PCT/JP2006/311471 JP2006311471W WO2006134816A1 WO 2006134816 A1 WO2006134816 A1 WO 2006134816A1 JP 2006311471 W JP2006311471 W JP 2006311471W WO 2006134816 A1 WO2006134816 A1 WO 2006134816A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
unit
data
memory unit
transmission
Prior art date
Application number
PCT/JP2006/311471
Other languages
English (en)
French (fr)
Inventor
Arata Shinozaki
Mitsunori Kubo
Original Assignee
Olympus Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Corporation filed Critical Olympus Corporation
Priority to US11/922,112 priority Critical patent/US7962720B2/en
Priority to EP06747231A priority patent/EP1903451A4/en
Priority to CN200680021237.1A priority patent/CN101198950B/zh
Publication of WO2006134816A1 publication Critical patent/WO2006134816A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Definitions

  • the present invention relates to a distributed processing system, and more particularly to a distributed processing system, a distributed processing method, and a program for transmitting and receiving data between processing elements provided on different boards.
  • the configuration proposed in Document 1 shares one memory unit on the same substrate. According to this configuration, it is possible to efficiently transmit and receive data between a plurality of processors on the same board to some extent.
  • the present invention has been made in view of the above, and an object of the present invention is to provide a distributed processing system, a distributed processing method, and a program that can efficiently execute a plurality of processes at high speed. Disclosure of the invention
  • two or more processing elements each having at least a processing unit, a memory unit, and a communication unit are mutually connected.
  • the processing unit stores data in a predetermined area of the memory unit, or reads data stored in the predetermined area of the memory unit, and processes one of the processing elements.
  • the communication unit transmits a data read from the memory unit to the other processing element, or stores the data received from the other processing element in the memory unit ⁇ it can.
  • the communication unit has at least one of a transmission unit and a reception unit, and the reception unit of one processing 'element receives from the other processing' element '.
  • the processed data is directly stored in a specified area in the memory part of the element and processed on the other side.
  • the transmission unit of the element preferably transmits data stored in a predetermined area of the memory unit of one processing element to the other processing element.
  • the memory unit of one processing element and the memory unit of the other processing element are shared by the same memory unit.
  • the transmission unit is in a power saving state after transmitting data stored in the memory unit until receiving data reception completion.
  • MPI for transmission and reception of data and control information between two or more processing elements.
  • a distributed processing method for interconnecting two or more processing elements each having at least a processing unit, a memory unit, and a communication unit, wherein the processing unit is a memory unit Storing data in a predetermined area of the memory, or reading the data stored in the predetermined area of the memory part, and the communication part of one processing 'element' from the memory part to the other processing 'element
  • the distributed processing method can include a step of transmitting the read data or storing the data received from the other processing element in the memory unit.
  • the communication step further includes a reception step and a transmission step.
  • reception step one of the processing steps
  • the receiving section of the element stores the data received from the other processing 'element' directly in a predetermined area of the memory section of one processing 'element.
  • transmission step the transmitting section of one processing' element It is desirable to transmit the data stored in a predetermined area of the memory part of one processing element to the other processing element.
  • the communication step it is desirable that at least data is transmitted or received between two or more processing elements provided on different substrates.
  • the communication step it is desirable to transmit or receive at least data between two or more processing elements provided on the same substrate. .
  • the memory unit of one processing 'element and the memory unit of the other processing' element are used by the same memory unit.
  • one processing 'element includes a first processing unit, a first memory unit, and a first communication unit
  • the other processing' element includes a second processing unit
  • a first data storage step including a processing unit, a second memory unit, and a second communication unit, wherein the first processing unit stores data in a predetermined area of the first memory unit;
  • a data transmission step in which the first transmission unit transmits data stored in the memory unit to another processing element, and data received by the second reception unit of the other processing element is stored in the second memory. It is desirable to have a second data storage step in which data is directly stored in a predetermined area of the unit, and a data read step in which the second processing unit reads data stored in the second memory unit.
  • data is stored in the first memory unit.
  • the first processing unit transmits a data transmission start request to the second receiving unit, and the second receiving unit that receives the data transmission start request And transmitting the data stored in the first memory unit to the second receiving unit when the first transmission unit receiving the data transmission start response transmits the data transmission start response.
  • a second receiving unit that receives the data, a step of storing the received data in the second memory unit, and a second receiving unit that stores the data in the second memory unit.
  • the second processing unit that has read the data further transmits a data reception completion to the first transmission unit, and the first processing unit that has received the data reception completion. It is desirable that the transmission unit has a step of notifying the first processing unit of completion of data reception.
  • the first transmission unit transmits the data stored in the first memory unit until receiving the data reception completion. This is a state that does not affect the processing capability of one of the processor elements including the processing unit 1.
  • the second receiving unit does not transmit data until it receives data until it receives the data transmission start response. It is desirable that the processing capacity of the other processor element including the second processor is not affected.
  • MPI for transmission and reception of data and control information between two or more processing elements.
  • a program for a distributed processing system in which two or more processing elements each having at least a processing unit, a memory unit, and a communication unit are connected to each other.
  • the processing unit can read data into a predetermined area of the memory unit.
  • Store or read the data stored in a predetermined area of the memory part the communication part of one processing 'element' sends the data read from the memory part to the other processing element,
  • two or more processing elements each having at least a processing unit, a memory unit, and a communication unit are connected to each other.
  • the processing unit stores data in a predetermined area of the memory unit, or reads data stored in the predetermined area of the memory unit.
  • the communication unit of one processing element transmits the data read from the memory unit to the other processing element, or stores the data received from the other processing element in the memory unit.
  • the processing unit can execute other processes different from the data communication. For this reason, the processing unit does not interrupt its processing or reduce its processing capacity for data communication. As a result, the processing unit can always improve the operation rate. As a result, it is possible to provide a distributed processing system that can efficiently execute a plurality of processes at high speed.
  • FIG. 1 is a diagram showing a configuration of a processing element according to the first embodiment of the present invention
  • FIG. 2 is a diagram showing an outline of communication between a plurality of processing elements.
  • FIG. 3 is a diagram showing an outline of communication between two processing elements
  • FIG. 4 is a flowchart showing a procedure of the first processing unit of the first embodiment
  • FIG. 5 is a first flowchart of the first embodiment.
  • 6 is a flowchart showing the procedure of the second receiving unit of the first embodiment
  • FIG. 6 is a flowchart showing the procedure of the second receiving unit of the first embodiment.
  • 8 is a flowchart showing the procedure of the processing unit.
  • FIG. 9 is a timing chart of the distributed processing system of Example 1.
  • FIG. 9 is a timing chart of the distributed processing system of Example 1.
  • FIG. 9 is a diagram showing the configuration of the processing element of Example 2 of the present invention.
  • FIG. 10 is the configuration of the local memory map of Example 2.
  • FIG. 11 is a diagram showing the configuration of the MAIL-CONTROL of the second embodiment
  • FIG. 12 is a diagram showing the configuration of the command mailbox of the second embodiment.
  • Fig. 3 is a diagram showing details of the command of the second embodiment
  • Fig. 14 is a diagram showing an example of use of the command mailbox of the second embodiment
  • Fig. 15 is a first diagram of the second embodiment.
  • FIG. 16 is a flowchart showing the procedure of the first transmission unit of the second embodiment
  • FIG. 17 is the first flowchart of the second embodiment.
  • FIG. 18 is a flowchart showing the procedure of the second processing unit of the second embodiment.
  • Chiya is one preparative
  • 1 9 is a diagram showing a sequence of a distributed processing system of Example 2
  • 2 0 is a diagram showing a schematic configuration of a distributed processing system of the third embodiment.
  • FIG. 1 shows the schematic configuration of the processing 'element 1 0 0'.
  • the processing element 100 has a memory unit 1 0 1, a processing unit 1 0 2, a transmission unit 1 0 3, and a reception unit 1 0 4.
  • the transmission unit 1 0 3 and the reception unit 1 0 4 correspond to the communication unit.
  • the processing unit 1 0 2 processes the data.
  • the transmitting unit 103 transmits data to the receiving unit of the processing element on the other side that transmits the data.
  • the receiving unit 104 receives data from the transmitting unit of the processing element that has requested data transmission.
  • the memory unit 101 stores data to be transmitted or received and information for controlling communication (hereinafter referred to as “command” as appropriate).
  • a processing 'element 1 0 0 can send or receive data to or from another processing' element 2 0 0, processing 'element 3 0 0, or processing' element 5 0 0, respectively. it can.
  • Processing 'Elements 1 0 0, 2 0 0, 3 0 0, 4 0 0, 5 0 0, 6 0 0 are provided on the same substrate or on different substrates. Either ⁇ is acceptable.
  • the processing element 100 is provided on the substrate MB 1.
  • the process sync “element 200” is provided on another substrate MB2.
  • the first processing element 1 0 0 includes a first memory unit 1 0 1, a first processing unit 1 0 2, a first transmission unit 1 0 3, and a first reception unit 1 0 4 It is equipped with.
  • the second processing element 20 0 includes a second memory unit 2 0 1, a second processing unit 2 0 2, a second transmission unit 2 0 4, and a second reception unit 2 0. 3 and.
  • the first processing unit 102 stores data in a predetermined area of the first memory unit 101, or reads data stored in a predetermined area of the first memory unit 101 Do things.
  • the first receiver 1 0 4 of the first processing element 1 0 0 receives the data received from the other processing element 2 0 0 in one processing 'element 1 0 0
  • the first transmission unit 1 0 3 of the memory element 1 0 0 uses the data stored in a predetermined area of the first memory unit 1 0 1 of one processing element 1 1 0 0 and the other processing ⁇ Send to element 2 0 0
  • the first processing unit 1 0 2 and the first; ⁇ between the first processing unit 1 0 3 or the first processing unit 1 0 2 and the first reception Direct communication is not performed between parts 1 0 4.
  • FIG. 4 is a flowchart showing a processing procedure of the first processing unit 102. In step S 4 0 1, it is determined whether or not the first memory unit 100 1 can be used.
  • step S 4 0 2 When the determination result in step S 4 0 1 is true (YES), in step S 4 0 2, the first processing unit 1 0 2 processes the data, and the processing result is sent to the first memory unit 1 0 1 Stored in a predetermined area. If the judgment result is false (N O), repeat step S 4 0 1.
  • step S 4 0 2 it is determined whether or not the second memory unit 2 0 1 is usable.
  • the first processing unit 1 0 2 sets a first memory unit use flag and a second memory unit use flag. If the determination result is false, step S 4 0 3 is repeated.
  • step S 4 0 5 the first processing unit 1 0 2 sends a data transmission start request to the second receiving unit 2 0 3. Then, the process returns to step S 4 0 1 and the same processing procedure is performed again.
  • FIG. 5 is a flowchart showing a processing procedure of the first transmission unit 103.
  • step S 500 it is determined whether or not a data transmission start response has been received from second receiving section 20 03.
  • step S ' In 5 0 2 the first transmission unit 1 0 3 transmits the data stored in the first memory unit 1 0 1 to the second reception unit 2 0 3. If the judgment result is false, step S 5 0 1 is repeated.
  • step S500 the first memory unit use flag is cleared. As a result, the first memory unit 101 can be used.
  • step S 50 4 it is determined whether data reception completion has been received from the second processing unit.
  • step S 5 0 4 is repeated.
  • the second memory unit use flag is cleared in step S500.
  • the second memory unit 2 0 1 can be used. Then, the process returns to step S 5 0 1 and the same processing procedure is performed again.
  • FIG. 6 is a flowchart showing a processing procedure of the second transmission unit 20 3.
  • step S 6 01 it is determined whether a data transmission start request has been received from the first processing unit 102.
  • Step S 6 0 When the judgment result of 1 is true, Step S 6
  • step S 6 0 2 second receiving section 2 0 3 transmits a data transmission start response to first transmitting section 1 0 3.
  • step S 6 0 1 is repeated.
  • step S 6 0 3 second receiving section 2 0 3 receives the data.
  • the second receiving unit 203 stores the received data in a predetermined area of the second memory unit 201.
  • step S 6 0 4 the second processing unit 2 0 2 is notified that the data has been received.
  • FIG. 7 is a flowchart showing a processing procedure of the second processing unit 202.
  • step S 7 0 1 it is determined whether the second receiving unit 20 3 has notified the reception of data.
  • the second processing unit 2 0 2 is stored in a predetermined area of the second memory unit 2 0 1 at step S 7 0 2. Copy data to other areas, eg working memory.
  • step S 7 0 3 the first transmission unit 1 0 3 completes data reception. Send.
  • step S 704 the second processing unit 202 processes the copied data.
  • FIG. 6 is a timing chart showing the processing unit 202, the first memory unit use flag, and the second memory unit use flag.
  • H i g h the state in which the processing unit, the transmission unit, and the reception unit are executing processing
  • L o w the waiting state
  • the first processing unit 1 0 2 is in a high state except for the time when the first memory unit 1 0 1 and the second memory unit 2 0 1 are unavailable. That is, the process can be executed. For this reason, when data is transmitted from the processing 'element 1 0 0 to the processing element 2 0 0, processing interruptions can be greatly reduced by communication. As a result, the first processing unit 102 can be operated with high efficiency.
  • the first transmission unit 1 0 3 transmits data stored in the first memory unit 1 0 1 until it receives data reception completion. During this time, the power saving state is established.
  • a program for the hardware of the distributed processing system it is a program that can be read by a computer, and the first processing unit 1 0 2 stores data in a predetermined area of the first memory unit 1 0 1 Or reading data stored in a predetermined area of the first memory unit 1 0 1, the communication unit of one processing-element 2 0 0 (second receiving unit 2 0 3, 2nd The transmission unit 2 0 4) transmits the data read from the first memory unit 1 0 1 to the other processing element 1 0 0, or receives the data received from the other processing element 1 2 0 0 It is desirable to use a program characterized by causing the computer to function so as to be stored in the first memory unit 101.
  • the functions of the processing unit, transmission unit, and reception unit can be realized using a CPU, for example.
  • This distributed processing system can also be realized by having a computer read a program from an information storage medium.
  • Information storage media include, for example, flexible discs, CD-ROMs, magneto-optical discs, IC cards, ROM cartridges, printed matter printed with codes such as punch cards and bar codes, computer head storage devices (RAM and Various media that can be read by a computer, such as a memory such as a ROM and an external storage device, can be used.
  • the reading method of the program may be a contact method or a non-contact method.
  • the above-described functions can be realized by downloading a program from a host device or the like via a transmission path in order to realize the above-described functions.
  • the structure of the processing element 100 that performs the law is shown. The same parts as those in the first embodiment are denoted by the same reference numerals, and redundant description is omitted.
  • the first processing unit 102, the first transmission unit 103, and the first reception unit 104 are configured to transmit or receive data and commands to and from the first memory unit 101, respectively.
  • MP I (Me s s a ge Pa s s i ng I nt terf a c e) is used.
  • MP I is a message passing function specification established by MP I F o r u m.
  • MP I is created to unify the functions and interfaces of communication functions for the purpose of program portability and data communication between different models.
  • the command includes, for example, control information including data size and memory address necessary for data transfer and request notification, transmission source ID, transmission destination ID, communication start request, communication start response, etc. It is.
  • the communication of data and commands between the first processing unit 102 and the first transmission unit 103 or between the first processing unit 102 and the first reception unit 104 is performed by the first memory unit 101.
  • the first memory unit 101 is, for example, a verbal memory having a capacity of 256 KB.
  • the data structure for sending and receiving command data during communication is called “mailbox”.
  • mailboxes There are four types of mailboxes: command transmission (C SMB), command reception (CRMB), data transmission (DSMB), and data reception (DRMB).
  • C SMB command transmission
  • CRMB command reception
  • DSMB data transmission
  • DRMB data reception
  • a mail control data structure (MAIL-CONTROL) that controls the communication status of the mailbox is provided.
  • Mail control and mailbox are mapped to verbal memory as shown in Fig.10.
  • Figure 11 shows the structure of the mail control data structure (MAIL-CONTROL). Each content will be described below.
  • RMF 1 Receive mailbox full. Data reception mailbox status flag
  • TSKENB task enable
  • TSKCNT task count
  • RTCN1 receive task count
  • RNKP 1 receive response blending
  • SMF DSMB2 flag
  • RMF 2 DRMB2 flag
  • Figure 12 shows the structure of the command mailbox.
  • the structure of the command receiving mail bots and the command sending mailbox is the same.
  • Figure 13 shows the details of the commands stored in each word of the mailbox structure shown in Figure 12.
  • the data mailbox stores only the data to be transferred.
  • a data mailbox can be sized by an arbitrary multiple of 64 bytes by the user.
  • Fig. 14 shows a usage example of the command mailbox when the following communication conditions (1) to (6) are satisfied.
  • processing elements are abbreviated as “PE” where appropriate.
  • the received data is stored in the PE 7 local memory address 0 x 000208 00 to 640 bytes.
  • the data to be transmitted is stored in the PE 1 local memory address 0 X 000248 00 to 640 bytes.
  • FIG. 15 is a flowchart showing the processing procedure of the first processing unit 102.
  • step S1501 the SMF 1 flag for the data transmission mailbox and the transmission task count STCN 1 flag are cleared.
  • the data transmission start request information is set in the command transmission mailbox CSMB 1.
  • step S 1503 it is determined whether or not the SMF 1 flag is set. When the judgment result at step S 1503 is true, step S 1503 is repeated. When the determination result is false, in step S 1504, the first processing unit 102 processes the data and sends the processing result to the data transmission mailbox D. Store in S MB 1. Step SI 504 corresponds to the first data storage step.
  • step S 1505 it is determined whether or not the transmission task count STCN 1 flag is set. When the judgment result at step S 1505 is true, step S 1505 is repeated. If the determination result is false, in step S 1506, the SMF 1 flag for the data transmission mailbox and the transmission task count STCN 1 flag are set.
  • step S 1507 the first processing unit 102 issues a data language start request.
  • the command set in the command transmission mailbox CSMB 1 is transmitted to the second receiving unit 203 using the MP I—S END command.
  • FIG. 16 is a flowchart showing the processing procedure of the first transmission unit 103.
  • step S1601 it is determined whether or not a command is received by the MP I—RECV instruction. When the judgment result at step S 1603 is negative, step S 16 01 is repeated. When the determination result is true, in step S 1602, the received command is stored in the command receiving mailbox CRM B 1.
  • step S 1603 it is determined whether the received command is a data transmission start response power failure. When the judgment result at step S 1603 is negative, the process returns to step S 16 01.
  • step S 1604 first language unit 103 transmits data.
  • Step S 1604 corresponds to the data transmission step.
  • the data stored in the data transmission mailbox DSMB 1 is sent to the second receiving unit 203 using the MP I-S END command.
  • step S 1605 the SMF 1 flag of the data transmission mailbox is cleared.
  • step S 1606 it is determined whether or not a command is received by the MP I—RECV command. When the judgment result at step 1606 is negative, step S 1606 is repeated. When the judgment result is true, go to step S1607
  • the received command is stored in the command receiving mailbox CRMB1.
  • step S 1608 it is determined whether or not the received command is a data reception completion power. When the judgment result at step S 1608 is negative, the process returns to step S 1606. When the judgment result is true, in step S1609, the transmission task count STCN1 flag is cleared. Then, the process returns to step S1601.
  • FIG. 17 is a flowchart showing the processing procedure of the second receiving unit 203. In step S1701, it is determined whether or not a command is received by the MP I—RECV instruction. When the judgment result at step S 1 701 is negative, step S 1 7001 is repeated. When the determination result is true, in step S 1702, the received command is stored in the command receiving mailbox CRMB 1.
  • step S 1703 it is determined whether the received command is a data transmission start requesting power. When the judgment result at step S 1 703 is negative, the process returns to step S 1 700. If the judgment result is true, in step S 1704, the address and data length for data reception are set using the command information stored in the command reception mailbox CRMB1.
  • step S 1705 data transmission start response information is set in the command transmission mailbox C SMB 1.
  • step S 1706 the second reception unit 203 outputs a data transmission start response.
  • the command set in the command transmission mailbox CSMB 1 is transmitted to the first transmission unit 103 using the MP I—SEND instruction.
  • step S 1707 it is determined whether data is received by the MP I—RECV command. Step 1 If the judgment result in 707 is false, repeat step S 1 7 07. When the determination result is true, the received data is stored in the data receiving mailbox DRMB 1 in step S 1708. Step S 1 708 corresponds to the second data storage step. In step S 1 709, Set the RMF 1 flag of the mailbox for receiving data. Then, return to Step S 1701.
  • FIG. 18 is a flowchart showing the processing procedure of the second processing unit 202.
  • step S 1801 clear the RMF 1 flag in the data reception mailbox.
  • step S 1802 it is determined whether the R MF 1 flag of the data reception mailbox is set. When the judgment result at step S 1802 is negative, step S 1802 is repeated. When the determination result is true, in step S 1803, data reception completion information is set in the command transmission mailbox CSMB 2.
  • step S 1804 the received data is stored in the local memory work area.
  • step S 1805 the RMF 1 flag of the data receiving mailbox is cleared.
  • step S 1806 data reception completion is issued.
  • the second processing unit 202 transmits the command set in the command transmission mailbox CSMB 2 to the first language unit 103 using the MP I-SEND instruction.
  • step S 1.807 the second processing unit 202 performs arithmetic processing using the data stored in the work area.
  • sequence 1901 clear the SMF 1 flag and the STCN1 flag.
  • sequence 1 902 the data transmission start request information is set in the command transmission mail box CSMB1.
  • sequence 1903 When the SMF 1 flag is “1” in sequence 1903, it waits until the SMF 1 flag becomes “0”. In sequence 1904, the data processing result is stored in the data transmission mailbox DSMB1. In sequence 19 05, when the transmission task count STCN 1 flag is “1”, wait until the STC N1 flag becomes “0”. In sequence 1906, ST Set the CN 1 flag. In sequence 1 907, the SMF 1 flag is set. In sequence 1 908, the first processing unit 102 is
  • “Data transmission start request” is sent.
  • the first processing unit 102 uses the MP I—SEND (command transmission, CSMB 1) command to send a “data transmission start request”, which is a command set in the command transmission mailbox CSMB 1. Transmit to the second receiver 203.
  • sequence 1 909 the second receiving unit 203 receives a “data transmission start request” in response to an MP I—RECV (command reception, CRMB 1) command.
  • sequence 1 9 1 the address and data length for data reception are set from the information in the command reception mailbox.
  • sequence 1 9 1 set data transmission start response information in command transmission mailbox C SMB 1.
  • sequence 1 9 1 2 the second reception unit 203 transmits a “data transmission start response” to the first transmission unit 10 03 in response to an MP I—SEND (command transmission, CSMB 1) command.
  • the first transmission unit 103 receives the “data transmission start response” using the MP I_RECV (command reception, CRMB 1) command.
  • the first transmission unit 103 uses the MP I—SEND (data transmission, DSMB 1) command to transfer the data stored in the data transmission mailbox DSMB 1 to the second Transmit to the receiver 203.
  • sequence 1 9 1 5 clear the SMF 1 flag in the data transmission mailbox.
  • the second receiving unit 203 receives data according to the MP I—RECV (data reception, DRMB 1) command.
  • second receiving section 203 sets the RMF 1 flag of the data receiving mailbox.
  • the second processing unit 202 determines whether the RMF 1 flag of the data reception mailbox is set, that is, whether data has been received. Judging.
  • the RMF 1 flag of the data reception mailbox is cleared in advance in sequence 1900.
  • data reception completion information is set in the command transmission mailbox CSMB 2 in sequence 1 9 1 9.
  • sequence 1 920 the data stored in the data reception mailbox DRMB 1 is copied to the work area.
  • sequence 1 92 1 clear the RMF 1 flag in the data reception mailbox.
  • the second processing unit 202 transmits “data reception complete” in response to an MP I_S END (command transmission, C SMB 2) command. Further, in sequence 1 927, the second processing unit 202 starts processing received data. Then, in sequence 1 928, the second processing unit 202 ends the data processing.
  • sequence 1 923 the first transmission unit 103 receives “data reception complete” by the MP I—RECV (command reception, CRMB 1) command. Then, in sequence 1 924, the first transmission unit 103 clears the transmission task count TCN 1 flag.
  • the transmission task count STCN 1 flag is “0”.
  • the first processing unit 102 waits until the STCN 1 flag becomes “0” when the transmission task power STCN 1 flag is “1” at the end of data processing.
  • the first transmission unit 103 is one processor from the time when the data stored in the first memory unit 101 is transmitted until the completion of data reception is received. 'The state does not affect the processing capacity of element 100.
  • the second reception unit 203 transmits the data transmission start response until the data is received until the other processor is received.
  • FIG. 20 shows a schematic configuration of the distributed processing system 700.
  • a first processing unit 70 2 and a second processing unit 70 3 are provided in the same substrate MB 3.
  • the first processing unit 70 2 and the second processing unit 70 3 share the mail pox 7 01.
  • the memory unit of the first processing unit 70 2 (processing 'element) and the memory unit of the second processing unit (the other processing element) have the same memory unit. .
  • the first processing unit 70 2 stores data in the mailbox 7 0 1.
  • the first processing unit 70 2 sets a flag in the mail pox 7 0 1.
  • the second processing unit 70 3 detects the set flag.
  • the second processing unit 70 3 accesses the data stored in the mailbox 7 0 1.
  • communication can be performed without transmitting / receiving the data entity between the first processing unit 70 2 and the second processing unit 70 3.
  • multiple processes can be executed efficiently at high speed.
  • the processing speed can be increased in all the following cases.
  • the distributed processing system according to the present invention is useful for a system that executes a plurality of processes at high speed, and is particularly suitable for a system that communicates data between different substrates.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Computer And Data Communications (AREA)

Description

明細書 分散処理システム、 分散処理方法及びプログラム '技術分野
本発明は、 分散処理システム、 特に、 それぞれ異なる基板に設けられている プロセッシング ·エレメン卜間においてデータの送信、 受信を行う分散処理シ ステム、 分散処理方法、 及びそのプログラムに関するものである。 背景技術
複数のプロセッサが協調して処理を進める種々の分散処理システムが知られ ている。 ここで、 最も簡単な構成例として、 従来から、 同一の基板、 例えば同 一のマザ一ボード内に設けられてレヽる複数のプ口セッサ間におけるデータの送 信及び受信の構成が提案されている (例えば、 以下の文献 1参照)。
(文献 1) マシュー, ェヌ., ストーンズ, アール (Ma t t h ew, N.,
S t o n e s, R.)著、 「 L i n u xプログラミング(B e g i n n i n g L i n u x P r o g r amm i n g)」、 (米国)、 改定第 2版、 ワイリー パブ リツシング (Wi l e y P u b 1 i s h i n g)、 2003年、 p. 615— 623
文献 1に提案された構成では、 同一の基板内において、 1つのメモリ部を共 有している。 本構成によれば、 同一基板内の複数のプロセッサ間においては、 ある程度までは効率的にデータの送信及び受信を行うことができる。
複数のプログラムが同時に立ち上がつている状態、 即ち、 複数のプロセスが 実行されている状態では、 複数のプロセスを走らせるタイミング、 及びデータ の送信または受信のタイミングを最適化することが重要となる。 従来技術のよ うに、 同一の基板内においては、 複数のプロセスの演算処理のある程度の高速 化を図ることができる。
しかしながら、 例えば地球規模の気象シミュレーションのように、 さらなる 高速化のために、 異なる基板をまたレ、で複数のプロセスを効率的に実行するこ とが望まれている。このとき、複数の処理部が、同一の機能を有している場合、 · 及びそれぞれ異なる機能を有している:^がある。 そして、 いずれの場合も複 数の処理部がデータの送信または受信、 即ちデータ通信のために、 その処理能 力を十分に発揮していないことが多い。 このため、 同一の基板内、 及び異なる 基板間において複数の処理部による複数のプロセスの実行の高速化を図ること は困難である。
本発明は、 上記に鑑みてなされたものであって、 複数のプロセスを高速に効 率良く実行できる分散処理システム、 分散処理方法及びプログラムを提供する ことを目的とする。 発明の開示
上述した課題を解決し、 目的を達成するために、 第 1の本発明によれば、 そ れぞれ少なくとも処理部とメモリ部と通信部とを有する 2つ以上のプロセッシ ング 'エレメン卜が相互に接続された分散処理システムであって、 処理部は、 メモリ部の所定の領域へデータを格納し、 またはメモリ部の所定の領域に格納 されているデータを読み出し、一方のプロセッシング 'エレメン卜の通信部は、 他方のプロセッシング ·エレメントに対してメモリ部から読み出したデータを 送信し、 または他方のプロセッシング 'エレメン卜から受信したデータをメモ リ部へ格納することを特徴とする分散処理システムを ^できる。
また、 本発明の好ましい態様によれば、 通信部は、 送信部と受信部との少な くともいずれか一方を有し、 一方のプロセッシング 'エレメントの受信部は、 他方のプロセッシング 'エレメン卜から受信したデータを一方のプロセッシン グ.エレメン卜のメモリ部の所定の領域へ直接格納し、一方のプロセッシング. エレメン卜の送信部は、 一方のプロセッシング ·エレメン卜のメモリ部の所定 の領域に格納されているデータを、 他方のプロセッシング ·エレメントへ送信 することが望ましい。
また、 本発明の好ましい態様によれば、 2つ以上のプロセッシング 'エレメ ントは、 それぞれ異なる基板に設けられていることが望ましい。
また、 本発明の好ましい態様によれば、 2つ以上のプロセッシング 'エレメ ントは、 それぞれ同一の基板に設けられていることが望ましい。
また、 本発明の好ましい態様によれば、 一方のプロセッシング 'エレメント のメモリ部と、 他方のプロセッシング ·エレメントのメモリ部とは、 同一のメ モリ部が兼用することが望ましい。
また、 本発明の好ましい態様によれば、 送信部は、 メモリ部に格納されてい るデータを送信してから、 データの受信完了を受信するまでの間は省電力状態 となることが望ましい。
また、 本発明の好ましい態様によれば、 2つ以上のプロセッシング 'エレメ ント間のデータと制御情報との送信及び受信において M P Iを用いることが望 ましい。
また、 第 2の本発明によれば、 それぞれ少なくとも処理部とメモリ部と通信 部とを有する 2つ以上のプロセッシング 'エレメントを相互に接続する分散処 理方法であって、 処理部が、 メモリ部の所定の領域へデータを格納し、 または メモリ部の所定の領域に格納されているデータを読み出すステップと、 一方の プロセッシング 'エレメン卜の通信部が、 他方のプロセッシング 'エレメント に対してメモリ部から読み出したデータを送信し、 または他方のプロセッシン グ ·ェレメン卜から受信したデータをメモリ部へ格納するステップとを有する 分散処理方法を提供できる。
また、 本発明の好ましい態様によれば、 通信ステップは、 さらに受信ステツ プと送信ステップとを有し、 受信ステップにおいて、 一方のプロセッシング' エレメン卜の受信部は、 他方のプロセッシング ' エレメン卜から受信したデ一 タを一方のプロセッシング 'エレメントのメモリ部の所定の領域へ直接格納し、 送信ステップにおいて、 一方のプロセッシング 'エレメントの送信部は、 一方 のプロセッシング ' エレメン卜のメモリ部の所定の領域に格納されているデ一 タを、 他方のプロセッシング 'エレメントへ送信することが望ましい。
また、 本発明の好ましい態様によれば、 通信ステップでは、 それぞれ異なる 基板に設けられている 2つ以上のプロセッシング ·エレメント間において少な くともデータの送信または受信を行うことが望ましい。
また、 本発明の好ましい態様によれば、 通信ステップでは、 それぞれ同一の 基板に設けられている 2つ以上のプロセッシング 'エレメント間におレ、て少な くともデータの送信または受信を行うことが望ましい。
また、 本発明の好ましい態様によれば、 一方のプロセッシング 'エレメント のメモリ部と、 他方のプロセッシング 'エレメントのメモリ部とは、 同一のメ モリ部が兼用すること
が望ましい。
また、 本発明の好ましい態様によれば、 一方のプロセッシング 'エレメント は、 第 1の処理部と第 1のメモリ部と第 1の通信部とを含み、 他方のプロセッ シング 'エレメントは、 第 2の処理部と第 2のメモリ部と第 2の通信部とを含 み、 第 1の処理部がデータを第 1のメモリ部の所定の領域に格納する第 1デー タ格納ステップと、 第 1のメモリ部に格納されているデータを第 1の送信部が 他のプロセッシング ' エレメン卜へ送信するデータ送信ステップと、 他のプロ セッシング · エレメントの第 2の受信部が受信したデータを第 2のメモリ部の 所定の領域へ直接格納する第 2データ格納ステップと、 第 2の処理部が第 2の メモリ部に格納されているデータを読み出すデータ読み出しステップとを有す ることが望ましい。
また、 本発明の好ましい態様によれば、 第 1のメモリ部にデータを格納した 第 1の処理部が、 第 2の受信部に対してデータの送信開始要求を送信するステ ップと、 データの送信開始要求を受信した第 2の受信部が、 第 1の送信部に対 してデータの送信開始応答を送信するステップと、 データの送信開始応答を受 信した第 1の送信部が、 第 2の受信部に対して第 1のメモリ部に格納されてい るデータを送信するステップと、 データを受信した第 2の受信部が、 受信した データを第 2のメモリ部に格納するステップと、 データを第 2のメモリ部に格 納した第 2の受信部が、 第 2の処理部に対してデータの受信を通知するステツ プと、 データの受信通知を受け取った第 2の処理部が、 第 2のメモリ部に格納 されているデータを読み出すステップと、 を有することが望ましい。
また、 本発明の好ましい態様によれば、 さらに、 データを読み出した第 2の 処理部が、 第 1の送信部へデータの受信完了を送信するステップと、 データの 受信完了を受信した第 1の送信部が、 データの受信完了を第 1の処理部に通知 するステップと、 を有することが望ましい。
また、 本発明の好ましい態様によれば、 さらに、 第 1の送信部は、 第 1のメ モリ部に格納されているデータを送信してから、 データの受信完了を受信する までの間は第 1の処理部を含む一方のプロセッサ ·エレメントの処理能力に影 響を与えない状態であり、 第 2の受信部は、 データの送信開始応答を送信して から、 データを受信するまでの間は第 2の処理部を含む他方のプロセッサ ·ェ レメン卜の処理能力に影響を与えない状態であることが望ましい。
また、 本発明の好ましい態様によれば、 2つ以上のプロセッシング 'エレメ ント間のデータと制御情報との送信及び受信において M P Iを用いることが望 ましい。
また、 第 3の本発明の好ましい態様によれば、 それぞれ少なくとも処理部と メモリ部と通信部とを有する 2つ以上のプロセッシング 'エレメントが相互に 接続された分散処理システム用のプログラムであり、 コンピュータにより読み 取り可能なプログラムであって、 処理部は、 メモリ部の所定の領域へデータを 格納し、 またはメモリ部の所定の領域に格納されているデータを読み出し、 一 方のプロセッシング 'エレメン卜の通信部は、 他方のプロセッシング ·エレメ ントに対してメモリ部から読み出したデータを送信し、 または他方のプロセッ シング .エレメントから受信したデータをメモリ部へ格納するようにコンビュ · —タを機能させることを特徴とするプログラムを提供できる。
本発明に係る分散処理システムは、 それぞれ少なくとも処理部とメモリ部と 通信部とを有する 2つ以上のプロセッシング ·エレメントが相互に接続されて いる。 処理部は、 メモリ部の所定の領域へデータを格納し、 またはメモリ部の 所定の領域に格納されているデータを読み出す。 一方のプロセッシング ·エレ メントの通信部は、 他方のプロセッシング 'エレメントに対してメモリ部から 読み出したデータを送信し、 または他方のプロセッシング ·エレメントから受 信したデータをメモリ部へ格納する。 これにより、 通信部が、 データの送信ま たは受信を行っている間、 処理部は、 データ通信とは異なる他の処理を実行で きる。 このため、 処理部は、 データの通信のために、 自らの処理を中断するこ と、 または処理能力を低減することがない。 これにより、 処理部は、 常に稼働 率を向上することができる。 この結果、 複数のプロセスを高速に効率良く実 できる分散処理システムを提供できる。 図面の簡単な説明 +
図 1は、 本発明の実施例 1のプロセッシング ·エレメントの構成を示す図で あり、 図 2は、 複数のプロセッシング.エレメント間の通信の概要を示す図で ある。 図 3は、 2つのプロセッシング ·エレメント間の通信の概要を示す図で あり、 図 4は、 実施例 1の第 1の処理部の手順を示すフローチャートであり、 図 5は、実施例 1の第 1の送信部の手順を示すフローチヤ一トであり、図 6は、 実施例 1の第 2の受信部の手順を示すフロ一チヤ一卜であり、 図 7は、 実施例 1の第 2の処理部の手順を示すフローチャートであり、 図 8 Α〜図 8 Fは、 実 施例 1の分散処理システムのタイミングチャートであり、 図 9は、 本発明の実 施例 2のプロセッシング ·エレメントの構成を示す図であり、 図 1 0は、 実施 例 2のローカルメモリマップの構成を示す図であり、 図 1 1は、 実施例 2の M A I L— C O N T R O Lの構成を示す図であり、 図 1 2は、 実施例 2のコマン ド用メールボックスの構成を示す図であり、 図 1 3は、 実施例 2のコマンドの 詳細を示す図であり、 図 1 4は、 実施例 2のコマンド用メールボックスの使用 例を示す図であり、 図 1 5は、 実施例 2の第 1の処理部の手順を示すフ口一チ ャ一トであり、 図 1 6は、 実施例 2の第 1の送信部の手順を示すフローチヤ一 卜であり、 図 1 7は、 実施例 2の第 2の受信部の手順を示すフローチャートで あり、図 1 8は、実施例 2の第 2の処理部の手順を示すフローチヤ一トであり、 図 1 9は、 実施例 2の分散処理システムのシーケンスを示す図であり、 図 2 0 は、 実施例 3の分散処理システムの概略構成を示す図である。 発明を実施するための最良の形態
以下に、 本発明に係る分散処理システム、 分散処理方法及びプログラムにつ いて説明する。なお、この実施例により、この発明が限定されるものではなレ、。
(実施例 1 )
本発明の実施例 1に係る分散処理システムについて説明する。 図 1は、 プロ セッシング 'エレメント 1 0 0の概略構成を示す。 プロセッシング 'エレメン ト 1 0 0は、 メモリ部 1 0 1と、 処理部 1 0 2と、 送信部 1 0 3と、 受信部 1 0 4を有している。 送信部 1 0 3と受信部 1 0 4とで、 通信部に対応する。 処理部 1 0 2は、 データを処理する。 送信部 1 0 3は、 データを送信する相 手側のプロセッシング ·エレメン卜の受信部に対してデータを送信する。 受信 部 1 0 4は、 データ送信を要求してきたプロセッシング ·エレメントの送信部 からのデータを受信する。 また、 メモリ部 1 0 1は、 送信または受信するデー タ、 及び通信を制御する情報 (以下、 適宜 「コマンド」 という。) を格納する。 図 2は、 2つ以上、 例えば 6つのプロセッシング 'エレメント 1 0 0、 2 0 0、 3 0 0、 4 0 0、 5 0 0、 6 0 0を備えている分散処理システムを示す。 例えば、 プロセッシング 'エレメント 1 0 0は、 他のプロセッシング 'エレメ ント 2 0 0、 プロセッシング 'エレメント 3 0 0、 またはプロセッシング 'ェ レメント 5 0 0との間において、 それぞれデータの送信または受信を行うこと ができる。
プロセッシング 'エレメント 1 0 0、 2 0 0、 3 0 0、 4 0 0、 5 0 0、 6 0 0は、 それぞれ同一の基板内に設けられている場合、 及び異なる基板内に設 けられている^^のいずれでも良い。
理解の簡単のため、 2つのプロセッシング 'エレメント 1 0 0、 2 0 0の間 におけるデータの通信を考える。 図 3を用いて、 プロセッシング 'エレメント 1 0 0からプロセッシング 'エレメント 2 0 0へのデータの送信について説明 する。 ここで、 プロセッシング ·エレメント 1 0 0は、 基板 MB 1に設けられ ている。 また、 プロセッシンク " ·エレメント 2 0 0は、 他の基板 MB 2に設け られている。
第 1のプロセッシング ·エレメント 1 0 0は、 第 1のメモリ部 1 0 1と、 第 1の処理部 1 0 2と、 第 1の送信部 1 0 3と、 第 1の受信部 1 0 4とを備えて いる。 また、 第 2のプロセッシング ·エレメント 2 0 0は、 第 2のメモリ部 2 0 1と、 第 2の処理部 2 0 2と、 第 2の送信部 2 0 4と、 第 2の受信部 2 0 3 とを備えている。
第 1の処理部 1 0 2は、 第 1のメモリ部 1 0 1の所定の領域へデータを格納 すること、 または第 1のメモリ部 1 0 1の所定の領域に格納されているデータ を読み出すことを行う。 第 1のプロセッシング ·エレメント 1 0 0の第 1の受 信部 1 0 4は、 他方のプロセッシング ·エレメント 2 0 0から受信したデータ を一方のプロセッシング 'エレメント 1 0 0
の第 1のメモリ部 1 0 1の所定の領域へ直接格納する。 さらに、 一方のプロセ ッシング.ェレメント 1 0 0の第 1の送信部 1 0 3は、一方のプロセッシング' エレメント 1 0 0の第 1のメモリ部 1 0 1の所定の領域に格納されているデー タを、 他方のプロセッシング ·エレメント 2 0 0へ送信する。 このように、 プ ロセッシング 'エレメント 1 0 0において、 第 1の処理部 1 0 2と第 1の;^言 部 1 0 3との間、 または第 1の処理部 1 0 2と第 1の受信部 1 0 4の間では、 直接通信を行なわない。
なお、 プロセッシング 'エレメント 1 0 0からプロセッシング 'エレメント 2 0 0へデータを送信するとき、 第 1の受信部 1 0 4と第 2の送信部 2 0 4は 用いない。 以下、 フローチャートを用いて第 1の処理部 1 0 2、 第 1の送信部 1 0 3、 第 2の受信部 2 0 3、 第 2の処理部 2 0 2のそれぞれの大まかな処理 手順を説明する。また、さらに詳細な処理手順は、実施例 2において後述する。 図 4は、 第 1の処理部 1 0 2の処理手順を示すフローチャートである。 ステ ップ S 4 0 1において、第 1のメモリ部 1 0 1は使用可能か否かが判断される。 ステップ S 4 0 1の判断結果が真 (Y E S ) のとき、 ステップ S 4 0 2におい て、 第 1の処理部 1 0 2は、 データを処理し、 処理結果を第 1のメモリ部 1 0 1の所定の領域へ格納する。 判断結果が偽 (N O) のとき、 ステップ S 4 0 1 を繰り返す。
ステップ S 4 0 2において、 第 2のメモリ部 2 0 1は使用可能か否かが判断 される。 ステップ S 4 0 2の判断結果が真のとき、 第 1の処理部 1 0 2は、 第 1のメモリ部使用フラグと第 2のメモリ部使用フラグとをセットする。 また、 判断結果が偽のとき、 ステップ S 4 0 3を繰り返す。 ステップ S 4 0 5におい て、 第 1の処理部 1 0 2はデータ送信開始要求を第 2の受信部 2 0 3へ送る。 そして、 ステップ S 4 0 1へ戻って再び同様の処理手順を行なう。
図 5は、 第 1の送信部 1 0 3の処理手順を示すフローチャートである。 ステ ップ S 5 0 1において、 第 2の受信部 2 0 3からデータ送信開始応答を受信し たか否かが判断される。 ステップ S 5 0 1の判断結果が真のとき、 ステップ S' 5 0 2において、 第 1の送信部 1 0 3は、 第 1のメモリ部 1 0 1に格納されて レ、るデータを第 2の受信部 2 0 3へ送信する。 また、 判断結果が偽のとき、 ス テツプ S 5 0 1を繰り返す。
ステップ S 5 0 3において、 第 1のメモリ部使用フラグをクリアする。 これ により、第 1のメモリ部 1 0 1は使用可能となる。ステップ S 5 0 4において、 第 2の処理部からデータ受信完了を受信したか否かが判断される。 ステップ S
5 0 4の判断結果が偽のとき、 ステップ S 5 0 4を繰り返す。 判断結果が真の とき、 ステップ S 5 0 5において、 第 2のメモリ部使用フラグをクリアする。 これにより、 第 2のメモリ部 2 0 1は使用可能となる。 そして、 ステップ S 5 0 1へ戻って再び同様の処理手順を行なう。
図 6は、 第 2の送信部 2 0 3の処理手順を示すフローチャートである。 ステ ップ S 6 0 1において、 第 1の処理部 1 0 2からデータ送信開始要求を受信し たか否かが判断される。 ステップ S 6 0 1の判断結果が真のとき、 ステップ S
6 0 2において、 第 2の受信部 2 0 3は、 データ送信開始応答を第 1の送信部 1 0 3に送信する。 判断結果が偽のとき、 ステップ S 6 0 1を繰り返す。 ステップ S 6 0 3において、 第 2の受信部 2 0 3は、 データを受信する。 そ して、 第 2の受信部 2 0 3は、 受信したデータを第 2のメモリ部 2 0 1の所定 の領域に格納する。 ステップ S 6 0 4において、 第 2の処理部 2 0 2に対して デ一タを受信したことを通知する。
図 7は、 第 2の処理部 2 0 2の処理手順を示すフローチャートである。 ステ ップ S 7 0 1において、 第 2の受信部 2 0 3がデータ受信を知らせてきた力 かが判断される。 ステップ S 7 0 1の判断結果が真のき、 ステップ S 7 0 2に おいて、 第 2の処理部 2 0 2は、 第 2のメモリ部 2 0 1の所定の領域に格納さ れているデータを他の領域、 例えばワーキングメモリにコピーする。 判断結果 が偽のとき、 ステップ S 7 0 1を繰り返す。
ステップ S 7 0 3において、 第 1の送信部 1 0 3に対してデータ受信完了を 送信する。 ステップ S 7 0 4において、 第 2の処理部 2 0 2は、 コピーしたデ ータを処理する。
図 8 A、 8 B、 8 C、 8 D、 8 E、 8 Fは、 それぞれ第 1の処理部 1 0 2、 第 1の送信部 1 0 3、 第 2の受信部 2 0 3、 第 2の処理部 2 0 2、 第 1のメモ リ部使用フラグ、第 2のメモリ部使用フラグを示すタイミングチャートである。 タイミングチャートにおいて、 処理部、 送信部、 受信部が処理を実行している 状態を H i g h、 待機している状態を L o wでそれぞれ示す。
図 8 Aから明らかなように、 第 1の処理部 1 0 2は、 第 1のメモリ部 1 0 1 と第 2のメモリ部 2 0 1とが使用不可の時間を除いて H i g hの状態、 即ち処 理を実行できる状態となる。 このため、 プロセッシング 'エレメント 1 0 0か らプロセッシング ·エレメント 2 0 0へデータを送信するとき、 通信により処 理の中断を大幅に低減できる。 この結果、 第 1の処理部 1 0 2を高効率に稼動 させることができる。
また、 図 8 Bから明らかなように、 第 1の送信部 1 0 3は、 第 1のメモリ部 1 0 1に格納されているデータを送信してから、 データの受信完了を受信する までの間は省電力状態となる。
また、 分散処理システムのハ一ドウウェアのためのプログラムとして、 コン ピュータにより読み取り可能なプログラムであって、 第 1の処理部 1 0 2は、 第 1のメモリ部 1 0 1の所定の領域へデータを格納し、 または第 1のメモリ部 1 0 1の所定の領域に格納されているデータを読み出し、 一方のプロセッシン グ-エレメント 2 0 0の通信部 (第 2の受信部 2 0 3、 第 2の送信部 2 0 4 ) は、 他方のプロセッシング ·エレメント 1 0 0に対して第 1のメモリ部 1 0 1 から読み出したデータを送信し、 または他方のプロセッシング 'エレメント 2 0 0から受信したデータを第 1のメモリ部 1 0 1へ格納するようにコンビユー タを機能させることを特徴とするプログラムを用いることが望ましい。
処理部、 送信部、 受信部の機能は、 例えば、 C P Uを用いて実現できる。 な お、 本分散処理システムは、 情報記憶媒体からコンピュータにプログラムを読 み取らせて実現することも可能である。
また、 情報記憶媒体としては、 例えば、 フレキシブルディスク、 CD— RO M、 光磁気ディスク、 I Cカード、 ROMカートリッジ、 パンチカードやバー コード等の符号が印刷された印刷物、 コンピュータの內部記憶装置 (RAMや ROM等のメモリ) 及び外部記憶装置等、 コンピュータによって読み取ること ができる種々の媒体を用いることができる。 そのプログラムの読み取り方式は 接触方式であっても、 非接触方式であっても良い。
さらに、 情報記憶媒体に代えて、 上述した各機能を実現するために、 プログ ラムを伝送路を介してホスト装置等からダウンロードすることによって上述し た各機能を実現することも可能である。
(実施例 2)
次に、 本発明の実施例 2に係る分散処理方法について説明する。 図 9は、 本 分散処理方
法を行なうプロセッシング ·エレメント 100の構成を示す。 上記実施例 1と 同一の部分には同一の符号を付し、 重複する説明は省略する。 第 1の処理部 1 02、 第 1の送信部 103、 第 1の受信部 104は、 それぞれ第 1のメモリ部 101とデータ及びコマンドを送信または受信できるように構成されている。 本実施例では、 MP I (Me s s a g e Pa s s i n g I n t e r f a c e) を用いる。 MP Iは、 MP I F o r u mにより制定されたメッセージ パッシング関数仕様である。 MP Iは、 プログラムの移植性及び異機種間のデ ータ通信を目的として、 通信関数の機能やインターフェースを統一するために 作成されている。
また、通信には、大別してコマンド転送とデータ転送とがある。コマンドは、 例えばデータの転送や要求の通知等に必要なデータサイズやメモリアドレス、 送信元の I D、 送信先の I D、 通信開始要求、 通信開始応答等を含む制御情報 である。 そして、 第 1の処理部 102と第 1の送信部 103との間、 または第 1の処理部 102と第1の受信部104との間のデータ、 コマンドの通信は、 第 1のメモリ部 101を介して行なう。 第 1のメモリ部 101は、 例えば容量 が 256 KBの口一カルメモリである。
以下、 通信時にコマンドゃデータを格納して送受信を行うためのデータ構造 を「メールボックス」という。メールボックスには、コマンド送信用(C SMB)、 コマンド受信用 (CRMB)、 データ送信用 (DSMB)、 データ受信用 (DRMB) の 4種類がある。 そして、 メールボックスの通信状態を制御するメールコント ロールデータ構造 (MA I L— CONTROL) を設ける。 メールコントロール とメールボックスとは、 口一カルメモリに図 10のようにマッピングする。 また、図 1 1は、メールコントロールデータ構造 (MA I L— CONTROL) の構造を示す。 各内容を以下に説明する。
8 : STCN1 :送信タスクカウント
(0 :通信が何も行われていない状態、 1 :データ通信中) 16 : SMF 1 :送信メールボックスフノレ。 データ送信用メールボックスの状 態フラグ
(0 :ェンプティ、 1 : フル)
24 : RMF 1 :受信メールボックスフル。 データ受信用メールボックスの状 態フラグ
(0 :ェンプティ、 1 : フル)
なお、図 1 1におレ、て斜線を付して示したタスクイネーブル( T S K E N B )、 タスク回数 (TSKCNT)、 受信タスクカウント (RTCN1)、 受信応答べ ンデイング (RAKP 1)、 DSMB2用フラグ (SMF 2)、 DRMB2用フ ラグ (RMF 2) は使用しない。
図 12は、 コマンド用メールボックスの構造を示す。 なお、 コマンド受信用 メ一ルボッタスとコマンド送信用メールボックスとの構造は共通である。また、 図 13は、 図 12に示したメールボックス構造の各ワードに格納するコマンド の詳細を示す。 データ用メールボックスは転送するデータだけを格納する。 例 えば、 データ用メールボックスは、 ユーザによって 64バイ 卜の任意倍数のサ ィズをとることができる。
次に、 以下の通信条件 (1) 〜 (6) を満足するときのコマンド用メールボ ックスの使用例を図 14に示す。なお、プロセッシング ·ェレメントを適宜「P E」 と省略する。
通信条件:
(1) PE 1 (送信側)から PE 7(¾信側)に対して通信を行う。
(2) データ量は 10パケッ ト (640バイト)
(3) タスクカテゴリと内容はデータ送信開始要求
(4) 受信したデータは PE 7のローカルメモリのァドレス 0 x 000208 00から 640バイ 卜の領域に格納する。
(5) 送信するデータは PE 1のローカルメモリのァドレス 0 X 000248 00から 640バイ トの領域に格納してある。
(6) 転送は繰り返さない (分割して転送せず、 全データを一回で送信する)。 次に、 図 15、 図 16、 図 1 7、 図 18に基づいて本実施例における処理手順 を説明する。 図 15は、 第 1の処理部 102の処理手順を示すフローチャート である。 ステップ S 1501において、 データ送信メールボックス用の SMF 1フラグと、 送信タスクカウント STCN 1フラグとをクリアする。 ステップ
S 1502において、 コマンド送信用メールボックス CSMB 1にデータ 言 開始要求の情報を設定する。
ステップ S 1503において、 SMF 1フラグがセッ卜されているか否かが 判断される。 ステップ S 1503の判断結果が真のとき、 ステップ S 1503 を繰り返す。 判断結果が偽のとき、 ステップ S 1504において、 第 1の処理 部 102は、 データの処理を行い、 処理結果をデータ送信用メールボックス D S MB 1に格納する。 ステップ S I 504は、 第 1データ格納ステップに対応 する。
ステップ S 1505において、 送信タスクカウント STCN 1フラグがセッ 卜されている力否かが判断される。ステップ S 1505の判断結果が真のとき、 ステップ S 1505を繰り返す。 判断結果が偽のとき、 ステップ S 1506に おいて、 データ送信メールボックス用の SMF 1フラグと送信タスクカウント STCN 1フラグとをセットする。
そして、 ステップ S 1507において、 第 1の処理部 102は、 データ 言 開始要求を出す。 このために、 コマンド送信用メールボックス CSMB 1に設 定したコマンドを MP I—S END命令を使って第 2の受信部 203へ送信す る。
図 16は、 第 1の送信部 103の処理手順を示すフローチャートである。 ス テツプ S 1601において、 MP I— RECV命令でコマンドを受信したか否 力が判断される。 ステップ S 1603の判断結果が偽のとき、 ステップ S 16 01を繰り返す。 判断結果が真のとき、 ステップ S 1602において、 受信し たコマンドをコマンド受信用メールボックス CRM B 1に格納する。
ステップ S 1603において、 受信したコマンドがデータ送信開始応答力否 力、が判断される。 ステップ S 1603の判断結果が偽のとき、 ステップ S 16 01へ戻る。 判断結果が真のとき、 ステップ S 1604において、 第 1の 言 部 103は、 データを送信する。 ステップ S 1604は、 データ送信ステップ に対応する。 このために、 データ送信用メールボックス DSMB 1に格納され ているデータを MP I—S END命令を使用して第 2の受信部 203へ送る。 ステップ S 1605において、 データ送信用メールボックスの SMF 1フラ グをクリアする。 ステップ S 1606において、 MP I— RECV命令でコマ ンドを受信したか否かが判断される。ステップ 1606の判断結果が偽のとき、 ステップ S 1606を繰り返す。 判断結果が真のとき、 ステップ S 1607に おいて、 受信したコマンドをコマンド受信用メールボックス CRMB 1に格納 する。
ステップ S 1608において、 受信したコマンドがデータ受信完了力否かが 判断される。 ステップ S 1608の判断結果が偽のとき、 ステップ S 1606 へ戻る。 判断結果が真のとき、 ステップ S 1609において、 送信タスクカウ ント STCN1フラグをクリアする。 そして、 ステップ S 1601に戻る。 図 1 7は、 第 2の受信部 203の処理手順を示すフローチャートである。 ス テツプ S 1701において、 MP I— RECV命令でコマンドを受信したか否 力、が判断される。 ステップ S 1 701の判断結果が偽のとき、 ステップ S 1 7 01を繰り返す。 判断結果が真のとき、 ステップ S 1702において、 受信し たコマンドをコマンド受信用メールボックス CRMB 1に格納する。
ステップ S 1703において、 受信したコマンドがデータ送信開始要求力 かが判断される。 ステップ S 1 703の判断結果が偽のとき、 ステップ S 1 7 01へ戻る。 判断結果が真のとき、 ステップ S 1704において、 コマンド受 信用メールボックス CRMB 1に格納したコマンドの情報を使ってデータ受信 のためのァドレスやデータ長を設定する。
ステップ S 1705において、 コマンド送信用メールボックス C SMB 1に データ送信開始応答の情報を設定する。 ステップ S 1706において、 第 2の 受信部 203は、 データ送信開始応答を出力する。 このために、 コマンド送信 用メールボックス CSMB 1に設定したコマンドを MP I— SEND命令を使 つて第 1の送信部 103に送信する。
ステップ S 1707において、 MP I— RECV命令でデータを受信したか 否かが判断される。 ステップ 1 707の判断結果が偽のとき、 ステップ S 1 7 07を繰り返す。 判断結果が真のとき、 ステップ S 1 708において、 受信し たデータをデータ受信用メールボックス DRMB 1に格納する。 ステップ S 1 708は、第 2データ格納ステップに対応する。ステップ S 1 709において、 データ受信用メールボックスの RMF 1フラグをセットする。 そして、 ステツ プ S 1701に戻る。
図 18は、 第 2の処理部 202の処理手順を示すフローチャートである。 ス テツプ S 1801において、 データ受信用メールボックスの RMF 1フラグを クリアする。 ステップ S 1802において、 データ受信用メールボックスの R MF 1フラグがセッ卜されているか否かが判断される。 ステップ S 1802の 判断結果が偽のとき、 ステップ S 1802を繰り返す。 判断結果が真のとき、 ステップ S 1803において、 コマンド送信用メールボックス CSMB 2にデ —タ受信完了の情報を設定する。
ステップ S 1804において、 受信したデータをローカルメモリのワークェ リアに格納する。 ステップ S 1805において、 データ受信用メールボックス の RMF 1フラグをクリアする。 ステップ S 1806において、 データ受信完 了を出す。 このために、 第 2の処理部 202は、 コマンド送信用メールボック ス CSMB 2に設定したコマンドを MP I— SEND命令を用いて第 1の;^言 部 103へ送信する。 ステップ S 1.807において、 第 2の処理部 202は、 ワークエリアに格納したデータを使って演算処理を行なう。 そして、 ステップ
S 1801に戻る。
次に、 図 19を用いて、 本実施例に係る分散処理方法の詳細なシーケンスを 説明する。 シーケンス 1901において、 SMF 1フラグと、 STCN1フラ グとをクリアする。 シーケンス 1 902において、 コマンド送信用メ一ルボッ クス CSMB 1にデータ送信開始要求の情報を設定する。
シーケンス 1903において、 SMF 1フラグが 「1」 のとき、 SMF 1フ ラグが 「0」 になるまで待機する。 シーケンス 1904において、 データの処 理結果をデータ送信用メールボックス DSMB 1に格納する。 シーケンス 19 05において、 送信タスクカウント STCN 1フラグが 「1」 のとき、 STC N1フラグが 「0」 になるまで待機する。 シーケンス 1906において、 ST CN 1フラグをセットする。 シーケンス 1 907において、 SMF 1フラグを セットする。 シーケンス 1 908において、 第 1の処理部 1 02は
、 「データ送信開始要求」 を送信する。 このために、 第 1の処理部 1 02は、 コ マンド送信用メールボックス CSMB 1に設定したコマンドである 「データ送 信開始要求」 を MP I— SEND (コマンド送信、 CSMB 1) 命令を使って 第 2の受信部 203へ送信する。
シーケンス 1 909において、第 2の受信部 203は、 MP I— RECV (コ マンド受信、 CRMB 1) 命令により 「データ送信開始要求」 を受信する。 シ 一ケンス 1 9 1 0において、 コマンド受信用メールボックスの情報からデータ 受信のためのァドレスやデータ長を設定する。 シーケンス 1 9 1 1において、 コマンド送信用メールボックス C SMB 1にデータ送信開始応答の情報を設定 する。 シーケンス 1 9 1 2において、 第 2の受信部 203は、 MP I— S EN D (コマンド送信、 CSMB 1) 命令により 「データ送信開始応答」 を第 1の 送信部 1 03へ送信する。
シーケンス 1 9 1 3において、第 1の送信部 1 03は、 MP I_RECV (コ マンド受信、 CRMB 1) 命令により 「データ送信開始応答」 を受信する。 シ —ケンス 1 9 1 4において、 第 1の送信部 1 03は、 MP I— SEND (デー ダ送信、 DSMB 1) 命令によりデータ送信用メールボックス DSMB 1に格 納されているデータを第 2の受信部 203へ送信する。 シーケンス 1 9 1 5に おいて、 データ送信用メールボックスの SMF 1フラグをクリアする。
シーケンス 1 9 1 6において、第 2の受信部 203は、 MP I— RECV (デ ータ受信、 DRMB 1) 命令によりデータを受信する。 シーケンス 1 9 1 7に おいて、 第 2の受信部 203は、 データ受信用メールボックスの RMF 1フラ グをセットする。 ' シーケンス 1 9 1 8において、 第 2の処理部 202は、 データ受信用メール ボックスの RMF 1フラグがセッ卜されている力 即ちデータを受信したか、 を判断する。 なお、 データ受信用メールボックスの RMF 1フラグは、 シーケ ンス 1 900において、 予めクリアされている。 データを受信しているとき、 シーケンス 1 9 1 9において、 コマンド送信用メールボックス CSMB 2にデ ータ受信完了の情報をセッ卜する。 シーケンス 1 920において、 データ受信 用メールボックス DRMB 1に格納されているデータをワークエリアにコピー する。 シーケンス 1 92 1において、 データ受信用メールボックスの RMF 1 フラグをクリアする。 シーケンス 1 922において、 第 2の処理部 202は、 MP I_S END (コマンド送信、 C SMB 2)命令により、 「データ受信完了」 を送信する。 また、 シーケンス 1 927において、 第 2の処理部 202は、 受 信データの処理を開始する。 そして、 シーケンス 1 928において、 第 2の処 理部 202は、 データの処理を終了する。
シーケンス 1 923において、第 1の送信部 1 03は、 MP I— RECV (コ マンド受信、 CRMB 1)命令により 「データ受信完了」を受信する。 そして、 シーケンス 1 924において、 第 1の送信部 1 03は、 送信タスクカウント TCN 1フラグをクリアする。
シーケンス 1 925の時点においては、 送信タスクカウント STCN 1フラ グは 「0」 である。 第 1の処理部 1 02は、 データ処理の最後に送信タスク力 ゥント STCN 1フラグが 「1」 のとき、 STCN 1フラグが 「0」 になるま で待機する。
図 1 9からわかるように、 第 1の送信部 1 03は、 第 1のメモリ部 10 1に 格納されているデータを送信してから、 データの受信完了を受信するまでの間 は一方のプロセッサ 'エレメント 1 00の処理能力に影響を与えない状態であ る。 また、 第 2の受信部 203は、 データの送信開始応答を送信してから、 デ ータを受信するまでの間は他方のプ口セッサ
·エレメント 200の処理能力に影響を与えない状態である。
本実施例によれば、 プロセッシング 'エレメント 1 00から他のプロセッシ ング ·エレメント 2 0 0へデータを送信するとき、 通信により処理の中断を大 幅に低減できる。 この結果、 第 1の処理部 1 0 2、 第 2の処理部 2 0 2を高効 率に稼動させることができる。
(実施例 3 )
次に、 本発明の実施例 3に係る分散処理システム 7 0 0を説明する。 図 2 0 は、 分散処理システム 7 0 0の概略構成を示す。 本実施例は、 同一の基板 M B 3内に第 1の処理部 7 0 2と第 2の処理部 7 0 3とが設けられている。そして、 第 1の処理部 7 0 2と第 2の処理部 7 0 3とは、 メ一ルポックス 7 0 1を共有 する。 換言すると、 第 1の処理部 7 0 2 (プロセッシング 'エレメント) のメ モリ部と、 第 2の処理部 (他方のプロセッシング ·エレメント) のメモリ部と は、 同一のメモリ部が兼用する構成である。
本実施例の処理手順を説明する。 まず、 第 1の処理部 7 0 2は、 メールボッ クス 7 0 1にデータを格納する。 第 1の処理部 7 0 2は、 メ一ルポックス 7 0 1にフラグをセットする。 第 2の処理部 7 0 3は、 セットされたフラグを検知 する。 そして、 第 2の処理部 7 0 3は、 メールボックス 7 0 1に格納されてい るデータにアクセスする。 ここで、 第 2の処理部 7 0 3は、 メールボックス 7 0 1内のデータが格納されている領域を知っているものとする。
これにより、 本実施例では、 データの実体を第 1の処理部 7 0 2と第 2の処 理部 7 0 3との間で送受信することなく通信が可能となる。 この結果、 複数の プロセスを高速に効率良く実行できる。
以上説明したように、 本発明によれば、 例えば、 以下の全ての場合について 処理の高速化を図ることができる。
( 1 ) 複数の同じ (ユニーク) 処理部が、 同一の基板内に設けられている場合
( 2 ) 複数の異なる機能の処理部が、 同一の基板内に設けられている場合 ( 3 ) 複数の同じ (ユニーク) 処理部が、 異なる基板に設けられている場合
( 4 ) 複数の異なる機能の処理部が、 異なる基板に設けられている場合 また、 M P Iに限られず、いわゆるソケットを用いて制御することもできる。 このように、 本発明は、 その趣旨を逸脱しない範囲で様々な変形例をとること ができる。 産業上の利用可能性
以上のように、 本発明に係る分散処理システムは、 複数のプロセスを高速に 実行するシステムに有用であり、 特に、 異なる基板どうしでデータの通信を行 なうシステムに適している。

Claims

請求の範囲
1. それぞれ少なくとも処理部とメモリ部と通信部とを有する 2つ以上のプロ セッシング ·エレメントが相互に接続された分散処理システムであって、 前記処理部は、 前記メモリ部の所定の領域へデータを格納し、 または前記メ · モリ部の所定の領域に格納されているデータを読み出し、
一方の前記プロセッシング 'エレメントの前記通信部は、 他方の前記プロセ ッシング ·エレメントに対して前記メモリ部から読み出した前記データを送信 し、 または他方の前記プロセッシング 'エレメントから受信した前記データを 前記メモリ部へ格納することを特徴とする分散処理システム。
2 . 前記通信部は、 送信部と受信部との少なくともいずれ力一方を有し、 一方の前記プロセッシング 'エレメン卜の前記受信部は、 他方の前記プロセ ッシング ·エレメントから受信した前記データを一方の前記プロセッシング · エレメントの前記メモリ部の所定の領域へ直接格納し、
一方の前記プロセッシング 'エレメントの前記送信部は、 一方の前記プロセ ッシング ·エレメントの前記メモリ部の所定の領域に格納されている前記デー タを、 他方の前記プロセッシング ·エレメン卜へ送信することを特徴とする請 求の範囲第 1項に記載の分散処理システム。
3 . 2つ以上の前記プロセッシング ·エレメントは、 それぞれ異なる基板に設 けられていることを特徴とする請求の範囲第 1項または第 2項に記載の分散処 理システム。
4 . 2つ以上の前記プロセッシング 'エレメントは、 それぞれ同一の基板に設 けられていることを特徴とする請求の範囲第 1項または第 2項に記載の分散処 理システム。
5 . 一方の前記プロセッシング 'エレメントの前記メモリ部と、他方の前記プ ロセッシング 'エレメントの前記メモリ部とは、 同一のメモリ部が兼用するこ とを特徴とする請求の範囲第 4項に記載の分散処理システム。
6 . 前記送信部は、前記メモリ部に格納されている前記データを送信してから、 前記データの受信完了を受信するまでの間は省電力状態となることを特徵とす る請求の範囲第 1〜 5のレ、ずれか一項に記載の分散処理方法。
7 . 2つ以上の前記プロセッシング 'エレメント間の前記データと制御情報と の送信及び受信において MP Iを用いることを特徴とする請求の範囲;!〜 6の いずれか一項に記載の分散処理システム。
8 . それぞれ少なくとも処理部とメモリ部と通信部とを有する 2つ以上のプ ロセッシング 'エレメントを相互に接続する分散処理方法であって、
前記処理部が、 前記メモリ部の所定の領域へデータを格納し、 または前記メ モリ部の所定の領域に格納されているデータを読み出すステップと、
一方の前記プロセッシング ·エレメン卜の前記通信部が、 他方の前記プロセ ッシング ·エレメントに対して前記メモリ部から読み出した前記データを ¾j言 し、 または他方の前記プロセッシング 'エレメントから受信した前記データを 前記メモリ部へ格納するステップとを有することを特徴とする分散処理方法。
9. 前記通信ステップは、 さらに受信ステップと送信ステップとを有し、 受信ステップにおいて、 一方の前記プロセッシング 'エレメン卜の前記受信 部は、 他方の前記プロセッシング 'エレメントから受信した前記データを一方 の前記プロセッシング ·ェレメン卜の前記メモリ部の所定の領域へ直接格納し、 前記送信ステップにおいて、 一方の前記プロセッシング 'エレメン卜の前言己 送信部は、 一方の前記プロセッシング 'エレメントの前記メモリ部の所定の領 域に格納されている前記データを、 他方の前記プロセッシング 'エレメントへ 送信することを特徴とする請求の範囲第 8項に記載の分散処理方法。
1 0 . 前記通信ステップでは、それぞれ異なる基板に設けられている 2つ以上 のプロセッシング ·エレメント間において少なくとも前記データの送信または 受信を行うことを特徴とする請求の範囲第 8項または第 9項に記載の分散処理 方法。
1 1 . 前記通信ステップでは、それぞれ同一の基板に設けられている 2つ以上 のプロセッシング ·エレメント間において少なくとも前記データの送信または 受信を行うことを特徴とする請求の範囲第 8項または第 9項に記載の分散処理 方法。
1 2 . 一方の前記プロセッシング 'エレメントの前記メモリ部と、他方の前記 プロセッシング 'エレメン卜の前記メモリ部とは、 同一のメモリ部が兼用する ことを特徴とする請求の範囲第 1 1項に記載の分散処理方法。
1 3 . —方の前記プロセッシング 'エレメントは、 第 1の処理部と第 1のメモ リ部と第 1の通信部とを含み、
他方の前記プロセッシング 'エレメントは、 第 2の処理部と第 2のメモリ部 と第 2の通信部とを含み、
前記第 1の処理部が前記データを前記第 1のメモリ部の所定の領域に格納す る第 1データ格納ステップと、
前記第 1のメモリ部に格納されている前記データを前記第 1の送信部が他の 前記プロセッシング 'エレメン卜へ送信するデータ送信ステップと、 他の前記プロセッシング ·エレメン卜の前記第 2の受信部が受信した前記デ —タを前記第 2のメモリ部の所定の領域へ直接格納する第 2データ格納ステツ プと、
前記第 2の処理部が前記第 2のメモリ部に格納されている前記データを読み 出すデータ読み出しステップとを有することを特徴とする請求の範囲 8〜 1 1 のいずれか一項に記載の分散処理方法。
1 4 . 前記第 1のメモリ部に前記データを格納した前記第 1の処理部が、前記 第 2の受信部に対して前記デ タの送信開始要求を送信するステップと、 前記データの送信開始要求を受信した前記第 2の受信部が、 前記第 1の 言 部に対して前記データの送信開始応答を送信するステップと、
前記データの送信開始応答を受信した前記第 1の送信部が、 前記第 2の受信 部に対して編己第 1のメモリ部に格納されている前記デ一タを送信するステツ プと、
前記データを受信した前記第 2の受信部が、 受信した前記データを前記第 2 のメモリ部に格納するステップと、
前記データを前記第 2のメモリ部に格納した前記第 2の受信部が、 前記第 2 の処理部に対して前記データの受信を通知するステップと、
前記データの受信通知を受け取った前記第 2の処理部が、 前記第 2のメモリ 部に格納されている前記データを読み出すステップと、
を有することを特徴とする請求の範囲第 1 3項に記載の分散処理方法。
1 5 . さらに、
前記データを読み出した前記第 2の処理部が、 前記第 1の送信部へ前記デー タの受信完了を送信するステップと、 前記データの受信完了を受信した前記第 1の送信部が、 前記データの受信完 了を前記第
1の処理部に通知するステップと、
を有することを特徴とする請求の範囲 1 4に記載の分散処理方法。
1 6 . さらに、前記第 1の送信部は、 前記第 1のメモリ部に格納されている前 記データを送信してから、 前記データの受信完了を受信するまでの間は前記第
1の処理部を含む一方の前記プロセッサ ·エレメントの処理能力に影響を与え ない状態であり、
前記第 2の受信部は、 前記データの送信開始応答を送信してから、 前記デ一 タを受信するまでの間は前記第 2の処理部を含む他方の前記プロセッサ ·エレ メントの処理能力に影響を与えない状態であることを特徴とする請求の範囲 1 または 1 5に記載の分散処理方法。
1 7 . 2つ以上の前記プロセッシング 'エレメント間の前記データと制御情報 との送信及び受信において M P Iを用いることを特徴とする請求の範囲 8〜1 6のいずれか一項に記載の分散処理方法。
1 8 . それぞれ少なくとも処理部とメモリ部と通信部とを有する 2つ以上の プロセッシング 'エレメントが相互に接続された分散処理システム用のプログ ラムであり、 コンピュータにより読み取り可能なプログラムであって、 前記処理部は、 前記メモリ部の所定の領域へデータを格納し、 または前記メ モリ部の所定の領域に格納されているデータを読み出し、
一方の前記プロセッシング 'エレメン卜の前記通信部は、 他方の前記プロセ ッシング*エレメントに対して前記メモリ部から読み出した前記データを送信 し、 または他方の前記プロセッシング 'エレメントから受信した前記デ一タを 前記メモリ部へ格納するようにコンピュータを機能させることを特徴とするプ 口グフム,
PCT/JP2006/311471 2005-06-13 2006-06-01 分散処理システム、分散処理方法及びプログラム WO2006134816A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US11/922,112 US7962720B2 (en) 2005-06-13 2006-06-01 Distributed processing system, distributed processing method and computer program
EP06747231A EP1903451A4 (en) 2005-06-13 2006-06-01 SYSTEM AND METHOD FOR DISTRIBUTED PROCESSING AND COMPUTER PROGRAM
CN200680021237.1A CN101198950B (zh) 2005-06-13 2006-06-01 分布式处理系统、分布式处理方法以及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005172783A JP5079988B2 (ja) 2005-06-13 2005-06-13 分散処理システム、分散処理方法及びプログラム
JP2005-172783 2005-06-13

Publications (1)

Publication Number Publication Date
WO2006134816A1 true WO2006134816A1 (ja) 2006-12-21

Family

ID=37532179

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/311471 WO2006134816A1 (ja) 2005-06-13 2006-06-01 分散処理システム、分散処理方法及びプログラム

Country Status (5)

Country Link
US (1) US7962720B2 (ja)
EP (1) EP1903451A4 (ja)
JP (1) JP5079988B2 (ja)
CN (1) CN101198950B (ja)
WO (1) WO2006134816A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059282A (ja) * 2006-08-31 2008-03-13 Olympus Corp 分散処理システム、分散処理方法及びプログラム
CN102200929A (zh) * 2010-03-26 2011-09-28 迈普通信技术股份有限公司 任务间异步通信的处理方法及多任务异步通信处理系统
US9760526B1 (en) 2011-09-30 2017-09-12 EMC IP Holdings Company LLC Multiprocessor messaging system
US9037838B1 (en) 2011-09-30 2015-05-19 Emc Corporation Multiprocessor messaging system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0448368A (ja) * 1990-06-18 1992-02-18 Fujitsu Ltd プロセッサ間通信方式
JPH1115679A (ja) * 1997-06-19 1999-01-22 Toshiba Corp プロセス間の通信方法及びその装置
JP2003330739A (ja) * 2002-05-10 2003-11-21 Nec Corp 通信応答同期システム及び方法並びに通信応答同期プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2938711B2 (ja) * 1993-05-10 1999-08-25 松下電器産業株式会社 並列計算機
US6424870B1 (en) * 1996-02-09 2002-07-23 Hitachi, Ltd. Parallel processor
JPH11120156A (ja) * 1997-10-17 1999-04-30 Nec Corp マルチプロセッサシステムにおけるデータ通信方式
US6185662B1 (en) * 1997-12-22 2001-02-06 Nortel Networks Corporation High availability asynchronous computer system
JPH11203192A (ja) * 1998-01-16 1999-07-30 Sony Corp 並列プロセッサおよび演算処理方法
JP2000132529A (ja) * 1998-10-23 2000-05-12 Sony Corp 並列処理装置、並列処理方法および記録媒体
JP3617371B2 (ja) 1999-05-07 2005-02-02 セイコーエプソン株式会社 プロジェクタおよび情報記憶媒体
JP3828321B2 (ja) * 1999-08-31 2006-10-04 富士通株式会社 負荷試験装置および負荷試験プログラムを記録したコンピュータ読み取り可能な記録媒体
US6925547B2 (en) * 2000-12-14 2005-08-02 Silicon Graphics, Inc. Remote address translation in a multiprocessor system
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US20030220118A1 (en) 2002-05-22 2003-11-27 Jasmeet Chhabra Conserving energy in networks
US7107363B2 (en) * 2003-06-19 2006-09-12 International Business Machines Corporation Microprocessor having bandwidth management for computing applications and related method of managing bandwidth allocation
KR100515059B1 (ko) * 2003-07-22 2005-09-14 삼성전자주식회사 멀티프로세서 시스템 및 멀티프로세서 시스템의 캐쉬일관성 유지 방법
CN1324844C (zh) 2004-06-02 2007-07-04 中兴通讯股份有限公司 网管系统向网元同步配置数据的方法
US7386636B2 (en) * 2005-08-19 2008-06-10 International Business Machines Corporation System and method for communicating command parameters between a processor and a memory flow controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0448368A (ja) * 1990-06-18 1992-02-18 Fujitsu Ltd プロセッサ間通信方式
JPH1115679A (ja) * 1997-06-19 1999-01-22 Toshiba Corp プロセス間の通信方法及びその装置
JP2003330739A (ja) * 2002-05-10 2003-11-21 Nec Corp 通信応答同期システム及び方法並びに通信応答同期プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GROPP W. ET AL.: "Jissen MPI 2-Message Passing Interface no Jokyusha Muke Kino", USING MPI-2: ADVANCED FEATURES OF THE MASSAGE PASSING INTERFACE, KABUSHIKI KAISHA PEARSON EDUCATION, 3 October 2002 (2002-10-03), pages 125 - 140, AND 169 - 171, XP003008020 *
MATSUDA M. ET AL.: "MPI Tsushin Model ni Tekishita Hi Doki Tsushin Kiko no Sekkei to Jissen", THE DESIGN AND IMPLEMENTATION OF ASYNCHRONOUS COMMUNICATION MECHANISM FOR MPI COMMUNICATION MODEL, TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 45, no. SIG11 (ACS7), 15 October 2004 (2004-10-15), pages 14 - 23, XP003008021 *
See also references of EP1903451A4 *

Also Published As

Publication number Publication date
CN101198950B (zh) 2012-07-18
JP2006350467A (ja) 2006-12-28
EP1903451A4 (en) 2010-06-16
CN101198950A (zh) 2008-06-11
US7962720B2 (en) 2011-06-14
JP5079988B2 (ja) 2012-11-21
EP1903451A1 (en) 2008-03-26
US20100100705A1 (en) 2010-04-22

Similar Documents

Publication Publication Date Title
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
CN1608255B (zh) 使用包括扩展类型/扩展长度字段的分组头部的计算机系统中的代理之间的通信事务类型
JP4543051B2 (ja) Ipネットワーク上の遠隔データファシリティ
US5915088A (en) Interprocessor messaging system
JP4163440B2 (ja) メモリにアクセスする方法及び装置
US5245703A (en) Data processing system with multiple communication buses and protocols
US7761642B2 (en) Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging
US20030110336A1 (en) Method and apparatus for interrupt redirection for arm processors
CN112347015B (zh) 芯片片上系统异构多处理器间的通信装置及方法
CN101452430B (zh) 多处理器之间的通信方法与包括多处理器的通信装置
WO2006134816A1 (ja) 分散処理システム、分散処理方法及びプログラム
JP4444101B2 (ja) バスシステム、バスシステム内で用いるためのステーション、及びバスインタフェース
JPH07225727A (ja) 計算機システム
WO2001067713A1 (en) A packet format independent computer network controller
JP2003114823A5 (ja)
CN103282888A (zh) 数据处理方法、图像处理器gpu及第一节点设备
CN107341130B (zh) 具有近端数据处理引擎的芯片组
JP3791742B2 (ja) Pciバス制御システム
JP2003510718A (ja) コンピュータシステム内に存在しないプロセッサに対する無効化要求を処理する方法及び装置
CN107302522B (zh) 基于USB的SpaceWire网络即插即用基础协议
JP2008059282A (ja) 分散処理システム、分散処理方法及びプログラム
WO2008027092A1 (en) Computer communication
JPS62100854A (ja) ホスト・端末間通信方式
JPH01501660A (ja) コンピユータ間通信制御装置及びその方法
JP2853607B2 (ja) ジョブ間通信システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680021237.1

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 11922112

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2006747231

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006747231

Country of ref document: EP