WO2010106677A1 - 分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法 - Google Patents
分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法 Download PDFInfo
- Publication number
- WO2010106677A1 WO2010106677A1 PCT/JP2009/055518 JP2009055518W WO2010106677A1 WO 2010106677 A1 WO2010106677 A1 WO 2010106677A1 JP 2009055518 W JP2009055518 W JP 2009055518W WO 2010106677 A1 WO2010106677 A1 WO 2010106677A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information processing
- data
- processing apparatus
- distributed
- divided
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Definitions
- the present invention relates to a distributed processing system, an information processing apparatus, a distributed processing program, and a distributed processing method.
- distributed computing when performing predetermined processing, data to be processed is distributed, and the distributed data is processed in parallel by a plurality of information processing apparatuses.
- the conventional distributed processing will be described with two examples.
- 9 and 10 are diagrams illustrating an example of conventional distributed processing.
- the information processing apparatus 10a has data D10.
- the data D10 is large-capacity data and includes data elements A1 to A4, B1 to B4, and C1 to C4, which are data in a predetermined processing unit.
- data elements to be processed are determined among the data elements A1 to A4, B1 to B4, and C1 to C4.
- the information processing apparatus 10a processes data elements A1 to A4 in the data D10.
- the information processing apparatus 10b processes data elements B1 to B4, and the information processing apparatus 10c processes data elements C1 to C4.
- the information processing apparatus 10a transmits data D10 to the information processing apparatus 10b and the information processing apparatus 10c as shown in FIG. Subsequently, the information processing apparatus 10a extracts data elements A1 to A4 from the data D10. Then, the information processing apparatus 10a processes the extracted data D10A. Further, when the information processing apparatus 10b receives the data D10 from the information processing apparatus 10a, the information processing apparatus 10b extracts the data elements B1 to B4 from the data D10 and processes the extracted data D10B. Further, the information processing apparatus 10c extracts the data elements C1 to C4 from the data D10 and processes the extracted data D10C.
- the information processing apparatus 10a extracts the data elements A1 to A4 from the data D10. Further, the information processing apparatus 10a extracts the data elements B1 to B4 from the data D10 and distributes the extracted data D10B to the information processing apparatus 10b. In addition, the information processing apparatus 10a extracts the data elements C1 to C4 from the data D10 and distributes the extracted data D10C to the information processing apparatus 10c.
- the information processing apparatus 10a processes the data D10A
- the information processing apparatus 10b processes the data D10B
- the information processing apparatus 10c processes the data D10C.
- JP 10-207853 A Japanese Patent Laid-Open No. 7-253953
- the above-described prior art has a problem that it takes a long time to process data. Specifically, when the distributed processing shown in FIG. 9 is used, since the data transmission processing takes time, the time required for data processing becomes long. If it demonstrates using the example shown in FIG. 9, the information processing apparatus 10a will transmit large capacity
- the distributed processing shown in FIG. 10 is used, so that the load on the information processing apparatus that distributes the data elements increases, so that the time required for data processing increases.
- the information processing apparatus 10a is responsible for a process of extracting data elements from the data D10 and a process of distributing the extracted data elements to the information processing apparatuses 10b and 10c. Therefore, in the distributed processing shown in FIG. 10, the load on the information processing apparatus 10a increases, and the processing for distributing the data elements takes time. For this reason, in the distributed processing shown in FIG. 10, the time required for data processing becomes long.
- FIG. 9 and FIG. 10 show an example in which there are three information processing devices, an actual distributed processing system may have hundreds to tens of thousands of information processing devices. Further, the size of data processed by the distributed processing system is generally enormous. For this reason, when the above-described conventional technology is used, it takes time for data transmission processing and processing for distributing data elements, so that the time required for data processing is delayed.
- the disclosed technology has been made in order to solve the above-described problems caused by the prior art, and includes a distributed processing system, an information processing apparatus, a distributed processing program, and a distributed processing method that can shorten the time required for data processing.
- the purpose is to provide.
- a distributed processing system disclosed in the present application is a distributed processing system having a plurality of information processing devices, and each of the plurality of information processing devices performs information processing to be processed.
- Data to be processed including data elements for which the device is determined is divided, and the divided data, which is the divided data, is assigned to all or some of the information processing devices in the distributed processing system and assigned to other information processing devices.
- the transfer unit that transfers the divided data to the other information processing apparatus and the data element included in the divided data allocated to the transfer unit of the own transfer unit or another information processing apparatus is processed. Processing a distribution unit distributed to an information processing device, a data element distributed by its own distribution unit, and a data element distributed from the other information processing device It is a requirement that a that the data processing unit.
- FIG. 1 is a diagram for explaining an example of distributed processing by the distributed processing system according to the first embodiment.
- FIG. 2 is a schematic diagram illustrating an example of data processed by the distributed processing system according to the first embodiment.
- FIG. 3 is a diagram illustrating the configuration of the information processing apparatus according to the first embodiment.
- FIG. 4 is a flowchart illustrating a processing procedure performed by the information processing apparatus having data to be processed.
- FIG. 5 is a flowchart showing a processing procedure by the information processing apparatus to which the divided data is transferred from another information processing apparatus.
- FIG. 6 is a schematic diagram illustrating an example of distributed processing performed by the distributed processing system according to the second embodiment.
- FIG. 7 is a diagram for explaining an example of distributed processing by the distributed processing system according to the second embodiment.
- FIG. 8 is a diagram illustrating a computer that executes a distributed processing program.
- FIG. 9 is a diagram illustrating an example of conventional distributed processing.
- FIG. 10 is a diagram illustrating an example of conventional distributed processing
- the distributed processing system 1 according to the first embodiment performs a process of distributing data elements to information processing apparatuses in the distributed processing system 1 by using a plurality of information processing apparatuses.
- the information processing apparatus (hereinafter referred to as “first information processing apparatus”) in the first embodiment divides data to be processed and distributes the divided data (hereinafter referred to as “divided data”). Assigned to all or part of the information processing devices in the processing system 1. Then, the first information processing apparatus transfers the divided data assigned to the other information processing apparatus to the other information processing apparatus to which the divided data is assigned. Then, the first information processing apparatus distributes the data elements included in the divided data assigned to the own apparatus to the information processing apparatuses that process the data elements. The other information processing apparatus distributes the data element included in the divided data transferred from the first information processing apparatus to the information processing apparatus that processes the data element. Then, the first information processing apparatus and other information processing apparatuses process the data elements distributed to the own apparatus.
- FIG. 1 is a diagram for explaining an example of distributed processing by the distributed processing system 1 according to the first embodiment.
- a distributed processing system 1 shown in FIG. 1 includes information processing apparatuses 100a to 100c.
- the information processing apparatuses 100a to 100c process the data D100 including the data elements A1 to A4, B1 to B4, and C1 to C4 in a distributed manner.
- the information processing apparatus 100a determines data elements to be processed by the information processing apparatuses 100a to 100c. Then, the information processing apparatuses 100a to 100c process data elements to be processed by the information processing apparatuses 100a to 100c.
- FIG. 2 is a diagram for explaining an example of data D100 processed by the distributed processing system 1 according to the first embodiment.
- the data elements A1 to A4, B1 to B4, and C1 to C4 are encoded image data.
- the data elements A1 to A4, B1 to B4, and C1 to C4 become an image G100 by performing a process such as decoding.
- the information processing apparatuses 100a to 100c may process data elements for each column of the image G100.
- the information processing apparatus 100a processes data elements corresponding to the column C11 of the image G100
- the information processing apparatus 100b processes data elements corresponding to the column C12
- the information processing apparatus 100c Process the data element corresponding to column C13.
- the information processing apparatuses 100a to 100c process data elements corresponding to the columns C11 to C13, respectively, as in the above example. That is, the information processing apparatus 100a processes the data elements A1 to A4 of the data D100, the information processing apparatus 100b processes the data elements B1 to B4, and the information processing apparatus 100c processes the data elements C1 to C4. It shall be.
- the information processing apparatus 100a divides the data D100 and allocates the divided data to all or part of the information processing apparatuses 100a to 100c. Then, the information processing device 100a transfers the divided data to the information processing devices 100b and 100c to which the divided data is assigned.
- the information processing apparatus 100a divides the data D100 into divided data D110 and divided data D120, assigns the divided data D110 to the information processing apparatus 100a, and assigns the divided data D120 to the information processing apparatus 100b. Assigned to. Then, the information processing apparatus 100a transfers the divided data D120 assigned to the information processing apparatus 100b to the information processing apparatus 100b.
- the information processing apparatus 100a distributes the data elements included in the divided data D110 allocated to the own apparatus to the information processing apparatuses that process the data elements. Specifically, as illustrated in FIG. 1, the information processing apparatus 100a extracts data elements A1 and A2 from the divided data D110, and distributes the extracted data elements A1 and A2 to itself, that is, the information processing apparatus 100a. In addition, the information processing apparatus 100a distributes the data elements B1 and B2 of the divided data D110 to the information processing apparatus 100b, and distributes the data elements C1 and C2 to the information processing apparatus 100c.
- the information processing apparatus 100b distributes the data elements included in the divided data D120 transferred from the information processing apparatus 100a to the information processing apparatuses that process the data elements. Specifically, as illustrated in FIG. 1, the information processing apparatus 100b extracts data elements A3 and A4 from the divided data D120, and distributes the extracted data elements A3 and A4 to the information processing apparatus 100a. Further, the information processing apparatus 100b extracts the data elements C3 and C4 from the divided data D120, and distributes the extracted data elements C3 and C4 to the information processing apparatus 100c.
- the information processing apparatuses 100a to 100c connect the extracted data elements and then distribute the connected data elements to other information processing apparatuses.
- the information processing apparatus 100a connects the data elements B1 and B2 and distributes the connected data elements B1 and B2 to the information processing apparatus 100b.
- the information processing apparatuses 100a to 100c can improve communication efficiency by collectively linking the connected data elements to the respective information processing apparatuses.
- the information processing apparatuses 100a to 100c process data elements distributed by the information processing apparatuses. Specifically, the information processing apparatus 100a processes the data elements A1 and A2 distributed by the own apparatus and the data elements A3 and A4 distributed by the information processing apparatus 100b. The information processing apparatus 100b processes the data elements B1 and B2 distributed by the information processing apparatus 100a and the data elements B3 and B4 distributed by the own apparatus. The information processing apparatus 100c processes the data elements C1 and C2 distributed by the information processing apparatus 100a and the data elements C3 and C4 distributed by the information processing apparatus 100b.
- the distributed processing system 1 according to the first embodiment transfers a part of the divided data to be processed to another information processing, and executes processing on the data element by using a plurality of information processing apparatuses. Therefore, the amount of data communication can be reduced as compared with the distributed processing shown in FIG. As a result, the distributed processing system 1 according to the first embodiment can shorten the time required for data transmission processing compared to the distributed processing illustrated in FIG. it can.
- the distributed processing system 1 performs a process of distributing data elements to a plurality of information processing apparatuses with respect to the information processing apparatus that performs processing. Such a load can be distributed to a plurality of information processing apparatuses. As a result, the distributed processing system 1 according to the first embodiment can speed up the process of distributing the data elements as compared with the distributed process shown in FIG. Can do.
- the distributed processing system 1 since the distributed processing system 1 according to the first embodiment does not transmit or receive all data to be processed between information processing apparatuses, the memory usage can be reduced as compared with the distributed processing shown in FIG.
- FIG. 3 is a diagram illustrating the configuration of the information processing apparatus 100 according to the first embodiment. Note that the information processing apparatus 100 illustrated in FIG. 3 corresponds to the information processing apparatuses 100a to 100c illustrated in FIG.
- the information processing apparatus 100 includes an interface (hereinafter referred to as “I / F”) 110, a primary storage unit 120, a secondary storage unit 130, and a control unit 140.
- I / F interface
- primary storage unit 120 primary storage unit
- secondary storage unit 130 secondary storage unit
- control unit 140 control unit
- the I / F 110 transmits / receives various data to / from other information processing apparatuses.
- the information processing apparatus 100 a transmits and receives various data to and from the information processing apparatuses 100 b and 100 c via the I / F 110.
- the primary storage unit 120 is a storage device that stores various types of information, for example, a memory.
- the control unit 140 described later performs various processes while temporarily storing various types of information in the primary storage unit 120.
- the secondary storage unit 130 is a storage device that stores various information, and is, for example, a hard disk.
- the secondary storage unit 130 in the first embodiment includes a data storage unit 131.
- the data storage unit 131 stores data to be processed.
- the data storage unit 131 stores the data D100 illustrated in FIGS.
- the control unit 140 controls the information processing apparatus 100 as a whole.
- the control unit 140 according to the first embodiment includes a transfer unit 141, a distribution unit 142, and a data processing unit 143.
- the transfer unit 141 divides the data to be processed, assigns the divided data to all or part of the information processing devices in the distributed processing system 1, and sends the divided data assigned to the other information processing devices to the other information processing devices Forward.
- the transfer unit 141 reads the processing target data stored in the data storage unit 131. Subsequently, the transfer unit 141 divides the read data into a predetermined number. The number of data divisions is arbitrary. Then, the transfer unit 141 assigns the divided data to all or part of the information processing apparatuses in the distributed processing system 1. Then, the transfer unit 141 transfers the divided data assigned to the other information processing apparatus to the information processing apparatus to which the divided data is assigned. In the first embodiment, the number by which the transfer unit 141 divides data to be processed is determined in advance.
- the transfer unit 141 of the information processing device 100a divides the data D100 into two divided data D110 and divided data D120. Subsequently, the transfer unit 141 assigns the divided data D110 to the information processing apparatus 100a that is the own apparatus, and assigns the divided data D120 to the information processing apparatus 100b. Then, the information processing apparatus 100a transfers the divided data D120 assigned to the information processing apparatus 100b to the information processing apparatus 100b.
- the transfer processing by the transfer unit 141 is not limited to the example shown in FIG.
- the transfer unit 141 may assign and transfer the divided data D120 to the information processing apparatus 100c.
- the transfer unit 141 may assign and transfer the divided data D110 to the information processing apparatus 100b or 100c other than its own apparatus.
- the transfer unit 141 may assign and transfer the divided data D110 to the information processing apparatus 100b, and may assign and transfer the divided data D120 to the information processing apparatus 100c.
- the distribution unit 142 distributes the divided data assigned to the own device by the transfer unit 141 or the data elements included in the divided data transferred from other information processing devices to the information processing device that processes the data elements. .
- the distribution unit 142 extracts data elements from the divided data, and processes each data element that has been extracted. Distribute to processing equipment.
- the distribution unit 142 distributes the corresponding data element to the determined information processing apparatus. .
- the distribution unit 142 extracts a data element from the transferred divided data, and processes each of the extracted data elements. Distributed to the information processing apparatus. As described above, the distribution unit 142 may distribute the connected data elements after connecting the data elements.
- the transfer unit 141 of the information processing device 100a assigns the divided data D110 to the information processing device 100a. Therefore, the distribution unit 142 of the information processing apparatus 100a extracts each data element from the divided data D110 and distributes each data element to the corresponding information processing apparatus. Specifically, the distribution unit 142 of the information processing apparatus 100a extracts the data elements A1 and A2 from the divided data D110, and distributes the extracted data elements A1 and A2 to the information processing apparatus 100a that is itself.
- the distribution unit 142 of the information processing apparatus 100a extracts the data elements B1 and B2 from the divided data D110, and distributes the extracted data elements B1 and B2 to the information processing apparatus 100b. Further, the distribution unit 142 of the information processing apparatus 100a extracts the data elements C1 and C2 from the divided data D110, and distributes the extracted data elements C1 and C2 to the information processing apparatus 100c.
- the information processing apparatus 100b accepts the divided data D120 from the information processing apparatus 100a. Therefore, the distribution unit 142 of the information processing apparatus 100b extracts the data elements A3 and A4 from the received divided data D120, and distributes the extracted data elements A3 and A4 to the information processing apparatus 100a. Further, the distribution unit 142 of the information processing apparatus 100b extracts the data elements B3 and B4 from the divided data D120, and distributes the extracted data elements B3 and B4 to the information processing apparatus 100b. Further, the distribution unit 142 of the information processing apparatus 100b extracts the data elements C3 and C4 from the divided data D120, and distributes the extracted data elements C3 and C4 to the information processing apparatus 100c.
- the data processing unit 143 processes the data element distributed by the distribution unit 142 in its own apparatus and the data element distributed by the distribution unit 142 of another information processing apparatus. Specifically, the data processing unit 143 processes the distributed data element when the data element is distributed by the distribution unit 142 in the own apparatus. In addition, when the data element is distributed by the distribution unit 142 of another information processing apparatus, the data processing unit 143 processes the data element distributed from the other information processing apparatus.
- the data processing by the data processing unit 143 will be described using the example shown in FIG.
- the data processing unit 143 of the information processing apparatus 100a processes the data elements A1 and A2 distributed by the distribution unit 142 of the own apparatus.
- the data processing unit 143 of the information processing device 100a processes the data elements A3 and A4 distributed by the distribution unit 142 of the other information processing device 100b.
- the data processing unit 143 of the information processing apparatus 100b processes the data elements B1 and B2 distributed by the distribution unit 142 of the other information processing apparatus 100a.
- the data processing unit 143 of the information processing apparatus 100b processes the data elements B3 and B4 distributed by the distribution unit 142 of the own apparatus.
- the data processing unit 143 of the information processing apparatus 100c processes the data elements C1 and C2 distributed by the distribution unit 142 of the other information processing apparatus 100a. Further, the data processing unit 143 of the information processing apparatus 100c processes the data elements C3 and C4 distributed by the distribution unit 142 of the other information processing apparatus 100b.
- FIG. 4 is a flowchart illustrating a processing procedure performed by the information processing apparatus 100 having processing target data.
- FIG. 5 is a flowchart illustrating a processing procedure performed by the information processing apparatus 100 to which divided data is transferred from another information processing apparatus.
- the processing procedure shown in FIG. 4 is a processing procedure by the information processing apparatus 100a shown in FIG. 1
- the processing procedure shown in FIG. 5 is a processing procedure by the information processing apparatuses 100b and 100c shown in FIG. is there.
- the transfer unit 141 of the information processing apparatus 100 divides the data into a predetermined number. (Step S102). Then, the transfer unit 141 assigns the divided data to all or a part of the information processing devices in the distributed processing system 1, and transfers the divided data assigned to the other information processing devices to the other information processing devices (steps). S103).
- the transfer unit 141 of the information processing apparatus 100a divides the data D100 into two pieces of divided data D110 and divided data D120. Then, the transfer unit 141 assigns the divided D120 to the information processing apparatus 100b, and transfers the divided data D120 to the information processing apparatus 100b.
- the distribution unit 142 distributes the data elements included in the divided data allocated to the own apparatus in step S103 to the information processing apparatus that processes the data elements (step S104).
- the distribution unit 142 of the information processing device 100a includes the data elements A1 and A2 processed by the information processing device 100a among the data elements included in the divided data D110. To distribute.
- the distribution unit 142 of the information processing apparatus 100a distributes the data elements B1 and B2 processed by the information processing apparatus 100b to the information processing apparatus 100b, and distributes the data elements C1 and C2 processed by the information processing apparatus 100c to the information processing apparatus 100c. To distribute.
- the data processing unit 143 processes the data elements distributed to the own device by the distribution unit 142 of each information processing device (step S105). Specifically, the data processing unit 143 processes the data elements distributed to the own device in step S104 and the data elements distributed to the own device by the distributing unit 142 of another information processing device.
- the data processing unit 143 of the information processing apparatus 100a processes the data elements A1 and A2 distributed by the distribution unit 142 of the own apparatus among the divided data D110.
- the data processing unit 143 of the information processing apparatus 100a processes the data elements A3 and A4 distributed to the own apparatus by the distribution unit 142 of the information processing apparatus 100b.
- the distribution unit 142 of the information processing device 100 applies the data element included in the transferred divided data when the divided data is transferred from another information processing device (Yes in step S201).
- the data elements are distributed to the information processing devices that process them (step S202).
- the information processing apparatus 100b has the divided data D120 transferred from the information processing apparatus 100a. Therefore, the distribution unit 142 of the information processing device 100b distributes the data elements A3 and A4 processed by the information processing device 100a among the data elements included in the divided data D120 to the information processing device 100a. In addition, the distribution unit 142 of the information processing device 100b distributes the data elements B3 and B4 processed by the information processing device 100b to the information processing device 100b, and distributes the data elements C3 and C4 to the information processing device 100c.
- the data processing unit 143 processes the data element distributed to the own apparatus by the distribution unit 142 of each information processing apparatus (step S202). S203). Specifically, the data processing unit 143 processes the data element distributed by the distribution unit 142 of the own device and the data element distributed to the own device by the distribution unit 142 of another information processing device.
- the data processing unit 143 does not perform the distribution processing of the divided data, and the distribution unit 142 of the other information processing apparatus does not distribute the divided data.
- the distributed data element is processed (step S203).
- the data processing unit 143 of the information processing apparatus 100b processes the data elements B1 and B2 distributed to the own apparatus by the distribution unit 142 of the information processing apparatus 100a.
- the data processing unit 143 of the information processing apparatus 100b processes the data elements B3 and B4 distributed by the distribution unit 142 of the own apparatus.
- the data processing unit 143 of the information processing apparatus 100c has not transferred divided data from the information processing apparatus 100a. Therefore, the data processing unit 143 of the information processing apparatus 100a does not perform distribution processing of divided data.
- the data elements C1 and C2 distributed to the own device by the distribution unit 142 are processed.
- the data processing unit 143 of the information processing apparatus 100c processes the data elements C3 and C4 distributed to the own apparatus by the distribution unit 142 of the information processing apparatus 100b.
- the distributed processing system 1 according to the first embodiment transfers processing target data to a plurality of information processing apparatuses 100 and performs a process of distributing data elements by the plurality of information processing apparatuses 100.
- the distributed processing system 1 according to the first embodiment can distribute the load applied to the data distribution processing to a plurality of information processing apparatuses.
- the distributed processing system 1 according to the first embodiment can shorten the time required for data processing.
- the distributed processing system disclosed in the present application may be implemented in various different forms other than the above-described embodiments.
- another embodiment such as a distributed processing system disclosed in the present application will be described.
- the information processing apparatus 100 divides the data to be processed, and transfers the divided data assigned to the other information processing apparatus to the other information processing apparatus. At this time, the information processing apparatus allocates and transfers the divided data to an information processing apparatus having a large number of data elements to be processed among the data elements included in the divided data among the information processing apparatuses in the distributed processing system. May be. This will be specifically described with reference to FIG. FIG. 6 is a schematic diagram illustrating an example of distributed processing performed by the distributed processing system 2 according to the second embodiment.
- the distributed processing system 2 includes information processing apparatuses 200a to 200c.
- the information processing apparatus 200a processes the data elements A1 to A4 of the data D200
- the information processing apparatus 200b processes the data elements B1 to B4
- the information processing apparatus 200c processes the data elements C1 to C4. Shall be processed.
- the information processing apparatus 200a divides the data D200 into divided data D210 and divided data D220, and transfers the divided data D220 to another information processing apparatus.
- the divided data D220 includes data elements A4, B3 and B4, and C2 to C4. That is, the divided data D220 includes one data element processed by the information processing device 200a, two data elements processed by the information processing device 200a, and three data elements processed by the information processing device 200c.
- the information processing device 200a allocates and transfers the divided data D220 to the information processing device 200c having the largest number of data elements to be processed among the data elements included in the divided data 220.
- the distributed processing system 2 can reduce the amount of data communication by transferring the divided data to be processed as described above.
- the case where the divided data D220 is transferred to the information processing apparatus 200b and the case where the divided data D220 is transferred to the information processing apparatus 200c are compared, and data communication in both cases is performed. The amount will be described.
- the information processing apparatus 200b distributes the data element A4 among the divided data D220 to the information processing apparatus 200a, and distributes the data elements C2 to C4 to the information processing apparatus 200c. To distribute. That is, in such a case, the information processing device 200b distributes four data elements to other information processing devices.
- the information processing device 200c distributes the data element A4 of the divided data D220 to the information processing device 200a, and the data element B3. And B4 are distributed to the information processing apparatus 200b. That is, the information processing device 200c distributes three data elements to other information processing devices.
- the transfer amount of the divided data D220 to the information processing apparatus 200c has a smaller communication amount of the entire data than the transfer of the divided data D220 to the information processing apparatus 200b.
- the case where the size of the divided data D200 is small is taken as an example to simplify the description.
- the size of the divided data D200 is actually enormous. Therefore, there may be a large difference in the amount of data communication between when the divided data D220 is transferred to the information processing apparatus 200b and when the divided data D220 is transferred to the information processing apparatus 200c.
- the distributed processing system 2 can reduce the amount of data communication, the processing for distributing data elements can be speeded up. As a result, the distributed processing system 2 can shorten the time required for data processing.
- the information processing apparatus may assign the divided data to the information processing apparatus with high processing performance. For example, in the example illustrated in FIG. 1, when the information processing apparatus 100b has higher performance than the information processing apparatus 100c, the information processing apparatus 100a allocates the divided data D120 to the information processing apparatus 100b, and the divided data D120. Is transferred to the information processing apparatus 100b. On the other hand, when the information processing apparatus 100c has higher performance than the information processing apparatus 100b, the information processing apparatus 100a allocates the divided data D120 to the information processing apparatus 100c and transfers the divided data D120 to the information processing apparatus 100c. . Thereby, since the process which distributes a data element can be sped up, the time concerning a data process can be shortened.
- the information processing apparatus may determine the number of data to be divided according to the size of the data to be processed. For example, if the data size is less than 10 [MB (megabytes)], the information processing apparatus divides the data to be processed into two, and the data size is 10 [MB] or more and less than 100 [MB]. In this case, the data to be processed may be divided into three. Further, for example, when the data size is less than 5 [MB (megabytes)], the information processing device distributes the data elements to each information processing device only within the own device without dividing the data to be processed. You may perform the process to do. Thereby, the distributed processing system can efficiently perform the process of distributing the data elements. For example, when the data size is small, the amount of data communication can be reduced by performing a process in which one information processing apparatus distributes data elements to each information processing apparatus.
- the information processing apparatus divides the data to be processed in the range of “1” to “the number of information processing apparatuses included in the distributed processing system”. In other words, in the example illustrated in FIG. 1, the information processing apparatus 100 a divides the data D100 into a maximum of three.
- data elements are processed in ascending order of numbers attached to the end of the code.
- the information processing apparatus 100a is determined to perform processing in the order of data elements A1, A2, A3, and A4.
- the information processing apparatus 100b is processed in the order of data elements B1, B2, B3, and B4, and the information processing apparatus 100c is determined to process in the order of data elements C1, C2, C3, and C4. To do.
- the information processing apparatus 100a concatenates the data elements in the order of the data elements A1, A2, A3, and A4. Further, after receiving the data elements B1 and B2 from the information processing apparatus 100a, the information processing apparatus 100b concatenates the data elements in the order of the data elements B1, B2, B3, and B4. Further, the information processing apparatus 100c receives the data elements C1 and C2 from the information processing apparatus 100a, and further receives the data elements C3 and C4 from the information processing apparatus 100b, and then converts the data elements into the data elements C1, C2, C3, Connect in the order of C4.
- the information processing apparatus 100 may distribute the connected data elements after connecting the data elements in the processing order. For example, in the example illustrated in FIG. 1, the information processing apparatus 100a distributes the connected data elements B1 and B2 to the information processing apparatus 100b after connecting the data elements in the order of the data elements B1 and B2. Similarly, the information processing apparatus 100a distributes the connected data elements C1 and C2 to the information processing apparatus 100c after connecting the data elements in the order of the data elements C1 and C2. Thereby, each information processing apparatus can perform the process which rearranges a data element efficiently.
- FIG. 7 is a diagram for explaining an example of distributed processing by the distributed processing system 3 according to the second embodiment.
- the distributed processing system 3 includes information processing apparatuses 300a to 300c.
- the information processing apparatus 300a processes data elements A1 to A5 of the data D300
- the information processing apparatus 300b processes data elements B1 to B5
- the information processing apparatus 300c processes data elements C1 to C4.
- the information processing apparatus 300a divides the data D300 into divided data D310, divided data D320, and divided data D330. Then, the information processing device 300a transfers the divided data D320 to the information processing device 300b, and transfers the divided data D330 to the information processing device 300c.
- the information processing device 300c distributes the data elements A4 and A5 among the divided data D330 to the information processing device 300b.
- the information processing device 300b connects the data element A3 included in the divided data D320 and the data elements A4 and A5 distributed from the information processing device 300c in the order of processing.
- the information processing apparatus 300b connects data elements in the order of data elements A3, A4, and A5.
- the information processing device 300b distributes the connected data elements A3, A4, and A5 to the information processing device 300a.
- the information processing device 300b when the information processing device 300b has higher performance than the information processing device 300c, the information processing device 300b performs the data connection processing, thereby speeding up the data connection processing. be able to.
- the data connection process illustrated in FIG. 7 can be applied even when there is no difference in performance of the information processing apparatus.
- the information processing device 300c when the information processing device 300c is in a higher load state than the information processing device 300b, the information processing device 300b performs a data connection process, thereby reducing the load on the information processing device 300c. can do. Thereby, the time required for data processing can be shortened.
- Multiprocessor The data distribution processing described above can also be applied to an information processing apparatus that processes data divided among a plurality of processors and an information processing apparatus having a multi-core processor.
- FIG. 8 is a diagram illustrating a computer that executes a distributed processing program.
- a computer 1000 includes a RAM (Random Access Memory) 1010, a cache 1020, an HDD 1030, a ROM (Read Only Memory) 1040, and a CPU (Central Processing Unit) 1050 connected via a bus 1060.
- RAM Random Access Memory
- cache 1020 an HDD 1030
- ROM Read Only Memory
- CPU Central Processing Unit
- the ROM 1040 stores in advance a distributed processing program that exhibits the same function as the information processing apparatus 100 in the first embodiment. Specifically, the ROM 1040 stores a transfer program 1041, a distribution program 1042, and a data processing program 1043.
- the CPU 1050 reads and executes the transfer program 1041, the distribution program 1042, and the data processing program 1043.
- the transfer program 1041 becomes the transfer process 1051
- the distribution program 1042 becomes the distribution process 1052
- the data processing program 1043 becomes the data processing process 1053, as shown in FIG.
- the transfer process 1051 corresponds to the transfer unit 141 illustrated in FIG. 3
- the distribution process 1052 corresponds to the distribution unit 142 illustrated in FIG. 3
- the data processing process 1053 includes the data processing unit illustrated in FIG. 143.
- the HDD 1030 is provided with the data storage unit 131 shown in FIG. 8.
- the programs 1041 to 1043 are not necessarily stored in the ROM 1040.
- the program 1041 or the like may be stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, an MO disk, a DVD disk, a magneto-optical disk, or an IC card inserted into the computer 1000.
- the program 1041 or the like may be stored in a “fixed physical medium” such as a hard disk drive (HDD) provided inside or outside the computer 1000.
- the program 1041 or the like may be stored in “another computer (or server)” connected to the computer 1000 via a public line, the Internet, a LAN, a WAN, or the like.
- the computer 1000 may read and execute each program from the above-described flexible disk or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
データ処理にかかる時間を短くすることができる分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法を提供することを課題とする。処理対象のデータを有する情報処理装置が、かかる処理対象のデータを所定の数で分割し、分割データを他の情報処理装置に転送し、分割データを有する複数の情報処理装置が、データ要素を各情報処理装置に分配する処理を行い、各情報処理装置が、分配されたデータ要素を処理することで、データ処理にかかる時間を短くすることを実現する。
Description
本発明は、分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法に関する。
従来、分散コンピューティングと呼ばれる情報処理の手法が用いられている。分散コンピューティングを採用する分散処理システムは、所定の処理を行う場合に、処理対象のデータを分散して、分散したデータを複数の情報処理装置に並行して処理させる。
図9及び図10を用いて、従来の分散処理について、2個の例を挙げて説明する。図9及び図10は、従来の分散処理の一例を示す図である。図9に示した例において、情報処理装置10aは、データD10を有する。データD10は、大容量のデータであり、所定の処理単位のデータであるデータ要素A1~A4、B1~B4及びC1~C4を含む。
情報処理装置10a~10cは、データ要素A1~A4、B1~B4及びC1~C4のうち、処理するデータ要素が決められている。ここでは、情報処理装置10aは、データD10のうち、データ要素A1~A4を処理するものとする。また、情報処理装置10bは、データ要素B1~B4を処理するものとし、情報処理装置10cは、データ要素C1~C4を処理するものとする。
かかる場合に、情報処理装置10aは、図9に示すように、データD10を情報処理装置10b及び情報処理装置10cへ送信する。続いて、情報処理装置10aは、データD10からデータ要素A1~A4を取り出す。そして、情報処理装置10aは、取り出したデータD10Aを処理する。また、情報処理装置10bは、情報処理装置10aからデータD10を受信した場合に、かかるデータD10からデータ要素B1~B4を取り出して、取り出したデータD10Bを処理する。また、情報処理装置10cは、データD10からデータ要素C1~C4を取り出して、取り出したデータD10Cを処理する。
次に、図10を用いて、従来の分散処理の他の例について説明する。図10に示した例において、情報処理装置10a~10cは、図9に示した例と同様に、処理するデータ要素が決められているものとする。かかる場合に、情報処理装置10aは、データD10からデータ要素A1~A4を取り出す。また、情報処理装置10aは、データD10からデータ要素B1~B4を取り出して、取り出したデータD10Bを情報処理装置10bに分配する。また、情報処理装置10aは、データD10からデータ要素C1~C4を取り出して、取り出したデータD10Cを情報処理装置10cに分配する。そして、情報処理装置10aはデータD10Aを処理し、情報処理装置10bはデータD10Bを処理し、情報処理装置10cはデータD10Cを処理する。
しかしながら、上述した従来技術には、データ処理にかかる時間が長いという問題があった。具体的には、図9に示した分散処理を用いると、データ送信処理に時間がかかるので、データ処理にかかる時間が長くなる。図9に示した例を用いて説明すると、情報処理装置10aは、大容量のデータD10を情報処理装置10b及び10cへ送信する。このため、図9に示した分散処理では、データD10を送信する処理に時間がかかるので、データ処理にかかる時間が長くなる。
また、図10に示した分散処理を用いると、データ要素を分配する情報処理装置の負荷が高くなるので、データ処理にかかる時間が長くなる。図10に示した例を用いて説明すると、情報処理装置10aは、データD10からデータ要素を取り出す処理と、取り出したデータ要素を情報処理装置10b及び10cに分配する処理とを担う。したがって、図10に示した分散処理では、情報処理装置10aにかかる負荷が高くなり、データ要素を分配する処理に時間がかかる。このため、図10に示した分散処理では、データ処理にかかる時間が長くなる。
なお、図9及び図10では、情報処理装置が3個である例を示したが、実際の分散処理システムは、数百個~数万個の情報処理装置を有する場合がある。また、分散処理システムで処理されるデータのサイズは、一般に膨大である。そのため、上記の従来技術を用いると、データ送信処理やデータ要素を分配する処理に時間がかかるので、データ処理にかかる時間を遅延させる。
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、データ処理にかかる時間を短くすることができる分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本願に開示する分散処理システムは、複数の情報処理装置を有する分散処理システムであって、前記複数の情報処理装置は、各々処理する情報処理装置が決められているデータ要素を含む処理対象のデータを分割し、分割したデータである分割データを分散処理システム内の全て又は一部の情報処理装置に割り当て、他の情報処理装置に割り当てた分割データを前記他の情報処理装置へ転送する転送部と、自身の転送部あるいは他の情報処理装置の転送部によって自身に割り当てられた分割データに含まれるデータ要素を、該データ要素を処理する情報処理装置に分配する分配部と、自身の分配部によって分配されたデータ要素と、前記他の情報処理装置から分配されたデータ要素とを処理するデータ処理部とを備えたことを要件とする。
なお、本願に開示する分散処理システムの構成要素、表現又は構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。
本願に開示した分散処理システムによれば、データ処理にかかる時間を短くすることができるという効果を奏する。
1~3 分散処理システム
10a~10c 情報処理装置
100 情報処理装置
100a~100c 情報処理装置
200a~200c 情報処理装置
300a~300c 情報処理装置
110 I/F
120 一次記憶部
130 二次記憶部
131 データ記憶部
140 制御部
141 転送部
142 分配部
143 データ処理部
1000 コンピュータ
1020 キャッシュ
1030 HDD
1040 ROM
1041 転送プログラム
1042 分配プログラム
1043 データ処理プログラム
1050 CPU
1051 転送プロセス
1052 分配プロセス
1053 データ処理プロセス
1060 バス
10a~10c 情報処理装置
100 情報処理装置
100a~100c 情報処理装置
200a~200c 情報処理装置
300a~300c 情報処理装置
110 I/F
120 一次記憶部
130 二次記憶部
131 データ記憶部
140 制御部
141 転送部
142 分配部
143 データ処理部
1000 コンピュータ
1020 キャッシュ
1030 HDD
1040 ROM
1041 転送プログラム
1042 分配プログラム
1043 データ処理プログラム
1050 CPU
1051 転送プロセス
1052 分配プロセス
1053 データ処理プロセス
1060 バス
以下に、本願に開示する分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例により本願に開示する分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法が限定されるものではない。
[実施例1に係る分散処理システム1による分散処理]
まず、実施例1に係る分散処理システム1による分散処理について説明する。実施例1に係る分散処理システム1は、データ要素を分散処理システム1内の情報処理装置に分配する処理を、複数の情報処理装置によって行う。
まず、実施例1に係る分散処理システム1による分散処理について説明する。実施例1に係る分散処理システム1は、データ要素を分散処理システム1内の情報処理装置に分配する処理を、複数の情報処理装置によって行う。
実施例1における情報処理装置(ここでは、「第一の情報処理装置」と呼ぶこととする)は、処理対象のデータを分割し、分割したデータ(以下、「分割データ」と言う)を分散処理システム1内の情報処理装置の全て又は一部に割り当てる。そして、第一の情報処理装置は、他の情報処理装置に割り当てられた分割データを、かかる分割データが割り当てられた他の情報処理装置へ転送する。そして、第一の情報処理装置は、自装置に割り当てた分割データに含まれるデータ要素を、かかるデータ要素を処理する情報処理装置に分配する。また、他の情報処理装置は、第一の情報処理装置から転送された分割データに含まれるデータ要素を、かかるデータ要素を処理する情報処理装置に分配する。そして、第一の情報処理装置及び他の情報処理装置は、自装置に分配されたデータ要素を処理する。
上述した分散処理について図1を用いて具体的に説明する。図1は、実施例1に係る分散処理システム1による分散処理の一例を説明するための図である。図1に示す分散処理システム1は、情報処理装置100a~100cを有する。
情報処理装置100a~100cは、データ要素A1~A4、B1~B4及びC1~C4を含むデータD100を分散して処理する。図1の例では、情報処理装置100aは、情報処理装置100a~100cが処理するデータ要素を決定する。そして、情報処理装置100a~100cは、自身による処理対象のデータ要素を処理する。
ここで、図2を用いて、分散処理システム1によって処理されるデータD100について説明する。図2は、実施例1に係る分散処理システム1によって処理されるデータD100の一例を説明するための図である。図2に示した例において、データ要素A1~A4、B1~B4及びC1~C4は、符号化された画像データである。そして、データ要素A1~A4、B1~B4及びC1~C4は、復号化などの処理が行われることにより、画像G100となる。
このようなデータD100を処理する場合に、情報処理装置100a~100cは、それぞれ画像G100の列ごとにデータ要素を処理する場合がある。例えば、実施例1では、情報処理装置100aは、画像G100の列C11に対応するデータ要素を処理し、情報処理装置100bは、列C12に対応するデータ要素を処理し、情報処理装置100cは、列C13に対応するデータ要素を処理する。
図1では、上記例のように、情報処理装置100a~100cは、それぞれ列C11~C13に対応するデータ要素を処理するものとする。すなわち、情報処理装置100aは、データD100のうち、データ要素A1~A4を処理し、情報処理装置100bは、データ要素B1~B4を処理し、情報処理装置100cは、データ要素C1~C4を処理するものとする。
このような構成の下、情報処理装置100aは、データD100を分割し、分割データを情報処理装置100a~100cの全て又は一部に割り当てる。そして、情報処理装置100aは、分割データを、かかる分割データが割り当てられた情報処理装置100bや100cへ転送する。図1に示した例では、情報処理装置100aは、データD100を、分割データD110と分割データD120とに分割して、分割データD110を情報処理装置100aに割り当て、分割データD120を情報処理装置100bに割り当てている。そして、情報処理装置100aは、情報処理装置100bに割り当てた分割データD120を情報処理装置100bへ転送している。
続いて、情報処理装置100aは、自装置に割り当てた分割データD110に含まれるデータ要素を、かかるデータ要素を処理する情報処理装置に分配する。具体的には、図1に示すように、情報処理装置100aは、分割データD110からデータ要素A1及びA2を取り出して、取り出したデータ要素A1及びA2を自身、即ち情報処理装置100aに分配する。また、情報処理装置100aは、分割データD110のうち、データ要素B1及びB2を情報処理装置100bに分配し、データ要素C1及びC2を情報処理装置100cに分配する。
また、情報処理装置100bは、情報処理装置100aから転送された分割データD120に含まれるデータ要素を、かかるデータ要素を処理する情報処理装置に分配する。具体的には、図1に示すように、情報処理装置100bは、分割データD120からデータ要素A3及びA4を取り出して、取り出したデータ要素A3及びA4を情報処理装置100aに分配する。また、情報処理装置100bは、分割データD120からデータ要素C3及びC4を取り出して、取り出したデータ要素C3及びC4を情報処理装置100cに分配する。
なお、情報処理装置100a~100cは、取り出したデータ要素を連結した後に、連結したデータ要素を他の情報処理装置に分配することが好ましい。例えば、図1に示した例において、情報処理装置100aは、データ要素B1及びB2を連結して、連結したデータ要素B1及びB2を情報処理装置100bに分配する。情報処理装置100a~100cは、連結したデータ要素をまとめてそれぞれの情報処理装置に分配することにより、通信効率を向上させることができる。
そして、情報処理装置100a~100cは、各情報処理装置によって分配されたデータ要素を処理する。具体的には、情報処理装置100aは、自装置によって分配されたデータ要素A1及びA2と、情報処理装置100bによって分配されたデータ要素A3及びA4とを処理する。また、情報処理装置100bは、情報処理装置100aによって分配されたデータ要素B1及びB2と、自装置によって分配されたデータ要素B3及びB4とを処理する。また、情報処理装置100cは、情報処理装置100aによって分配されたデータ要素C1及びC2と、情報処理装置100bによって分配されたデータ要素C3及びC4とを処理する。
このように、実施例1に係る分散処理システム1は、分割された処理対象のデータの一部を他の情報処理へ転送し、複数の情報処理装置によってデータ要素を、データ要素に対する処理を実行する情報処理装置に分配する処理を行うので、図9に示した分散処理と比較して、データの通信量を減らすことができる。これにより、実施例1に係る分散処理システム1は、図9に示した分散処理と比較して、データ送信処理にかかる時間を短くすることができるので、データ処理にかかる時間を短くすることができる。
また、実施例1に係る分散処理システム1は、上記のように、処理を行なう情報処理装置に対してデータ要素を分配する処理を複数の情報処理装置によって行うので、データ要素を分配する処理にかかる負荷を複数の情報処理装置に分散させることができる。これにより、実施例1に係る分散処理システム1は、図10に示した分散処理と比較して、データ要素を分配する処理を高速化することができるので、データ処理にかかる時間を短くすることができる。
また、実施例1に係る分散処理システム1は、情報処理装置間で処理対象の全データを送受しないので、図9に示した分散処理と比較して、メモリ使用量を減らすことができる。
[実施例1における情報処理装置100の構成]
次に、図3を用いて、実施例1における情報処理装置100の構成について説明する。図3は、実施例1における情報処理装置100の構成を示す図である。なお、図3に示した情報処理装置100は、図1に示した情報処理装置100a~100cに対応する。
次に、図3を用いて、実施例1における情報処理装置100の構成について説明する。図3は、実施例1における情報処理装置100の構成を示す図である。なお、図3に示した情報処理装置100は、図1に示した情報処理装置100a~100cに対応する。
図3に示すように、情報処理装置100は、インタフェース(以下、「I/F」と言う)110と、一次記憶部120と、二次記憶部130と、制御部140とを有する。
I/F110は、他の情報処理装置との間で各種データを送受する。例えば、図1に示した例において、情報処理装置100aは、I/F110を介して、情報処理装置100b及び100cとの間で各種データを送受する。
一次記憶部120は、各種情報を記憶する記憶デバイスであり、例えば、メモリである。後述する制御部140は、一次記憶部120に各種情報を一時的に記憶させながら、各種処理を行う。
二次記憶部130は、各種情報を記憶する記憶デバイスであり、例えば、ハードディスクである。実施例1における二次記憶部130は、データ記憶部131を有する。データ記憶部131は、処理対象のデータを記憶する。例えば、データ記憶部131は、図1及び図2に示したデータD100を記憶する。
制御部140は、情報処理装置100を全体制御する。実施例1における制御部140は、転送部141と、分配部142と、データ処理部143とを有する。
転送部141は、処理対象のデータを分割し、分割データを分散処理システム1内の情報処理装置の全て又は一部に割り当て、他の情報処理装置に割り当てた分割データを他の情報処理装置へ転送する。
具体的には、転送部141は、データ記憶部131に記憶されている処理対象のデータを読み出す。続いて、転送部141は、読み出したデータを所定の数に分割する。データの分割数は任意である。そして、転送部141は、分割データを分散処理システム1内の情報処理装置の全て又は一部に割り当てる。そして、転送部141は、他の情報処理装置に割り当てた分割データを、かかる分割データが割り当てられた情報処理装置へ転送する。なお、実施例1では、転送部141が処理対象のデータを分割する数は、予め決められているものとする。
図1に示した例を用いて、転送部141による分割データの転送処理を説明する。図1に示した例において、情報処理装置100aの転送部141は、データD100を2個の分割データD110と分割データD120とに分割する。続いて、転送部141は、分割データD110を自装置である情報処理装置100aに割り当て、分割データD120を情報処理装置100bに割り当てる。そして、情報処理装置100aは、情報処理装置100bに割り当てた分割データD120を情報処理装置100bへ転送する。
なお、転送部141による転送処理は、図1に示した例に限られない。例えば、転送部141は、分割データD120を情報処理装置100cに割り当てて転送してもよい。また、転送部141は、分割データD110を自装置以外の情報処理装置100b又は100cに割り当てて転送してもよい。また、転送部141は、分割データD110を情報処理装置100bに割り当てて転送するとともに、分割データD120を情報処理装置100cに割り当てて転送してもよい。
分配部142は、転送部141によって自装置に割り当てられた分割データ、または、他の情報処理装置から転送された分割データに含まれるデータ要素を、かかるデータ要素を処理する情報処理装置に分配する。
具体的には、分配部142は、転送部141によって自装置に分割データが割り当てられた場合に、かかる分割データからデータ要素を取り出して、取り出した各データ要素を、かかるデータ要素を処理する情報処理装置に分配する。ここで、本実施例では前述のように、データ要素を処理する情報処理装置がデータ要素毎に定まっているため、分配部142は定められた情報処理装置に対して対応するデータ要素を分配する。
また、分配部142は、他の情報処理装置の転送部141から分割データが転送された場合に、転送された分割データからデータ要素を取り出して、取り出した各データ要素を、かかるデータ要素を処理する情報処理装置に分配する。なお、上述したように、分配部142は、データ要素を連結した後に、連結したデータ要素を分配してもよい。
図1に示した例を用いて、分配部142によるデータ要素の分配処理を説明する。図1に示した例において、情報処理装置100aの転送部141は、分割データD110を情報処理装置100aに割り当てている。したがって、情報処理装置100aの分配部142は、分割データD110から各データ要素を取り出して、対応する情報処理装置にそれぞれのデータ要素を分配する。具体的には、情報処理装置100aの分配部142は、分割データD110からデータ要素A1及びA2を取り出して、取り出したデータ要素A1及びA2を自身である情報処理装置100aに分配する。また、情報処理装置100aの分配部142は、分割データD110からデータ要素B1及びB2を取り出して、取り出したデータ要素B1及びB2を情報処理装置100bに分配する。また、情報処理装置100aの分配部142は、分割データD110からデータ要素C1及びC2を取り出して、取り出したデータ要素C1及びC2を情報処理装置100cに分配する。
また、図1に示した例において、情報処理装置100bは、情報処理装置100aから分割データD120を受け付けている。したがって、情報処理装置100bの分配部142は、受け付けた分割データD120からデータ要素A3及びA4を取り出して、取り出したデータ要素A3及びA4を情報処理装置100aに分配する。また、情報処理装置100bの分配部142は、分割データD120からデータ要素B3及びB4を取り出して、取り出したデータ要素B3及びB4を情報処理装置100bに分配する。また、情報処理装置100bの分配部142は、分割データD120から、データ要素C3及びC4を取り出して、取り出したデータ要素C3及びC4を情報処理装置100cに分配する。
データ処理部143は、自装置内の分配部142によって分配されたデータ要素と、他の情報処理装置の分配部142によって分配されたデータ要素とを処理する。具体的には、データ処理部143は、自装置内の分配部142によってデータ要素が分配された場合に、分配されたデータ要素を処理する。また、データ処理部143は、他の情報処理装置の分配部142によってデータ要素が分配された場合に、他の情報処理装置から分配されたデータ要素を処理する。
図1に示した例を用いて、データ処理部143によるデータ処理を説明する。図1に示した例において、情報処理装置100aのデータ処理部143は、自装置の分配部142によって分配されたデータ要素A1及びA2を処理する。また、情報処理装置100aのデータ処理部143は、他の情報処理装置100bの分配部142によって分配されたデータ要素A3及びA4を処理する。
また、図1に示した例において、情報処理装置100bのデータ処理部143は、他の情報処理装置100aの分配部142によって分配されたデータ要素B1及びB2を処理する。また、情報処理装置100bのデータ処理部143は、自装置の分配部142によって分配されたデータ要素B3及びB4を処理する。
また、図1に示した例において、情報処理装置100cのデータ処理部143は、他の情報処理装置100aの分配部142によって分配されたデータ要素C1及びC2を処理する。また、情報処理装置100cのデータ処理部143は、他の情報処理装置100bの分配部142によって分配されたデータ要素C3及びC4を処理する。
[実施例1に係る分散処理システム1による分散処理手順]
次に、図4及び図5を用いて、実施例1に係る分散処理システム1による分散処理の手順を説明する。図4は、処理対象のデータを有する情報処理装置100による処理手順を示すフローチャートである。図5は、他の情報処理装置から分割データが転送される情報処理装置100による処理手順を示すフローチャートである。例えば、図4に示した処理手順は、図1に示した情報処理装置100aによる処理手順であり、図5に示した処理手順は、図1に示した情報処理装置100b及び100cによる処理手順である。
次に、図4及び図5を用いて、実施例1に係る分散処理システム1による分散処理の手順を説明する。図4は、処理対象のデータを有する情報処理装置100による処理手順を示すフローチャートである。図5は、他の情報処理装置から分割データが転送される情報処理装置100による処理手順を示すフローチャートである。例えば、図4に示した処理手順は、図1に示した情報処理装置100aによる処理手順であり、図5に示した処理手順は、図1に示した情報処理装置100b及び100cによる処理手順である。
図4に示すように、情報処理装置100の転送部141は、データ記憶部131に処理対象のデータが記憶されている場合に(ステップS101肯定)、かかるデータを予め決められている数に分割する(ステップS102)。そして、転送部141は、分割データを分散処理システム1内の情報処理装置の全て又は一部に割り当て、他の情報処理装置に割り当てた分割データを、かかる他の情報処理装置へ転送する(ステップS103)。
図1に示した例では、情報処理装置100aの転送部141は、データD100を2個の分割データD110と分割データD120とに分割する。そして、転送部141は、分割したD120を情報処理装置100bに割り当て、かかる分割データD120を情報処理装置100bへ転送する。
続いて、分配部142は、上記ステップS103において自装置に割り当てた分割データに含まれるデータ要素を、かかるデータ要素を処理する情報処理装置に分配する(ステップS104)。
図1に示した例では、情報処理装置100aの分配部142は、分割データD110に含まれるデータ要素のうち、情報処理装置100aが処理するデータ要素A1及びA2を自装置である情報処理装置100aに分配する。また、情報処理装置100aの分配部142は、情報処理装置100bが処理するデータ要素B1及びB2を情報処理装置100bに分配し、情報処理装置100cが処理するデータ要素C1及びC2を情報処理装置100cに分配する。
そして、データ処理部143は、各情報処理装置の分配部142によって自装置に分配されたデータ要素を処理する(ステップS105)。具体的には、データ処理部143は、上記ステップS104において自装置に分配したデータ要素と、他の情報処理装置の分配部142によって自装置に分配されたデータ要素とを処理する。
図1に示した例では、情報処理装置100aのデータ処理部143は、分割データD110のうち、自装置の分配部142によって分配されたデータ要素A1及びA2を処理する。また、情報処理装置100aのデータ処理部143は、情報処理装置100bの分配部142によって自装置に分配されたデータ要素A3及びA4を処理する。
次に、図5に示した処理手順について説明する。図5に示すように、情報処理装置100の分配部142は、他の情報処理装置から分割データが転送された場合に(ステップS201肯定)、転送された分割データに含まれるデータ要素を、かかるデータ要素を処理する情報処理装置に分配する(ステップS202)。
図1に示した例では、情報処理装置100bは、情報処理装置100aから分割データD120が転送されている。したがって、情報処理装置100bの分配部142は、分割データD120に含まれるデータ要素のうち、情報処理装置100aが処理するデータ要素A3及びA4を情報処理装置100aに分配する。また、情報処理装置100bの分配部142は、情報処理装置100bが処理するデータ要素B3及びB4を情報処理装置100bに分配し、データ要素C3及びC4を情報処理装置100cに分配する。
分配部142によってデータ要素が対応する情報処理装置に分配された後(ステップS202)、データ処理部143は、各情報処理装置の分配部142によって自装置に分配されたデータ要素を処理する(ステップS203)。具体的には、データ処理部143は、自装置の分配部142によって分配されたデータ要素と、他の情報処理装置の分配部142によって自装置に分配されたデータ要素とを処理する。
一方、他の情報処理装置から分割データが転送されなかった場合に(ステップS201否定)、データ処理部143は分割データの分配処理は行なわず、他の情報処理装置の分配部142によって自装置に分配されたデータ要素を処理する(ステップS203)。
図1に示した例では、情報処理装置100bのデータ処理部143は、情報処理装置100aの分配部142によって自装置に分配されたデータ要素B1及びB2を処理する。また、情報処理装置100bのデータ処理部143は、自装置の分配部142によって分配されたデータ要素B3及びB4を処理する。
また、図1に示した例において、情報処理装置100cのデータ処理部143は、情報処理装置100aから分割データを転送されていないので、分割データの分配処理を行なうことなく、情報処理装置100aの分配部142によって自装置に分配されたデータ要素C1及びC2を処理する。また、情報処理装置100cのデータ処理部143は、情報処理装置100bの分配部142によって自装置に分配されたデータ要素C3及びC4を処理する。
[実施例1の効果]
上述してきたように、実施例1に係る分散処理システム1は、処理対象のデータを複数の情報処理装置100へ転送して、複数の情報処理装置100によってデータ要素を分散する処理を行う。これにより、実施例1に係る分散処理システム1は、データ分散処理にかかる負荷を複数の情報処理装置に分散させることができる。その結果、実施例1に係る分散処理システム1は、データ処理にかかる時間を短くすることができる。
上述してきたように、実施例1に係る分散処理システム1は、処理対象のデータを複数の情報処理装置100へ転送して、複数の情報処理装置100によってデータ要素を分散する処理を行う。これにより、実施例1に係る分散処理システム1は、データ分散処理にかかる負荷を複数の情報処理装置に分散させることができる。その結果、実施例1に係る分散処理システム1は、データ処理にかかる時間を短くすることができる。
ところで、本願に開示する分散処理システム等は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例2では、本願に開示する分散処理システム等の他の実施例について説明する。
[転送処理1]
上記実施例1で説明したように、情報処理装置100は処理対象のデータを分割して、他の情報処理装置に割り当てた分割データを他の情報処理装置へ転送する。このとき、情報処理装置は、分散処理システム内の情報処理装置のうち、分割データに含まれるデータ要素の中で処理すべきデータ要素の数が多い情報処理装置に、かかる分割データを割り当てて転送してもよい。図6を用いて具体的に説明する。図6は、実施例2に係る分散処理システム2による分散処理の一例を説明するための図である。
上記実施例1で説明したように、情報処理装置100は処理対象のデータを分割して、他の情報処理装置に割り当てた分割データを他の情報処理装置へ転送する。このとき、情報処理装置は、分散処理システム内の情報処理装置のうち、分割データに含まれるデータ要素の中で処理すべきデータ要素の数が多い情報処理装置に、かかる分割データを割り当てて転送してもよい。図6を用いて具体的に説明する。図6は、実施例2に係る分散処理システム2による分散処理の一例を説明するための図である。
図6に示すように、分散処理システム2は、情報処理装置200a~200cを有する。ここでは、情報処理装置200aは、データD200のうち、データ要素A1~A4を処理し、情報処理装置200bは、データ要素B1~B4を処理し、情報処理装置200cは、データ要素C1~C4を処理するものとする。
そして、情報処理装置200aは、図6に示すように、データD200を、分割データD210と分割データD220とに分割して、分割データD220を他の情報処理装置へ転送するものとする。ここで、分割データD220は、データ要素A4、B3及びB4、C2~C4を含む。すなわち、分割データD220は、情報処理装置200aが処理するデータ要素を1個含み、情報処理装置200aが処理するデータ要素を2個含み、情報処理装置200cが処理するデータ要素を3個含む。かかる場合に、情報処理装置200aは、分割データ220に含まれるデータ要素のうち、処理するデータ要素の数が最も多い情報処理装置200cに分割データD220を割り当てて転送する。
分散処理システム2は、上記のように処理対象の分割データを転送することにより、データ通信量を減らすことができる。かかる効果を明確にするために、分割データD220が情報処理装置200bへ転送される場合と、分割データD220が情報処理装置200cへ転送される場合とを比較して、双方のケースにおけるデータの通信量について説明する。
まず、分割データD220が情報処理装置200bへ転送された場合、情報処理装置200bは、分割データD220のうち、データ要素A4を情報処理装置200aに分配し、データ要素C2~C4を情報処理装置200cに分配する。すなわち、かかる場合には、情報処理装置200bは、4個のデータ要素を他の情報処理装置に分配することになる。
一方、図6に示すように、分割データD220が情報処理装置200cへ転送された場合、情報処理装置200cは、分割データD220のうち、データ要素A4を情報処理装置200aに分配し、データ要素B3及びB4を情報処理装置200bに分配する。すなわち、情報処理装置200cは、3個のデータ要素を他の情報処理装置に分配する。
このことから、分割データD220を情報処理装置200cへ転送した方が、分割データD220を情報処理装置200bへ転送するよりも、全体のデータの通信量が少ないことが分かる。なお、図6に示した例では、説明を簡単にするために、分割データD200のサイズが小さい場合を例に挙げたが、実際には分割データD200のサイズは膨大である。したがって、分割データD220を情報処理装置200bへ転送した場合と、分割データD220を情報処理装置200cへ転送した場合とでは、データ通信量に大きな差が発生することがある。
このように、分散処理システム2は、データの通信量を減らすことができるので、データ要素を分配する処理を高速化することができる。その結果、分散処理システム2は、データ処理にかかる時間を短くすることができる。
[転送処理2]
また、情報処理装置は、処理性能の高い情報処理装置に分割データを割り当ててもよい。例えば、図1に示した例において、情報処理装置100cよりも情報処理装置100bの方が高性能である場合、情報処理装置100aは、分割データD120を情報処理装置100bに割り当てて、分割データD120を情報処理装置100bへ転送する。一方、情報処理装置100bよりも情報処理装置100cの方が高性能である場合、情報処理装置100aは、分割データD120を情報処理装置100cに割り当てて、分割データD120を情報処理装置100cへ転送する。これにより、データ要素を分配する処理を高速化することができるので、データ処理にかかる時間を短くすることができる。
また、情報処理装置は、処理性能の高い情報処理装置に分割データを割り当ててもよい。例えば、図1に示した例において、情報処理装置100cよりも情報処理装置100bの方が高性能である場合、情報処理装置100aは、分割データD120を情報処理装置100bに割り当てて、分割データD120を情報処理装置100bへ転送する。一方、情報処理装置100bよりも情報処理装置100cの方が高性能である場合、情報処理装置100aは、分割データD120を情報処理装置100cに割り当てて、分割データD120を情報処理装置100cへ転送する。これにより、データ要素を分配する処理を高速化することができるので、データ処理にかかる時間を短くすることができる。
[転送処理3]
また、上記では、処理対象のデータを分割する数が予め決められていることを前提として説明したが、情報処理装置は、処理対象のデータのサイズによって、分割する数を決定してもよい。例えば、情報処理装置は、データサイズが10[MB(メガバイト)]未満である場合には、処理対象のデータを2個に分割し、データサイズが10[MB]以上であり100[MB]未満である場合には、処理対象のデータを3個に分割してもよい。また、例えば、情報処理装置は、データサイズが5[MB(メガバイト)]未満である場合には、処理対象のデータを分割せずに、自装置内のみでデータ要素を各情報処理装置に分配する処理を行ってもよい。これにより、分散処理システムは、データ要素を分配する処理を効率的に行うことができる。例えば、データサイズが小さい場合には、1台の情報処理装置がデータ要素を各情報処理装置に分配する処理を行うことにより、データの通信量を減らすことができる。
また、上記では、処理対象のデータを分割する数が予め決められていることを前提として説明したが、情報処理装置は、処理対象のデータのサイズによって、分割する数を決定してもよい。例えば、情報処理装置は、データサイズが10[MB(メガバイト)]未満である場合には、処理対象のデータを2個に分割し、データサイズが10[MB]以上であり100[MB]未満である場合には、処理対象のデータを3個に分割してもよい。また、例えば、情報処理装置は、データサイズが5[MB(メガバイト)]未満である場合には、処理対象のデータを分割せずに、自装置内のみでデータ要素を各情報処理装置に分配する処理を行ってもよい。これにより、分散処理システムは、データ要素を分配する処理を効率的に行うことができる。例えば、データサイズが小さい場合には、1台の情報処理装置がデータ要素を各情報処理装置に分配する処理を行うことにより、データの通信量を減らすことができる。
なお、情報処理装置は、処理対象のデータを、「1」~「分散処理システムが有する情報処理装置の数」の範囲で分割する。すなわち、図1に示した例では、情報処理装置100aは、データD100を最大で3個に分割する。
[連結処理]
また、上記実施例1では、データ要素を処理する順番が決められていないことを前提として説明したが、データ要素を処理する順番が決められている場合、情報処理装置100は、データ要素を処理順に対応して並び替えた後にデータ処理を行う。具体的には、情報処理装置100は、他の情報処理装置から、自装置に割り当てられているデータ要素を全て受信した後に、データ要素を処理する順番に並び替える。
また、上記実施例1では、データ要素を処理する順番が決められていないことを前提として説明したが、データ要素を処理する順番が決められている場合、情報処理装置100は、データ要素を処理順に対応して並び替えた後にデータ処理を行う。具体的には、情報処理装置100は、他の情報処理装置から、自装置に割り当てられているデータ要素を全て受信した後に、データ要素を処理する順番に並び替える。
以下の説明において、データ要素は、符号の最後に付した数字の小さい順に処理されるものとする。例えば、図1に示した例において、情報処理装置100aは、データ要素A1、A2、A3、A4の順に処理することが決められているものとする。同様に、情報処理装置100bは、データ要素B1、B2、B3、B4の順に処理し、情報処理装置100cは、データ要素C1、C2、C3、C4の順に処理することが決められているものとする。
かかる場合に、情報処理装置100aは、情報処理装置100bからデータ要素A3及びA4を受信した後に、データ要素をデータ要素A1、A2、A3、A4の順に連結する。また、情報処理装置100bは、情報処理装置100aからデータ要素B1及びB2を受信した後に、データ要素をデータ要素B1、B2、B3、B4の順に連結する。また、情報処理装置100cは、情報処理装置100aからデータ要素C1及びC2を受信し、さらに、情報処理装置100bからデータ要素C3及びC4を受信した後に、データ要素をデータ要素C1、C2、C3、C4の順に連結する。
また、情報処理装置100は、データ要素を処理順に連結した後に、連結したデータ要素を分配してもよい。例えば、図1に示した例において、情報処理装置100aは、データ要素をデータ要素B1、B2の順に連結した後に、連結したデータ要素B1及びB2を情報処理装置100bに分配する。同様に、情報処理装置100aは、データ要素をデータ要素C1、C2の順に連結した後に、連結したデータ要素C1及びC2を情報処理装置100cに分配する。これにより、各情報処理装置は、データ要素を並び替える処理を効率よく行うことができる。
また、情報処理装置100は、データ連結処理を複数の情報処理装置によって段階的に行ってもよい。図7を用いて具体的に説明する。図7は、実施例2に係る分散処理システム3による分散処理の一例を説明するための図である。
図7に示すように、分散処理システム3は、情報処理装置300a~300cを有する。ここでは、情報処理装置300aは、データD300のうちデータ要素A1~A5を処理し、情報処理装置300bはデータ要素B1~B5を処理し、情報処理装置300cはデータ要素C1~C4を処理するものとする。
図7に示した例において、情報処理装置300aは、データD300を、分割データD310と分割データD320と分割データD330とに分割している。そして、情報処理装置300aは、分割データD320を情報処理装置300bへ転送し、分割データD330を情報処理装置300cへ転送している。
そして、情報処理装置300cは、分割データD330のうち、データ要素A4及びA5を情報処理装置300bに分配する。情報処理装置300bは、分割データD320に含まれるデータ要素A3と、情報処理装置300cから分配されたデータ要素A4及びA5とを、処理される順番に連結する。具体的には、情報処理装置300bは、データ要素をデータ要素A3、A4、A5の順に連結する。そして、情報処理装置300bは、連結したデータ要素A3、A4、A5を情報処理装置300aに分配する。
図7に例示したデータ連結処理は、例えば、情報処理装置の性能に差がある分散処理システムに適用することが有効である。例えば、図7に示した例において、情報処理装置300cよりも情報処理装置300bの方が高性能である場合、情報処理装置300bがデータ連結処理を行うことにより、かかるデータ連結処理を高速化することができる。
また、図7に例示したデータ連結処理は、情報処理装置の性能に差がない場合であっても適用することができる。例えば、図7に示した例において、情報処理装置300cが情報処理装置300bよりも高負荷状態である場合、情報処理装置300bがデータ連結処理を行うことにより、情報処理装置300cにかかる負荷を低減することができる。これにより、データ処理にかかる時間を短くすることができる。
[マルチプロセッサ]
また、上述してきたデータ分散処理は、複数のプロセッサ間でデータを分割して処理する情報処理装置や、マルチコアプロセッサを有する情報処理装置に適用することもできる。
また、上述してきたデータ分散処理は、複数のプロセッサ間でデータを分割して処理する情報処理装置や、マルチコアプロセッサを有する情報処理装置に適用することもできる。
[プログラム]
また、上記実施例1で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図8を用いて、上記の実施例1における情報処理装置100と同様の機能を有する分散処理プログラムを実行するコンピュータの一例を説明する。
また、上記実施例1で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図8を用いて、上記の実施例1における情報処理装置100と同様の機能を有する分散処理プログラムを実行するコンピュータの一例を説明する。
図8は、分散処理プログラムを実行するコンピュータを示す図である。図8に示すように、コンピュータ1000は、RAM(Random Access Memory)1010、キャッシュ1020、HDD1030、ROM(Read Only Memory)1040、およびCPU(Central Processing Unit)1050が、バス1060によって接続されている。
ROM1040には、上記の実施例1における情報処理装置100と同様の機能を発揮する分散処理プログラムが予め記憶されている。具体的には、ROM1040には、転送プログラム1041と、分配プログラム1042と、データ処理プログラム1043とが記憶されている。
そして、CPU1050は、これらの転送プログラム1041と、分配プログラム1042と、データ処理プログラム1043を読み出して実行する。これにより、図8に示すように、転送プログラム1041は、転送プロセス1051になり、分配プログラム1042は、分配プロセス1052になり、データ処理プログラム1043は、データ処理プロセス1053になる。
なお、転送プロセス1051は、図3に示した転送部141に対応し、分配プロセス1052は、図3に示した分配部142に対応し、データ処理プロセス1053は、図3に示したデータ処理部143に対応する。
また、HDD1030には、図8に示すように、図3に示したデータ記憶部131が設けられる。
なお、上記した各プログラム1041~1043については、必ずしもROM1040に記憶させなくてもよい。例えば、コンピュータ1000に挿入されるフレキシブルディスク(FD)、CD-ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラム1041等を記憶させてもよい。または、コンピュータ1000の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」にプログラム1041等を記憶させてもよい。または、公衆回線、インターネット、LAN、WANなどを介してコンピュータ1000に接続される「他のコンピュータ(またはサーバ)」にプログラム1041等を記憶させてもよい。そして、コンピュータ1000は、上述したフレキシブルディスク等から各プログラムを読み出して実行するようにしてもよい。
Claims (9)
- 複数の情報処理装置を有する分散処理システムであって、
前記複数の情報処理装置は、
各々処理する情報処理装置が決められているデータ要素を含む処理対象のデータを分割し、分割したデータである分割データを分散処理システム内の全て又は一部の情報処理装置に割り当て、他の情報処理装置に割り当てた分割データを前記他の情報処理装置へ転送する転送部と、
自身の転送部あるいは他の情報処理装置の転送部によって自身に割り当てられた分割データに含まれるデータ要素を、該データ要素を処理する情報処理装置に分配する分配部と、
自身の分配部によって分配されたデータ要素と、前記他の情報処理装置から分配されたデータ要素とを処理するデータ処理部と
を備えたことを特徴とする分散処理システム。 - 前記転送部は、前記分割データに含まれるデータ要素の中で処理すべきデータ要素の数が多い情報処理装置に該分割データを割り当てることを特徴とする請求項1に記載の分散処理システム。
- 前記転送部は、性能の高い情報処理装置に前記分割データを割り当てることを特徴とする請求項1に記載の分散処理システム。
- 前記転送部は、前記処理対象のデータのサイズに基づいて、前記処理対象のデータを分割する数を決定することを特徴とする請求項1~3のいずれか一つに記載の分散処理システム。
- 前記分配部は、自情報処理装置に割り当てられた分割データに含まれるデータ要素を、該データ要素が処理される順に連結して、連結したデータ要素を、該データ要素を処理する情報処理装置に分配ることを特徴とする請求項1に記載の分散処理システム。
- 他の情報処理装置と分散して処理を行う情報処理装置であって、
処理する情報処理装置が決められているデータであるデータ要素を含む処理対象のデータを分割し、分割したデータである分割データを自身を含む情報処理装置の全て又は一部に割り当て、他の情報処理装置に割り当てた分割データを前記他の情報処理装置へ転送する転送部と、
自情報処理装置あるいは他の情報処理装置の転送部によって自情報処理装置に割り当てられた分割データに含まれるデータ要素を、該データ要素を処理する情報処理装置に分配する分配部と、
自情報処理装置の分配部によって分配されたデータ要素と、前記他の情報処理装置から分配されたデータ要素とを処理するデータ処理部と
を備えたことを特徴とする情報処理装置。 - 前記分配部は、前記他の情報処理装置から転送された分割データに含まれるデータ要素を、該データ要素を処理する情報処理装置に分配することを特徴とする請求項6に記載の情報処理装置。
- 他の情報処理装置と分散して処理を行う情報処理装置において実行される分散処理プログラムであって、
処理する情報処理装置が決められているデータであるデータ要素を含む処理対象のデータを分割し、分割したデータである分割データを、自身が実行される情報処理装置を含む情報処理装置の全て又は一部に割り当て、他の情報処理装置に割り当てた分割データを前記他の情報処理装置へ転送する転送手順と、
自身が実行される情報処理装置あるいは他の情報処理装置から前記転送手順によって自身が実行される情報処理装置に割り当てられた分割データに含まれるデータ要素を、該データ要素を処理する情報処理装置に分配する分配手順と、
自身が実行される情報処理装置の前記分配手順によって分配されたデータ要素と、前記他の情報処理装置から分配されたデータ要素とを処理するデータ処理手順と
を含んだことを特徴とする分散処理プログラム。 - 複数の情報処理装置を有する分散処理システムにおいて実行される分散処理方法であって、
前記複数の情報処理装置の1つが、各々処理する情報処理装置が決められているデータ要素を含む処理対象のデータを分割し、分割したデータである分割データを分散処理システム内の全て又は一部の情報処理装置に割り当て、他の情報処理装置に割り当てた分割データを前記他の情報処理装置へ転送する転送ステップと、
前記転送ステップにおいて前記分割データを割り当てられた情報処理装置が、自身に割り当てられた分割データに含まれるデータ要素を、該データ要素を処理する情報処理装置に分配する分配ステップと、
前記分配ステップにおいて前記データ要素を分配された情報処理装置が、自身に分配されたデータ要素を処理するデータ処理ステップと
を含んだことを特徴とする分散処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011504691A JP5321680B2 (ja) | 2009-03-19 | 2009-03-19 | 情報処理システム、情報処理装置、分散処理プログラム及び分散処理方法 |
PCT/JP2009/055518 WO2010106677A1 (ja) | 2009-03-19 | 2009-03-19 | 分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法 |
US13/137,862 US20120011188A1 (en) | 2009-03-19 | 2011-09-19 | Distributed processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/055518 WO2010106677A1 (ja) | 2009-03-19 | 2009-03-19 | 分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/137,862 Continuation US20120011188A1 (en) | 2009-03-19 | 2011-09-19 | Distributed processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010106677A1 true WO2010106677A1 (ja) | 2010-09-23 |
Family
ID=42739346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/055518 WO2010106677A1 (ja) | 2009-03-19 | 2009-03-19 | 分散処理システム、情報処理装置、分散処理プログラム及び分散処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120011188A1 (ja) |
JP (1) | JP5321680B2 (ja) |
WO (1) | WO2010106677A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014102691A (ja) * | 2012-11-20 | 2014-06-05 | Toshiba Corp | 情報処理装置、通信機能を持つカメラ、および情報処理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07253953A (ja) * | 1994-03-16 | 1995-10-03 | Matsushita Electric Ind Co Ltd | データ転送方法 |
JPH0844678A (ja) * | 1994-07-29 | 1996-02-16 | Canon Inc | 画像処理装置及びシステム |
JPH08212172A (ja) * | 1995-02-03 | 1996-08-20 | Sanyo Electric Co Ltd | 並列処理装置および並列処理方法 |
JP2006215968A (ja) * | 2005-02-07 | 2006-08-17 | Fujitsu Ltd | データ処理装置、データ処理方法、データ処理プログラム、および記録媒体 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10207853A (ja) * | 1997-01-16 | 1998-08-07 | Hitachi Ltd | プログラムの並列実行方法 |
US8024395B1 (en) * | 2001-09-04 | 2011-09-20 | Gary Odom | Distributed processing multiple tier task allocation |
US9009234B2 (en) * | 2007-02-06 | 2015-04-14 | Software Ag | Complex event processing system having multiple redundant event processing engines |
-
2009
- 2009-03-19 JP JP2011504691A patent/JP5321680B2/ja not_active Expired - Fee Related
- 2009-03-19 WO PCT/JP2009/055518 patent/WO2010106677A1/ja active Application Filing
-
2011
- 2011-09-19 US US13/137,862 patent/US20120011188A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07253953A (ja) * | 1994-03-16 | 1995-10-03 | Matsushita Electric Ind Co Ltd | データ転送方法 |
JPH0844678A (ja) * | 1994-07-29 | 1996-02-16 | Canon Inc | 画像処理装置及びシステム |
JPH08212172A (ja) * | 1995-02-03 | 1996-08-20 | Sanyo Electric Co Ltd | 並列処理装置および並列処理方法 |
JP2006215968A (ja) * | 2005-02-07 | 2006-08-17 | Fujitsu Ltd | データ処理装置、データ処理方法、データ処理プログラム、および記録媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014102691A (ja) * | 2012-11-20 | 2014-06-05 | Toshiba Corp | 情報処理装置、通信機能を持つカメラ、および情報処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5321680B2 (ja) | 2013-10-23 |
JPWO2010106677A1 (ja) | 2012-09-20 |
US20120011188A1 (en) | 2012-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10209908B2 (en) | Optimization of in-memory data grid placement | |
KR102520039B1 (ko) | 에너지 및 시간 효율적인 컨텐츠 배포 및 전송을 지원하기 위한 시스템 및 방법 | |
US11372566B2 (en) | Method and device for storing data | |
US11150989B2 (en) | Method, device and computer program product for managing a storage system | |
KR101980365B1 (ko) | 매트릭스 처리 장치 | |
KR101936396B1 (ko) | 매트릭스 처리 장치 | |
CN108121810A (zh) | 一种数据去重方法、系统、中心服务器及分布式服务器 | |
US10268741B2 (en) | Multi-nodal compression techniques for an in-memory database | |
CN103605630B (zh) | 一种虚拟服务器系统及其数据读写方法 | |
CN104133775A (zh) | 一种用于管理存储器的方法和装置 | |
CN107850983B (zh) | 计算机系统、存储装置和数据的管理方法 | |
US11194522B2 (en) | Networked shuffle storage | |
CN104657115A (zh) | 一种集群文件系统客户端多核并发负载实现方法 | |
JP5321680B2 (ja) | 情報処理システム、情報処理装置、分散処理プログラム及び分散処理方法 | |
JP7142665B2 (ja) | ストレージ管理のための方法、装置、機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム | |
US20150378634A1 (en) | Methods and systems for generating host keys for storage devices | |
US11429317B2 (en) | Method, apparatus and computer program product for storing data | |
KR101253700B1 (ko) | Ngs 데이터의 고속 압축장치 및 그 방법 | |
US11797277B2 (en) | Neural network model conversion method server, and storage medium | |
JP2024506131A (ja) | 仮想マシンのメモリ共有方法および装置 | |
KR101595062B1 (ko) | 그래프 극대 매칭 방법 | |
US11442633B2 (en) | Method, electronic device and computer program product for storage management | |
WO2019188174A1 (ja) | 情報処理装置 | |
CN115858013A (zh) | 一种多研发项目并行的资源配置方法、系统、装置及介质 | |
CN118193120A (zh) | 数据变换加速 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09841882 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2011504691 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09841882 Country of ref document: EP Kind code of ref document: A1 |