Electronic computer

By incorporating a performance table to allocate tasks based on computing unit capabilities, the electronic computer optimizes power consumption and throughput, addressing the inefficiencies of conventional systems.

WO2026023029A1PCT designated stage Publication Date: 2026-01-29NT T INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/026667
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-25
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Conventional electronic computers are unable to optimize performance due to the control unit's inability to know the processing capacity of each computing unit, leading to inefficient allocation of processing tasks.

Method used

The electronic computer includes a performance table that records the performance indices of each arithmetic unit, allowing the control unit to allocate processes based on these indices to optimize power consumption, throughput, and other performance metrics.

Benefits of technology

This approach enables improved performance by optimizing power consumption and throughput by allocating tasks to computing units based on their specific capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024026667_29012026_PF_FP_ABST
    Figure JP2024026667_29012026_PF_FP_ABST
Patent Text Reader

Abstract

An electronic computer according to the present invention comprises: at least one control device; a storage unit; a plurality of calculators: and at least one switch that connects the control device and the plurality of calculators and connects the plurality of calculators to each other. The storage unit stores: a program including a plurality of processes; at least one performance index obtained when each of the plurality of calculators executes the respective processes; and a performance table including a delay time at the switch. The control device is configured to assign at least one of the plurality of processes to one of the plurality of calculators for each process so as to satisfy a required condition for executing the program, on the basis of the performance index included in the performance table and the delay time at the switch.
Need to check novelty before this filing date? Find Prior Art

Description

electronic computer

[0001] The present invention relates to electronic computers that perform calculations electronically.

[0002] Devices such as smartphones, personal computers, and servers are made up of electronic computers. For example, a personal computer consists of a storage device that stores programs, a general-purpose processor that reads the programs from the storage device and executes calculations, and a communication means that connects the storage device and the general-purpose processor. There is a continuous demand for improved performance in these electronic computers, including higher throughput, smaller size, lower power consumption, more flexible processing, and improved user convenience. To meet these demands, computing units with various features have been developed.

[0003] For example, types of computing devices include GPUs (Graphics Processing Units) that can process video and AI at high speeds, ASICs (Application Specific Integrated Circuits) that can process only specific functions at ultra-high speeds but the processing content cannot be changed, and FPGAs (Field Programmable Gate Arrays) that are high-speed but the processing content can be changed after manufacturing.

