A variable-structure parallel computing system
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-13
- Publication Date
- 2026-08-14
AI Technical Summary
[0004]基于此,有必要针对传统的计算机系统的计算效率较低的技术问题,提供一种可变构并行计算系统
[0017]本申请实施例提供的可变构并行计算系统,包括:控制单元和多个计算单元,控制单元与每个计算单元之间电连接,控制单元能够基于接收到的进程拓扑结构信息,确定参与本次计算任务的每个目标计算单元的目标位置以及与需要建立连接的其它目标计算单元间的连接信息,控制各个目标计算单元移动到目标位置以及按照连接信息与其它目标计算单元建立通信连接,并执行对应的子计算任务,使得各个目标计算单元能够直接进行计算结果的交互,不再需要交换机的参与,提高了信息传递的带宽,降低了信息传递延时,从而大大提高了可变构并行计算系统的计算效率。另外,可变构并行计算系统能够基于进程的拓扑结构信息,调整各个目标计算单元的位置以及与其它目标计算单元之间的通信连接,使得各个目标计算单元之间形成的拓扑结构信息与应用程序所发送的进程的拓扑结构信息相匹配,从而提高了各个目标计算单元之间的通信效率,进而进一步提高了可变构并行计算系统的计算效率。
Smart Images

Figure CN114077488B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a variable-structure parallel computing system. Background Technology
[0002] For typical engineering problems, the computational scale is enormous, and the computational domain is irregularly shaped, posing significant challenges to numerical computation. To address this, domain decomposition is a commonly used method. It divides the entire computational domain into several sub-domains, with each process calculating one sub-domain during simulation. Each process is mapped to a computational unit (such as a server) within the computer system. In this way, solving the original engineering problem is transformed into solving it separately on each sub-domain, and the processes can exchange data to achieve coupling between the sub-domains. For example, a computer system can be used to calculate the operating state of a reactor in the chemical industry. The reactor can be considered the entire computational domain, divided into multiple sub-domains, and different computational units within the computer system can calculate the different sub-domains of the reactor.
[0003] Thus, in the calculation process of engineering problems, adjacent sub-regions need to exchange data, and therefore the various computing units mapped by the process also need to communicate with each other to pass on their respective calculation results. However, traditional computer systems require switches to realize communication between computing units. When the number of computing units involved in the calculation is large, or when the communication relationship between computing units needs to change, the computing efficiency of the computer system will be reduced. Summary of the Invention
[0004] Therefore, it is necessary to provide a variable-structure parallel computing system to address the technical problem of low computational efficiency in traditional computer systems.
[0005] This application provides a variable-structure parallel computing system, including: a control unit and a plurality of computing units, wherein the control unit is electrically connected to each computing unit, and the computing units have a mobility function;
[0006] The control unit receives the topology information of the process sent by the application for the computation implementation of the object to be simulated, and determines the target position of each target computing unit participating in this computation task and the connection information between each target computing unit and other target computing units that need to be connected based on the topology information. It controls each target computing unit to move to the target position and establish a communication connection with other target computing units according to the connection information, and executes the corresponding sub-computation task.
[0007] The topology information includes the identifiers of processes that can be connected to form edges among the multiple processes involved in the computational implementation of the object to be simulated, and different processes are mapped to different target computational units.
[0008] In one embodiment, the control unit receives a resource request sent by the application and determines the target computing unit to participate in the current computing task based on the resource request and the current resource occupancy information of each computing unit it manages. The resource request is used to request computing resources from the variable-structure parallel computing system.
[0009] In one embodiment, after the target computing unit moves to the target location, when it detects that other target computing units that need to establish a connection have moved to the corresponding target locations according to the connection information, it establishes a communication connection with the other target computing units.
[0010] In one embodiment, the control unit determines that after the current calculation task is completed, obtains the initial position of each target calculation unit before moving, and controls each target calculation unit to move to the corresponding initial position.
[0011] In one embodiment, the control unit monitors the operating status of each target computing unit. When a fault is detected in any target computing unit, the control unit controls a new computing unit to replace the target computing unit. The new computing unit is a computing unit other than the target computing unit participating in this computing task among all computing units managed by the control unit.
[0012] In one embodiment, the control unit includes at least one first processor and a first memory corresponding to the first processor, wherein the at least one first processor is coupled to the other via high-speed communication.
[0013] In one embodiment, the computing unit includes a second processor, an accelerator, and a second memory corresponding to the second processor, wherein the second processor and the accelerator are coupled through shared memory or high-speed communication.
[0014] In one embodiment, each computing unit managed by the control unit includes a computing body and a movable device, the computing body being disposed on the movable device.
[0015] In one embodiment, the mobile device is a robot.
[0016] In one embodiment, the object to be simulated is a physical object that can be simulated using a domain decomposition algorithm.
[0017] The variable-structure parallel computing system provided in this application includes a control unit and multiple computing units. The control unit is electrically connected to each computing unit. Based on received process topology information, the control unit can determine the target location of each target computing unit participating in the current computing task and the connection information between it and other target computing units that need to be connected. It controls each target computing unit to move to the target location and establish communication connections with other target computing units according to the connection information, and executes corresponding sub-computation tasks. This allows the target computing units to directly exchange computing results without the need for a switch, increasing the bandwidth of information transmission and reducing information transmission latency, thereby significantly improving the computing efficiency of the variable-structure parallel computing system. Furthermore, the variable-structure parallel computing system can adjust the location of each target computing unit and the communication connections with other target computing units based on the process topology information, ensuring that the topology information formed between the target computing units matches the process topology information sent by the application, thereby improving the communication efficiency between the target computing units and further improving the computing efficiency of the variable-structure parallel computing system. Attached Figure Description
[0018] Figure 1 A schematic diagram illustrating the structure and operation of a variable-structure parallel computing system provided in this application embodiment;
[0019] Figure 2 This is a schematic diagram of a computational region partitioning for an object to be simulated, provided in an embodiment of this application.
[0020] Figure 3 This is a schematic diagram of the topology information formed by the various computing units of the variable-structure parallel computing system provided in the embodiments of this application. Detailed Implementation
[0021] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions in the embodiments of this application will be further described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are only for explaining this application and are not intended to limit this application.
[0022] Figure 1 This is a schematic diagram illustrating the structure and operation of a variable-configuration parallel computing system provided in an embodiment of this application. Figure 1As shown, the variable-structure parallel computing system may include: a control unit 10 and multiple computing units 11. The control unit 10 is electrically connected to each computing unit 11, and the computing unit 11 has a moving function. The control unit 10 receives the topology information of the process sent by the application for the computation implementation of the object to be simulated, and determines the target position of each target computing unit 11 participating in this computation task and the connection information between each target computing unit 11 and other target computing units 11 that need to be connected based on the topology information. The control unit 10 controls each target computing unit 11 to move to the target position and establish a communication connection with other target computing units 11 according to the connection information, and executes the corresponding sub-computation task.
[0023] The topology information includes identifiers of processes that can be connected to form edges among the multiple processes involved in the computation of the object to be simulated, with different processes mapped to different target computing units. The aforementioned computing unit 11 not only has computation and communication functions but also mobility functions. This variable-structure parallel computing system can realize the simulation computation of the object to be simulated. Typically, the application can establish a computational model of the object to be simulated, using it as the entire computational region, and divide the entire computational region into multiple sub-regions, with different processes performing computations in the corresponding sub-regions. Optionally, the object to be simulated can be a physical object that can be simulated using a domain decomposition algorithm, such as a chemical reactor; that is, the variable-structure parallel computing system can simulate the operating state of particles in the reactor.
[0024] The various sub-regions of the simulated object interact with each other. In one optional implementation, each sub-region only needs to exchange boundary information with its surrounding sub-regions. Meanwhile, the interior of the simulated object evolves over time, and uneven load distribution may occur among the sub-regions. To address this, load balancing can be achieved by adjusting the topology information of the sub-regions, thereby reducing communication time and improving computational efficiency. Since different sub-regions are mapped to different processes, the topology information of a sub-region can be understood as the topology information of the processes. This topology information includes identifiers of processes that can be connected to form edges among the multiple processes involved in the computational implementation of the simulated object. Figure 2 Taking the simulated object as an example, the application treats the simulated object as the entire computing region, dividing the entire computing region into 6 sub-regions. Let's assume these 6 sub-regions are 20, 21, 22, 23, 24, and 25, and that sub-region 20 is mapped to process 0, sub-region 21 to process 1, sub-region 22 to process 2, sub-region 23 to process 3, sub-region 24 to process 4, and sub-region 25 to process 5. The topology information for each sub-region can be found in [reference needed]. Figure 2 sub Figure 1 From the topology information of the sub-regions, it can be seen that the connection relationships between the processes are as follows: (process 0, process 1), (process 0, process 2), (process 1, process 3), (process 2, process 3), (process 2, process 4), (process 3, process 4) and (process 4, process 5).
[0025] To perform calculations on the object being simulated, the application can use information about the process's topology (such as...). Figure 1 The process topology information shown is sent to the control unit 10. The control unit 10 can then determine the target location of each target computing unit 11 participating in the current computation task and the connection information with other target computing units 11 that need to be connected, based on the received process topology information. Specifically, during the initial simulation of the object to be simulated, the application program can obtain the process topology information input by the user. In subsequent simulations of the same object, the application program can automatically adjust the process topology information according to the actual changes in the object. Correspondingly, the control unit 10 will also readjust the topology information of the target computing units 11 based on the process topology information. Continuing with the above... Figure 2 For example, suppose the mapping relationship between the above 6 processes and each target computing unit 11 is as follows: process 0 is mapped to target computer unit 11a, process 1 is mapped to target computer unit 11b, process 2 is mapped to target computer unit 11c, process 3 is mapped to target computer unit 11d, process 4 is mapped to target computer unit 11e, and process 5 is mapped to target computer unit 11f. In this way, the control unit 11 can determine the connection information between each target computing unit based on the process topology information as follows: (target computer unit 11a, target computer unit 11b), (target computer unit 11a, target computer unit 11c), (target computer unit 11b, target computer unit 11d), (target computer unit 11c, target computer unit 11d), (target computer unit 11c, target computer unit 11e), (target computer unit 11d, target computer unit 11e), and (target computer unit 11e, target computer unit 11f). At the same time, the control unit 10 can also determine the relative positional relationship between each target computing unit 11 based on the topology information of the process, and thus determine the target position of each target computing unit 11.
[0026] After obtaining the target positions of each target computing unit 11 and the continuous information between each target computing unit 11, the control unit 10 can control each target computing unit 11 to move to the target position and control each target computing unit to establish a communication connection according to the connection information. After each target computing unit 11 moves to the target position and establishes a communication connection, the control unit 10 controls each target computing unit 11 to execute the corresponding sub-computation task, thereby completing the calculation of each sub-region.
[0027] Optionally, after the target computing unit 11 moves to the target location, when it detects that another target computing unit 11 that needs to establish a connection has moved to the corresponding target location according to the connection information, it establishes a communication connection with the other target computing unit 11.
[0028] Each computing unit 11 managed by the control unit 10 may be equipped with a sensor. After a target computing unit 11 participating in the current computing task moves to its corresponding target location, the target computing unit 11 activates its sensor and detects whether other target computing units 11 requiring a connection have moved to their corresponding target locations based on connection information. If arrival is detected, the target computing unit 11 can interact with these other target computing units 11 to establish a communication connection. The connection information can be the identifier of the target computing unit 11 requiring a connection. After the communication connection is established, the target computing unit 11 sends a connection establishment completion signal to the control unit 10. Thus, after receiving connection establishment completion signals from all target computing units 11, the control unit 10 can send computing instructions to each target computing unit 11, instructing each target computing unit 11 to execute its corresponding sub-computation task.
[0029] Optionally, each computing unit 11 managed by the control unit 10 includes a computing body and a movable device, with the computing body mounted on the movable device. Thus, when the target computing unit 11 participating in this computing task receives a movement command, it can move itself to the target location via the movable device. Optionally, the movable device can be a robot.
[0030] It is understandable that the internal structure of the simulated object changes over time (taking a reactor as an example, the particles in the reactor are constantly moving, so the load in each sub-region will change). In order to balance the load in each sub-region of the simulated object during the evolution process, the application program will change the topology information of the sub-region. Thus, the topology information of the process mapped to the sub-region will also change. When the topology information of the process received by the control unit 10 changes again, the control unit 10 will redetermine the target position of each target computing unit 11 and the connection information between each target computing unit 11 based on the changed topology information of the process, and control each target computing unit 11 to move to the new target position and establish communication connections according to the new connection information.
[0031] Continue with Figure 2 Taking the simulated object as an example, when the internal structure of the simulated object undergoes significant changes over time, the load of each sub-region it comprises also changes significantly. Initially, load balancing can be achieved by adjusting the size of each sub-region (e.g., Figure 2 neutron Figure 2 and son Figure 3 The size of each sub-region changes, but the topology information formed by the sub-regions remains unchanged. However, as time progresses, the load imbalance between the sub-regions increases, and simply adjusting the sub-region size is no longer sufficient to achieve good load balancing. At this point, it is necessary to change the topology information of the sub-regions (e.g., ...). Figure 2 Sub-Figure 4 (showing the modified topology information of the sub-region) is shown in Figure 4. To match the hardware topology information with the software topology information and improve computational efficiency, the topology information of the target computing units participating in this computational task in the variable-structure parallel computing system needs to be adjusted accordingly when the topology information of the sub-region changes. For this purpose, the control unit 10 can... Figure 2 The arrangement of each sub-region in sub-figure 4 serves as a reference for the arrangement of the target computing unit 11, controlling the movement of each target computing unit 11 and the change of its connection relationship.
[0032] See Figure 3 , Figure 3 sub Figure 1 This refers to the current topology information among the target computing units participating in this computation task in a variable-structure parallel computing system (wherein, this current topology information is related to...). Figure 2 sub Figure 1 The arrangement of the sub-regions shown matches, and the arrangement of the sub-regions can be understood as the process topology information. When the process topology information received by the control unit 10 changes (e.g., Figure 2The topological structure information of the processes shown is provided by sub-processes. Figure 1 (Changed to sub-Figure 4), the control unit 10 readjusts the target positions of each target computing unit 11 and the connection relationships between each target computing unit 11 based on the changed process topology information (at this time, the connection information between each target computing unit 11 can be as follows: (target computer unit 11a, target computer unit 11b), (target computer unit 11b, target computer unit 11c), (target computer unit 11c, target computer unit 11d), (target computer unit 11d, target computer unit 11e), (target computer unit 11e, target computer unit 11f)), so that the adjusted topology information between each target computing unit 11 matches the changed process topology information (even if...). Figure 3 sub Figure 3 The topology information shown is consistent with Figure 2 The adjustment process is as follows (matching the topological information shown in sub-Figure 4). Figure 3 neutron Figure 2 As shown, the arrows indicate the movement of the target computing unit 11, thereby adjusting it to... Figure 3 neutron Figure 3 The topology information shown reduces the communication time between the various target computing units 11, thereby improving the computational efficiency of the variable-structure parallel computing system. Figure 3 sub Figure 3 This refers to the adjusted topological structure information between the various target computing units 11.
[0033] The variable-structure parallel computing system provided in this application includes a control unit and multiple computing units. The control unit is electrically connected to each computing unit. Based on the received process topology information, the control unit can determine the target location of each target computing unit participating in the current computing task and the connection information between it and other target computing units that need to be connected. It controls each target computing unit to move to the target location and establish communication connections with other target computing units according to the connection information, and executes corresponding sub-computation tasks. This allows the target computing units to directly interact with each other's computation results without the need for a switch, increasing the bandwidth of information transmission and reducing information transmission latency, thereby significantly improving the computational efficiency of the variable-structure parallel computing system. Furthermore, the variable-structure parallel computing system can adjust the location of each target computing unit and the communication connections between it and other target computing units based on the process topology information, ensuring that the topology information formed between the target computing units matches the process topology information sent by the application, thereby improving the communication efficiency between the target computing units and further enhancing the computational efficiency of the variable-structure parallel computing system.
[0034] In practical applications, to further improve the computational efficiency of the variable-structure parallel computing system for the object to be simulated, one embodiment also provides a process for the control unit 10 to select a target computing unit from all the computing units 11 it manages. Based on the above embodiment, optionally, the control unit 10 receives a resource request sent by the application program and determines the target computing unit to participate in the current computation task based on the resource request and the current resource occupancy information of each managed computing unit 11.
[0035] The resource request is used to request computing resources from the variable-structure parallel computing system. Upon receiving the resource request from the application, the control unit 10 obtains the current resource occupancy information of each computing unit 11, sorts the current resource occupancy information of each computing unit 11, and, based on the total resource request amount carried in the resource request, selects several computing units 11 with the smallest current resource occupancy information from the sorted results as target computing units to participate in the current computing task. The remaining computing resources of these several computing units 11 are sufficient to satisfy the total resource request amount requested by the application. Alternatively, the control unit 10 can also select several computing units 11 with current resource occupancy information less than a preset threshold as target computing units to participate in the current computing task, based on the total resource request amount carried in the resource request; this embodiment does not limit this selection.
[0036] Optionally, the control unit 10 may include at least one first processor and a first memory corresponding to the first processor, wherein the at least one first processor is coupled to the other via high-speed communication. Each computing unit 11 managed by the control unit 10 may include a second processor, an accelerator, and a second memory corresponding to the second processor, wherein the second processor and the accelerator are coupled via shared storage or high-speed communication. The first memory and the second memory may include main memory and secondary storage, etc.
[0037] In this embodiment, the control unit can combine the current resource occupancy information of each managed computing unit with the total resource request of the application to select a computing unit with relatively idle computing resources as the target computing unit to participate in the current computing task, thereby further improving the computing efficiency of the variable-structure parallel computing system for the computing implementation of the object to be simulated.
[0038] In one embodiment, in order to ensure that the variable-structure parallel computing system can complete the computation for the object to be simulated normally, during the execution of the current computation task, the control unit 10 monitors the operating status of each target computing unit 11. When any target computing unit 11 is detected to have a fault, the control unit 10 controls a new computing unit 11 to replace the target computing unit 11. The new computing unit 11 is a computing unit other than the target computing unit participating in the current computation task among all computing units managed by the control unit 10.
[0039] During the execution of sub-computation tasks, target computing units 11 may experience malfunctions such as memory read / write failures or system crashes. Therefore, control unit 10 needs to continuously monitor the operating status of each target computing unit 11 executing the computational tasks. When a malfunction is detected in any target computing unit 11, a new computing unit 11 needs to be deployed to replace the malfunctioning target computing unit 11. Specifically: control unit 10 controls the malfunctioning target computing unit 11 to disconnect from other target computing units 11 and controls the malfunctioning target computing unit 11 to leave its target location; simultaneously, control unit 10 controls a new computing unit 11 to move to the target location of the malfunctioning target computing unit 11 and controls the new computing unit 11 to establish communication connections with other target computing units 11 according to the connection information corresponding to the malfunctioning target computing unit 11, thereby achieving the replacement of the malfunctioning target computing unit 11.
[0040] Furthermore, after the control unit 10 determines that the current computing task has ended, it obtains the initial position of each target computing unit 11 before moving, and controls each target computing unit 11 to move to the corresponding initial position. At the same time, it controls each target computing unit 11 to release computing resources.
[0041] In this case, the initial arrangement of sub-regions is not significantly different for different objects to be simulated. Thus, after the current calculation task is completed, the control unit 10 controls each target calculation unit to move to its initial position. When executing the next calculation task, the preparation time before executing the calculation task can be reduced, and the target calculation units participating in the next calculation task can be directly controlled to execute the corresponding sub-calculation tasks, which further improves the calculation efficiency of the variable structure parallel computing system.
[0042] In this embodiment, when the control unit detects a failure in any of the target computing units participating in the current computing task, it can control a new computing unit to replace the failed target computing unit, ensuring the normal execution of the computing task and improving the disaster recovery capability of the variable-structure parallel computing system. Simultaneously, after the current computing task is completed, the control unit can control each target computing unit to move to its initial position and release computing resources, preparing for the execution of the next computing task.
[0043] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A variable-structure parallel computing system, characterized in that, include: A control unit and multiple computing units, wherein the control unit is electrically connected to each computing unit, and the computing units have mobility; The control unit receives the topology information of the process sent by the application for the computation implementation of the object to be simulated, and determines the target position of each target computing unit participating in this computation task and the connection information between each target computing unit and other target computing units that need to be connected based on the topology information. It controls each target computing unit to move to the target position and establish a communication connection with other target computing units according to the connection information, and executes the corresponding sub-computation task. After the target computing unit moves to the target location, when it detects that other target computing units that need to establish a connection have moved to the corresponding target locations according to the connection information, it establishes a communication connection with the other target computing units. After the communication connection is established, the target computing unit sends a connection establishment completion signal to the control unit; wherein, the connection information is the identifier of the target computing unit that needs to establish a connection. The control unit receives a resource request sent by the application and determines the target computing unit to participate in the current computing task based on the resource request and the current resource occupancy information of each computing unit it manages. The resource request is used to request computing resources of the variable-structure parallel computing system. The topology information includes the identifiers of processes that can be connected into edges among the multiple processes involved in the computing implementation of the object to be simulated, and different processes are mapped to different target computing units. The control unit monitors the operating status of each target computing unit. When a fault is detected in any target computing unit, it controls a new computing unit to replace the target computing unit. The new computing unit is a computing unit other than the target computing unit participating in this computing task, which is one of all computing units managed by the control unit.
2. The variable-structure parallel computing system according to claim 1, characterized in that, After the current computing task is completed, the control unit obtains the initial position of each target computing unit before it moves, and controls each target computing unit to move to the corresponding initial position and release computing resources.
3. The variable-configuration parallel computing system according to any one of claims 1 to 2, characterized in that, The control unit includes at least one first processor and a first memory corresponding to the first processor, and the at least one first processor is coupled to each other via high-speed communication.
4. The variable-configuration parallel computing system according to any one of claims 1 to 2, characterized in that, The computing unit includes a second processor, an accelerator, and a second memory corresponding to the second processor. The second processor and the accelerator are coupled through shared memory or high-speed communication.
5. The variable-configuration parallel computing system according to any one of claims 1 to 2, characterized in that, Each computing unit managed by the control unit includes a computing body and a movable device, with the computing body disposed on the movable device.
6. The variable-structure parallel computing system according to claim 5, characterized in that, The mobile device is a robot.
7. The variable-configuration parallel computing system according to any one of claims 1 to 2, characterized in that, The object to be simulated is a physical object that can be simulated using a domain decomposition algorithm.
Citation Information
Patent Citations
Support of non-trivial scheduling policies along with topological properties
US7596788B1