[0004] In recent years, configurations have emerged that combine computing units with various characteristics in order to improve the overall performance of the computer. A typical configuration of a conventional electronic computer that combines multiple types of computing units is shown in Figure 21. Conventionally, such a computer is composed of a control unit 10 such as a general-purpose processor, a memory unit 20 of a storage device, multiple types of computing units (#1 to #N) such as FPGAs and CPUs (Central Processing Units), and communication means 200 that connects them.

[0005] When a program is executed in this configuration, the control unit 10 reads and executes the execution program stored in the storage unit 20. Here, the control unit 10 offloads part or all of the execution program 60 to each computing unit, thereby improving performance such as higher throughput, smaller size, lower power consumption, more efficient processing, more flexible processing, and user convenience.

[0006] R. Takano and T. Kudoh, "Flow-centric computing leveraged by photonic circuit switching for the post-moore era," 2016 Tenth IEEE / ACM International Symposium on Networks-on-Chip (NOCS), Nara, Japan, 2016

[0007] In the conventional configuration, the control unit 10 of the electronic computer is unable to know the processing capacity of each computing unit, and is therefore forced to allocate processing appropriately without considering the performance of each computing unit, making it impossible to maximize the performance of the electronic computer.

[0008] The present invention was made in consideration of the above-mentioned problems of the prior art, and has as its object to provide an electronic computer capable of improving performance such as power consumption and throughput.

[0009] In order to solve the above problem, the electronic computer of the present invention is an electronic computer comprising at least one control device, a memory unit, a plurality of arithmetic units, and at least one switch connecting the control device and the plurality of arithmetic units, and connecting the plurality of arithmetic units together, wherein the memory unit stores a program including a plurality of processes, and a performance table including at least one performance index when each of the plurality of arithmetic units executes each of the plurality of processes, and a delay time in the switch, and the control device is configured to assign at least one of the plurality of processes to one of the plurality of arithmetic units for each process, based on the performance index included in the performance table and the delay time in the switch, so as to meet the requirements when executing the program.

[0010] According to the present invention, it is possible to provide an electronic computer that can improve performance such as power consumption and throughput by having the control unit of the electronic computer allocate processing to the computing units based on performance information of each computing unit.

[0011] FIG. 1 is a configuration example of a computer according to a first embodiment of the present invention. FIG. 2 is a flowchart of an execution program according to the first embodiment of the present invention. FIG. 3 is a configuration example of a performance table according to the first embodiment of the present invention. FIG. 4 is a configuration example of a computing unit according to a second embodiment of the present invention. FIG. 5 is a configuration example of a performance table according to the second embodiment of the present invention. FIG. 6 is a configuration example of a computer according to the second embodiment of the present invention. FIG. 7 is a configuration example of a computing unit according to a third embodiment of the present invention. FIG. 8 is a configuration example of a computer according to the third embodiment of the present invention. FIG. 9 is a configuration example of a computer according to a fourth embodiment of the present invention. FIG. 10 is a configuration example of a performance table according to a fifth embodiment of the present invention. FIG. 11 is a configuration example of a computer according to a sixth embodiment of the present invention. FIG. 12 is a configuration example of a performance table according to the sixth embodiment of the present invention. FIG. 13 is a flowchart of an allocation program according to the sixth embodiment of the present invention. FIG. 14 is a configuration example of a computer according to a seventh embodiment of the present invention. FIG. 15 is a configuration example of a computer according to an eighth embodiment of the present invention. Fig. 16 is a configuration example of a computer according to a ninth embodiment of the present invention. Fig. 17 is a configuration example of a computer according to a tenth embodiment of the present invention. Fig. 18 is a configuration example of a computer according to an eleventh embodiment of the present invention. Fig. 19 is a configuration example of a computer according to a twelfth embodiment of the present invention. Fig. 20 is a configuration example of a computer according to a thirteenth embodiment of the present invention. Fig. 21 is a configuration example of a conventional computer.

[0012] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention can be embodied in many different forms and should not be construed as being limited to the embodiments of the present invention described below.

[0013] [First embodiment] In the first embodiment of the present invention, in addition to the execution program 60 executed by the arithmetic units (#1 to #N) (30-1 to 30-N), the storage unit 20 of the electronic computer 1 is provided with a performance table 80 that describes the performance of each arithmetic unit (#1 to #N) (30-1 to 30-N), and an allocation program that calculates to which arithmetic unit (#1 to #N) (30-1 to 30-N) each process should be allocated based on the performance table 80, thereby realizing low power consumption of the entire computer.

[0014] An example of the configuration of this embodiment is shown in Figure 1. The configuration of this embodiment differs from the conventional configuration in that the storage unit 20 of the electronic computer 1 has an allocation program 70 and a performance table 80. In this configuration, the performance table 80 describes the performance when each computing unit executes each process of the execution program 60. A feature of this embodiment is that the allocation program 70 refers to this performance table 80 and allocates the processing of the execution program 60 to each computing unit (#1 to #N) (30-1 to 30-N) according to the performance requirements desired by the user.

[0015] The operation of this embodiment will be specifically described with reference to FIG. 2. For example, in this embodiment, the execution program 60 executed by the control unit 10 includes multiple processes (process A, process B, and process C), and the processes are executed sequentially in the order of process A → process B → process C. In this configuration, it is assumed that five types of arithmetic units (#1 to #5) are available. Here, the multiple types of arithmetic units are GPUs, FPGAs, ASICs, etc.

[0016] 3, the performance table 80 lists the power consumption (W) when each process (processes A to C) of the execution program 60 is executed by the computing units (#1 to #5). Specifically, the computing unit #1 has (processes A, B, C) = (10, 20, 25), the computing unit #2 has (processes A, B, C) = (5, 50, 100), the computing unit #3 has (processes A, B, C) = (30, 5, 30), the computing unit #4 has (processes A, B, C) = (25, 30, 5), and the computing unit #5 has (processes A, B, C) = (20, 20, 20).

[0017] With this performance table 80, if it is desired to run the execution program 60 with as little power consumption as possible, the allocation program 70 can simply assign process A to arithmetic unit #2, process B to arithmetic unit #3, and process C to arithmetic unit #4. Regarding the transmission and reception of data between the arithmetic units when the execution program 60 is executed, the processing results of the arithmetic units may be transmitted and received via the control unit 10, or the processing results may be transmitted and received between the arithmetic units based on instructions from the control unit 10.

[0018] As described above, according to this embodiment, the allocation program 70 refers to the performance table 80 and allocates processes to optimize performance, thereby making it possible to realize, for example, a computer 1 with low power consumption.

[0019] In this embodiment, an example has been described in which the power consumption of each arithmetic unit is recorded in the performance table 80 as a performance index, and a low-power electronic computer 1 can be realized by referring to the performance table 80. However, the performance index of the present invention is not limited to power consumption. For example, throughput, temperature, area of ​​the arithmetic unit, variability of processing in the arithmetic unit, usability, I / O type and bit width in the arithmetic unit, etc. may also be recorded in the performance table 80 as performance indexes. By determining the arithmetic unit that will perform processing by referring to the performance table 80 in which various performance indexes are recorded, it is possible to realize an electronic computer 1 that can improve various performance indexes.

[0020] In this embodiment, an example has been shown in which all processes (processes A to C) of the execution program 60 are assigned to each computing unit by referring to the performance table 80. However, the present invention is not limited to the case in which all processes of the execution program 60 are assigned to computing units by referring to the performance table 80. For example, in the above-described embodiment, the user may decide which computing units to assign to processes A and B, and then assign a computing unit to process C by referring to the performance table 80.

[0021] Second Embodiment In a second embodiment of the present invention, each arithmetic unit of the electronic computer 1 has a communication function, and the performance table 80 can be rewritten through communication.

[0022] The features of this embodiment will be described with reference to Figures 4 and 5. Figure 4 shows an example of the configuration of the computing unit 30 in this embodiment. In this embodiment, the computing unit 30 is composed of a computing block 31 and a communication block 32. The computing block 31 is a block that performs computations, and the communication block 32 is a block that communicates with the control unit 10 and other computing units.

[0023] This embodiment is characterized in that the communication block 32 notifies the control unit 10 of the state of the calculation block 31 via communication, and the control unit 10 rewrites the performance table 80 based on that information. For example, an example of the performance table 80 used in this embodiment is shown in FIG.

[0024] The present embodiment differs from the first embodiment in that availability information indicating whether each computing unit is available or not is added. In FIG. 5 , for example, it can be seen that computing unit #2 is not available for some reason. Therefore, in this embodiment, the combination of computing units that results in the lowest power consumption is the combination in which process A is assigned to computing unit #1, process B to computing unit #3, and process C to computing unit #4.

[0025] In this embodiment, in Fig. 4, the communication block 32 monitors the status of the arithmetic units and notifies the control unit 10 of the results (availability), thereby making it possible to rewrite the performance table 80 as described above. However, the configuration of the electronic computer 1 is not limited to this. For example, as shown in Fig. 6, a configuration may be adopted in which a communication device 40 connected to a communication means 200 monitors each arithmetic unit and notifies the control unit 10 of the results.

[0026] Third Embodiment A third embodiment of the present invention is characterized in that each arithmetic unit 30 of the electronic computer 1 has a measurement block 33 that measures the performance of the arithmetic unit, and the performance table 80 is rewritten based on the results.

[0027] An example of the configuration of the computing unit 30 of this embodiment is shown in Fig. 7. In Fig. 7, each computing unit 30 includes a measurement block 33 in addition to a calculation block 31 and a communication block 32. For example, when the control unit 10 causes computing unit #1 to execute process A, the measurement block 33 of computing unit #1 measures the power consumption of computing unit #1. The measurement result of the power consumption is then notified to the control unit 10 via the communication block 32 at regular intervals.

[0028] The control unit 10 can rewrite the values ​​in the performance table 80 based on the measurement results notified from each computing unit. The control unit 10 causes the computing units to execute various processes (processes A, B, C, etc.) and notifies the computing units of the measurement results of the power consumption at that time, thereby making it possible to create a more accurate performance table 80.

[0029] In this embodiment, the measurement block 33 measures the power consumption of the arithmetic unit 30, but the performance index to be measured is not limited to power consumption. For example, other performance indexes such as throughput and temperature may be measured depending on the configuration of the performance table 80.

[0030] In this embodiment, an example has been described in which each arithmetic unit 30 has a measurement block 33, but the location of the function to be measured is not limited to such a configuration. For example, as shown in Figure 8, a configuration may be adopted in which a measurement unit 50 is connected to the communication means 200 of the electronic computer 1, and the measurement unit 50 measures the performance of each arithmetic unit.

[0031] Fourth Embodiment A fourth embodiment of the present invention is characterized in that the electronic computer 1 has a training program 90 for creating a performance table 80 .

[0032] An example of the configuration of the electronic computer 1 of this embodiment is shown in Fig. 9. The control unit 10 of this embodiment has a function of measuring the performance of each arithmetic unit when the training program 90 is started and updating the performance table 80 based on the results. The training program 90 may measure the overall performance of all arithmetic units in order, or may measure the performance of only newly added arithmetic units. Furthermore, the training program 90 may be configured to measure only specific performance indicators.

[0033] In the present embodiment, the training program 90 has been described as a software program stored in the storage unit 20, but the training program 90 is not limited to such a configuration. For example, the training program 90 may be configured as hardware.

[0034] [Fifth embodiment] The fifth embodiment of the present invention is characterized in that a plurality of performance indicators are recorded in the performance table 80 of the electronic computer 1, and processing is assigned to the arithmetic units based on one or more performance indicators.

[0035] Fig. 10 shows an example of a performance table 80 in this embodiment. In the first embodiment, as shown in Fig. 3, only performance related to power was recorded in the performance table 80. The performance table 80 of this embodiment is characterized in that it records not only power consumption but also performance indicators related to throughput, for example.

[0036] The control unit 10 can select a specific performance index from these multiple performance indexes in accordance with the required conditions specified by the user, and determine the computing unit that will perform the processing based on the selected performance index. For example, if the user specifies that the required conditions are that power consumption be as low as possible, then processing A can be assigned to computing unit #2, processing B to computing unit #3, and processing C to computing unit #4. On the other hand, if the user specifies that the required conditions are that throughput be as high as possible, then processing A can be assigned to computing unit #1, processing B to computing unit #2, and processing C to computing unit #5.

[0037] Furthermore, allocation may be performed based on a performance index that combines multiple performance indexes. For example, a configuration may be adopted in which power / throughput is calculated to create an index of the power required to process 1-bit data, and the most efficient allocation (lowest power required to process 1-bit data) is performed. In this case, process A is assigned to arithmetic unit #2, process B to arithmetic unit #3, and process C to arithmetic unit #5.

[0038] In this embodiment, no configuration example of the arithmetic unit is described, but it goes without saying that in order to incorporate a plurality of performance indexes into the performance table 80, a plurality of types of measurement blocks 33 may be required.

[0039] Sixth Embodiment In the first to fifth embodiments, the computing units of the electronic computer 1 were of different types, such as GPUs, FPGAs, and ASICs, and the processing performance for each process was also different. The sixth embodiment is characterized by a configuration in which there are multiple computing units of the same type.

[0040] FIG. 11 shows an example of the configuration of the electronic computer 1 of this embodiment. FIG. 11 shows an example of the configuration in which multiple computing units of the same type are pooled. For example, if there are M computing units #1, the respective computing units are written as computing units #1-1, #1-2, ..., #1-M. Similarly, if there are Y computing units #N, the respective computing units are written as computing units #N-1, #N-2, ..., computing unit #N-Y. Here, even if the type of computing unit is the same, different model numbers may result in different processing performance. In such a case, multiple computing units may be pooled according to the type and model number of the computing unit.

[0041] In this way, in a configuration in which multiple identical computing units are pooled and connected, computing units of the same type have the same performance. In this case, as shown in Figure 12, a performance index can be entered for each type of computing unit in the performance table 80. This has the effect of reducing the size of the performance table.

[0042] When there are multiple arithmetic units of the same type in the electronic computer 1, as in this embodiment, the operation of the allocation program 70 may differ from that of the first to fifth embodiments. Specifically, in the first to fifth embodiments, allocation was completed by selecting an arithmetic unit that satisfies the performance index specified by the user. In this embodiment, since there are multiple arithmetic units of the same type, the allocation program 70 must allocate the arithmetic units in two stages.

[0043] FIG. 13 is an example of a flowchart of an allocation program 70 according to an embodiment of the present invention. In FIG. 13, the type of arithmetic unit to be used is determined in the first stage, and which arithmetic unit to use from among multiple arithmetic units of the same type is determined in the second stage. The allocation in the first stage may be determined in the same manner as in the previous embodiments, but the allocation in the second stage is implementation-dependent and can be changed as appropriate. For example, allocation can be performed according to the number of times processing is assigned to the arithmetic unit. For example, it is conceivable to allocate in order from the least frequently used arithmetic unit, but this is not limited to this.

[0044] In this embodiment as well, it goes without saying that it is possible to execute a training program 90 for measuring the performance of the arithmetic unit to create the performance table 80, and to provide the arithmetic unit with a performance measurement function.

[0045] [Seventh Embodiment] A seventh embodiment of the present invention is characterized by a configuration in which the electronic computer 1 has a virtualized arithmetic unit. As shown in Fig. 14, even if there is one physical arithmetic unit, if multiple virtualized arithmetic units (VMs, etc.) are configured within the one arithmetic unit, it is possible to treat the single virtualized arithmetic unit in the same way as the arithmetic units in the sixth embodiment.

[0046] 14, when M virtualized computing units (Virtual Machines: VMs) are configured in the physical computing unit #1 (30-1), the computing units are described as #1-1, #1-2, ..., #1-M, as in the sixth embodiment. In this case, the multiple VMs are regarded as computing units of the same type, and are described as computing unit #1 in the performance table 80.

[0047] Eighth Embodiment In an electronic computer 1 according to an eighth embodiment of the present invention, for example, in a computing unit such as an FPGA, physically different implementations are treated as different types of computing units. Although an FPGA is a single physical computing unit, it is possible to create multiple different computing circuits within the FPGA. Therefore, as shown in FIG. 15, if two types of computing circuits, Circuit A (30-2) and Circuit B (30-3), are created within the FPGA, Circuit A (30-2) is listed as computing unit #2, and Circuit B (30-3) is listed as computing unit #3, in the performance table 80 as separate computing units. While this embodiment has been described assuming an FPGA, the same applies to ASICs and the like.

[0048] 16 shows the configuration of an electronic computer 1 that executes a program by combining computing units belonging to a network. The electronic computer 1 includes a control device 100 that assigns the processing of an execution program, computing units (#1 to #N) (30-1 to 30-N) that execute the processing of the execution program, and a network switch 300 that connects the computing units (#1 to #N) (30-1 to 30-N).

[0049] The control device 100 includes at least a storage unit and a processing unit. The storage unit stores the execution program 60, the allocation program 70, the performance table 80 for each computing unit, and the training program 90. The processing unit executes the allocation program 70 and the training program 90.

[0050] The control device 100 manages computing units such as CPUs, GPUs, FPGAs, and ASICs, and when a computing unit is added to the network, it executes a training program 90 and adds the results to a performance table 80. Performance indicators listed in the performance table 80 include information such as the power consumption and throughput of the computing unit.

[0051] When the control device 100 receives a request to execute the execution program 60, it executes the allocation program 70 and determines which computing units to allocate the program processing to based on the performance indexes of each computing unit listed in the performance table 80. The control device 100 notifies each computing unit of information about the computing unit that will transmit the processing results, according to the determined order of processing for the computing units.

[0052] The computing unit includes at least a communication unit, a destination storage unit, and a processing unit. The destination storage unit stores destination information of the computing unit to which the processing result notified from the control device 100 is to be sent. The computing unit receives data from the preceding computing unit via the network switch 300, processes the assigned execution program, and then sends the processing result to the succeeding computing unit in accordance with the destination information stored in the destination storage unit.

[0053] 16, all computing units are connected to one network switch 300, and communication performance does not change regardless of which computing units are combined. Therefore, the allocation program 70 of the control device does not need to take network performance into consideration when allocating processing to the computing units.

[0054] On the other hand, in three-tier model and leaf-spine networks used in many data centers, the number of switches between computing units and communication delays vary depending on the combination of computing units performing processing. Therefore, the allocation program 70 of the control device 100 needs to take network performance into consideration when allocating processing to computing units.

[0055] For example, in the case of a leaf-spine network as shown in Figure 17, communication between arithmetic unit #1 (30-1) and arithmetic unit #2 (30-2) can be performed in one hop. On the other hand, communication between arithmetic unit #1 (30-1) and arithmetic unit #3 (30-3) requires three hops because it must go through spine switch #1 or spine switch #2. Furthermore, as the number of communication hops increases, the communication load changes for each switch, which can lead to variations in delay within the switch.

[0056] Therefore, in a configuration using multiple network switches as shown in Figure 17, the switches through which the processing is passed and the delay time caused by the switches will change depending on the selection of the computing unit that performs the processing, so the allocation program must allocate processing to computing units by taking into account not only the performance of the computing unit that performs the processing, but also the network performance including the switch configuration and delay time caused by the switches.

[0057] In this embodiment, network performance is recorded in a performance table in the control device of Fig. 16. Network performance includes switch configuration, delay time in the switches, communication load information between the switches, etc. In the configuration example of Fig. 17, the network performance includes a switch configuration consisting of spine switches #1 and #2 and leaf switches #1 to #4, information on which leaf switch each of the computing units #1 to #5 is connected to, delay time in each switch, and communication load information between spine switches #1 and #2 and leaf switches #1 to #4.

[0058] The control device 100 determines the computing unit to which processing is assigned based on the performance index of the computing unit performing the processing as well as the network performance listed in the performance table. For example, it is possible to determine the computing unit to which processing is assigned so as to reduce the number of hops through switches or the communication load between switches. Here, the control device 100 may determine the computing unit to which processing is assigned by taking into account other performance indexes listed in the performance table. Which of the multiple performance indexes is given priority when determining the computing unit may be determined according to the user's requirements.

[0059] Eleventh Embodiment An electronic computer of the present invention may include a plurality of control devices 100. The configuration of Fig. 18 shows an example in which two control devices #1 and #2 (100-1 and 100-2) each manage a subordinate computing unit.

[0060] In this configuration, each control device manages a limited number of arithmetic units within the computer, which is expected to enable high-speed execution of the allocation program and management of the performance table with a small amount of memory.

[0061] Furthermore, if a control device determines that it cannot execute a program using only its subordinate computing units with performance that meets the user's requirements, it can cooperate with another control device and borrow resources such as computing units managed by that other control device.

[0062] [Twelfth embodiment] The electronic computer of the present invention may be realized by combining computing units placed at multiple locations, for example, at a data center, etc. Fig. 19 shows an example in which a control device 100 and computing units (#1, #2) placed at location A are combined with computing units (#3, #4) placed at location B. In this electronic computer, the locations are connected by an internal network 600, and the locations are connected by an external network 1000 such as the Internet or a WAN.

[0063] Even in this configuration, the processing of an execution program can be assigned to the computing units at different locations under the management of the control device 100. Even in this configuration, the processing of an execution program can be assigned to the computing units taking into consideration the performance of the computing units, and the delays of the internal network and the external network.

[0064] [Thirteenth embodiment] The computer system spanning multiple locations as shown in Fig. 19 can be considered as an extension of the configurations shown in Fig. 17 and Fig. 18. As shown in Fig. 20, scale-out can be easily achieved by having the control devices (100-1, 100-2) at each location cooperate to share resources such as computing units. When the sender of data to be processed and the receiver of the processed data are different, it is also possible to process the execution program at locations A and B, which are closest to the sender and receiver, respectively.

[0065] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration of the present invention within the scope of the present invention.

[0066] Some or all of the above-described embodiments can be described as, but are not limited to, the following supplementary notes.

[0067] [Supplementary Note 1] An electronic computer comprising at least one control device, a memory unit, a plurality of arithmetic units, and at least one switch connecting the control device and the plurality of arithmetic units and connecting the plurality of arithmetic units, wherein the memory unit stores a program including a plurality of processes and a performance table including at least one performance index when each of the plurality of arithmetic units executes each of the plurality of processes and a delay time in the switch, and the control device is configured to assign at least one of the plurality of processes to any of the plurality of arithmetic units for each process so as to satisfy requirements for executing the program based on the performance index included in the performance table and the delay time in the switch. [Supplementary Note 2] The electronic computer according to Supplementary Note 1, wherein the control device is configured to transmit destination information for transmitting a result of the process to the arithmetic unit to which the process is assigned based on a result of the process assignment, and the arithmetic unit is configured to transmit the result of the process in accordance with the destination information. [Supplementary Note 3] The electronic computer according to Supplementary Note 1 or Supplementary Note 2, comprising a plurality of the control devices, each of which assigns at least one process of the plurality of processes to a part of the plurality of arithmetic units. [Supplementary Note 4] The electronic computer according to any of Supplementary Note 1 to Supplementary Note 3, wherein the plurality of arithmetic units are arranged at a plurality of bases connected via a network, and the control device is configured to assign the process to the plurality of arithmetic units arranged at the plurality of bases.

[0068] The present invention can be applied to electronic computers.

[0069] 1...electronic computer, 10...control unit, 20...storage unit, 30-1 to 30-N...arithmetic units, 60...execution program, 70...assignment program, 80...performance table, 200...communication means.

Claims

1. An electronic computer comprising at least one control device, a memory unit, a plurality of arithmetic units, and at least one switch connecting the control device and the plurality of arithmetic units, and connecting the plurality of arithmetic units, wherein the memory unit stores a program including a plurality of processes, and a performance table including at least one performance index when each of the plurality of arithmetic units executes each of the plurality of processes, and a delay time in the switch, and the control device is configured to assign at least one of the plurality of processes to any one of the plurality of arithmetic units for each process, based on the performance index included in the performance table and the delay time in the switch, so as to meet the requirements for executing the program.

2. The electronic computer according to claim 1, wherein the control device is configured to transmit destination information for transmitting the results of the processing to the computing element to which the processing is assigned based on the result of the allocation of the processing, and the computing element is configured to transmit the results of the processing in accordance with the destination information.

3. The electronic computer according to claim 1, comprising a plurality of said control devices, each of said plurality of control devices assigning at least one process of said plurality of processes to a part of said plurality of arithmetic units.

4. The electronic computer according to claim 1, wherein the plurality of computing units are arranged at a plurality of locations connected via a network, and the control device is configured to allocate the processing to the plurality of computing units arranged at the plurality of locations.

Citation Information

Patent Citations

  • Distribution processing program, distribution processor, and distribution processing method

    JP2009123109A