Computing cluster simulation method, system, device, equipment, medium and product

By configuring communication ports for virtual computing units in the computing cluster, the interconnected communication of computing nodes is solved, and the problem of inability to simulate computing clusters in the prior art is realized, and flexible computing cluster simulation is realized.

CN119782075APending Publication Date: 2025-04-08MOORE THREADS TECHNOLOGY (CHENGDU) CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411911392.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

The prior art lacks a technical solution to simulate computing clusters, and it is impossible to realize interconnected communication of computing nodes.

Method used

A computing cluster simulation method is provided. By configuring a communication port for each virtual computing unit in the computing cluster, the communication connection between each virtual computing unit is realized, and the hardware environment for the interconnection of the computing unit is simulated.

Benefits of technology

It realizes interconnection simulation between each computing node in the computing cluster, supports computing cluster simulation of any scale and topological structure, and avoids the wired connections required in the real hardware environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119782075A_ABST
    Figure CN119782075A_ABST
Patent Text Reader

Abstract

The present application relates to a computing cluster simulation method, system, device, equipment, medium and product. Applied to any target virtual computing unit in each virtual computing node in the computing cluster, the method includes: receiving a read-write access request; the read-write access request includes a read-write access request sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and each virtual computing unit is connected to each other through the communication port; according to the read-write access request, the corresponding memory read-write operation is performed. A communication port is configured for each virtual computing unit in the computing cluster in advance, so that any virtual computing unit can send a read-write access request to other virtual computing units, and can receive a read-write access request sent from other virtual computing units, which is equivalent to any two virtual computing units in the computing cluster can access each other, realizing the interconnection simulation between the computing nodes in the computing cluster.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a computing cluster simulation method, system, device, equipment, medium and product. Background Art

[0002] With the continuous advancement of science and technology, the demand for high-performance computing is also growing. Under the current demand for high-performance computing, in order to achieve greater computing power, computing nodes can be interconnected to form a computing cluster.

[0003] Typically, a computing node includes multiple processors as computing units, for example, a computing unit is a graphics processing unit (GPU) chip. In related technologies, when verifying the function of a GPU chip, it is necessary to simulate a computing cluster in combination with the interconnection requirements of the computing nodes to verify the function of each GPU chip.

[0004] However, the related art lacks a technical solution for simulating computing clusters. Summary of the invention

[0005] Based on this, it is necessary to provide a computing cluster simulation method, system, device, equipment, medium and product to address the above technical problems, which can simulate the interconnection between computing nodes in a computing cluster.

[0006] In a first aspect, an embodiment of the present application provides a computing cluster simulation method, which is applied to any target virtual computing unit in each virtual computing node in a computing cluster, including:

[0007] Receiving read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and the virtual computing units are connected to each other through the communication port;

[0008] According to the read and write access request, the corresponding memory read and write operations are performed.

[0009] In one embodiment, according to the read / write access request, performing corresponding memory read / write operations includes:

[0010] Get the local memory range of the virtual computing node where the target virtual computing unit is located;

[0011] According to the read / write address and local memory range carried in the read / write access request, the memory read / write operation corresponding to the read / write access request is executed.

[0012] In one embodiment, according to the read / write address and the local memory range carried in the read / write access request, executing the memory read / write operation corresponding to the read / write access request includes:

[0013] When the read / write address is within the local memory range, the memory read / write operation is performed in the local memory of the target virtual computing unit according to the read / write address;

[0014] If the read or write address is not within the local memory range, an address error message is returned.

[0015] In one embodiment, receiving a read-write access request includes:

[0016] Listen for read and write access requests at the communication port of the target virtual computing unit.

[0017] In one embodiment, the read / write access request also includes a read / write access request sent by other local modules in the target virtual computing unit; and performing corresponding memory read / write operations according to the read / write access request includes:

[0018] Get the virtual computing unit address range of the computing cluster;

[0019] Convert the read / write addresses carried in the read / write access request according to the virtual computing unit address range to obtain converted read / write addresses;

[0020] Execute memory read and write operations corresponding to the read and write access request according to the translated read and write addresses and the local memory range of the virtual computing node where the target virtual computing unit is located.

[0021] In one embodiment, performing a memory read / write operation corresponding to the read / write access request according to the converted read / write address and the local memory range of the virtual computing node where the target virtual computing unit is located includes:

[0022] When the read / write address after conversion is not within the local memory range, obtaining the attribute information of the virtual computing unit to be read / written, and performing the memory read / write operation according to the attribute information;

[0023] When the translated read / write addresses are in the local memory range, the memory read / write operations are performed in the local memory of the target virtual computing unit according to the translated read / write addresses.

[0024] In one embodiment, obtaining the attribute information of the virtual computing unit to be read or written includes:

[0025] According to the virtual computing unit address range and the read / write address, obtain the number information of the virtual computing unit to be read / written;

[0026] Determine the port information and network protocol address of the virtual computing unit to be read and written according to the number information;

[0027] The number information, port information and network protocol address are determined as the attribute information of the virtual computing unit to be read and written.

[0028] In one embodiment, determining the port information and the network protocol address of the virtual computing unit to be read or written according to the number information includes:

[0029] According to the serial number information, query the local cache of the target virtual computing unit;

[0030] If the number information exists in the local cache, the port corresponding to the number information is determined as the port information, and the address corresponding to the number information is determined as the network protocol address;

[0031] If the number information does not exist in the local cache, the port information and network protocol address are queried from the pre-deployed virtual management service node.

[0032] In one embodiment, querying port information and network protocol addresses from a pre-deployed virtual management service node includes:

[0033] Send a port address query request to the virtual management service node according to the number information;

[0034] Receive the port and address fed back by the virtual management service node; the port and address are obtained by the virtual management service node from the node information registry based on the number information;

[0035] The port is determined as the port information, and the address is determined as the network protocol address.

[0036] In one embodiment, each virtual computing unit in the same virtual computing node in the computing cluster is configured with a shared memory; and according to the attribute information, a memory read and write operation is performed, including:

[0037] Determine the virtual computing node to which the virtual computing unit to be read or written belongs according to the attribute information;

[0038] When the virtual computing node to which the target virtual computing unit belongs is the same as the virtual computing node where the target virtual computing unit is located, performing memory read and write operations in the shared memory according to the converted read and write addresses;

[0039] In the case where the virtual computing node to which the target virtual computing unit belongs is different from the virtual computing node where the target virtual computing unit is located, a read-write access request is sent to the virtual computing unit to be read or written.

[0040] In one embodiment, the computing cluster further includes a virtual management service node, and the virtual management service node and each virtual computing unit in the computing cluster are interconnected through a network; before receiving the read-write access request, the method further includes:

[0041] Listening to a specific address read / write request at a communication port of a target virtual computing unit; the specific address read / write request is sent by the virtual management service node to the target virtual computing unit upon receiving a registration request from the target virtual control unit; the target virtual control unit is a control unit in the virtual computing node where the target virtual computing unit is located;

[0042] According to the specific address read and write request, a response message is sent to the virtual management service node; the response message is used by the virtual management service node to determine the status verification of the target virtual computing unit.

[0043] In one of the embodiments, the registration request is sent by the target virtual control unit to the virtual management service node when it detects that the status of each virtual computing unit in the virtual computing node where it is located meets the standard status.

[0044] In one of the embodiments, the virtual management service node is used to build a node information registration table according to the attribute information of each virtual computing unit in the computing cluster when the connection verification of each virtual computing unit in the computing cluster is successful.

[0045] In one embodiment, the node information registration table includes at least the number information, port information and network protocol address of each virtual computing unit, and the node number information and node network protocol address of the virtual computing node to which each virtual computing unit belongs.

[0046] In a second aspect, an embodiment of the present application further provides a computing cluster simulation system, the computing cluster simulation system comprising a plurality of virtual computing nodes, each virtual computing node comprising a plurality of virtual computing units; each virtual computing unit is configured with a communication port; the virtual computing units are connected to each other through the communication port;

[0047] The virtual computing unit is used to receive read and write access requests and perform corresponding memory read and write operations according to the read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster.

[0048] In one embodiment, the computing cluster simulation system further includes a virtual management service node, and the virtual management service node and each virtual computing unit are interconnected through a network;

[0049] The virtual management service node is used to perform connection verification on the target virtual computing unit when receiving a registration request from the target virtual control unit; the target virtual control unit is the control unit in the virtual computing node where the target virtual computing unit is located; the target virtual computing unit is any virtual computing unit in the computing cluster simulation system.

[0050] In a third aspect, the present application also provides a computing cluster simulation device, including:

[0051] A request receiving module, used to receive read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and the virtual computing units are connected to each other through the communication port;

[0052] The operation execution module is used to execute corresponding memory read and write operations according to the read and write access request.

[0053] In a fourth aspect, an embodiment of the present application further provides a computer device, which includes a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps in any one of the embodiments of the first aspect are implemented.

[0054] In a fifth aspect, the embodiments of the present application further provide a computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps in any one of the embodiments of the first aspect are implemented.

[0055] In a sixth aspect, the embodiments of the present application further provide a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps in any one of the embodiments in the first aspect are implemented.

[0056] The computing cluster simulation method, system, device, equipment, medium and product described above first receive a read / write access request for any target virtual computing unit in each virtual computing node in the computing cluster, and then perform corresponding memory read / write operations according to the read / write access request. The read / write access request includes a read / write access request sent by other virtual computing units in the computing cluster, and each virtual computing unit in the computing cluster is configured with a communication port, and each virtual computing unit is connected to each other through the communication port. In this scheme, a communication port is pre-configured for each virtual computing unit in the computing cluster, so that different virtual computing units can communicate with each other through the configured communication ports. Based on this, any virtual computing unit can send read and write access requests to other virtual computing units, and can receive read and write access requests sent by other virtual computing units. This is equivalent to any two virtual computing units in the computing cluster being able to access each other, that is, the hardware environment of interconnected computing units is simulated, and then the interconnection simulation between the computing nodes in the computing cluster is realized; there is no need to limit the connection relationship and the number of connections, and the computing cluster simulation of any scale and any topology can be realized; in addition, in the actual verification process, any computing units can also access each other according to actual needs, without the need to make different wired connections for different verification scenarios in the real hardware environment. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0058] Figure 1 is an internal structure diagram of a computer device in one embodiment;

[0059] Figure 2 An internal structure diagram of a GPU virtual prototype platform in one embodiment;

[0060] Figure 3 A schematic diagram of a flow chart of a computing cluster simulation method in one embodiment;

[0061] Figure 4 A schematic diagram of a flow chart of performing memory read and write operations in one embodiment;

[0062] Figure 5 A schematic diagram of a flow chart of executing memory read and write operations in another embodiment;

[0063] Figure 6 A schematic diagram of a flow chart of executing memory read and write operations in another embodiment;

[0064] Figure 7 A schematic diagram of a flow chart of executing memory read and write operations in another embodiment;

[0065] Figure 8 A schematic diagram of a process for obtaining attribute information in an embodiment;

[0066] Fig. 9 A schematic diagram of a process for determining port information and a network protocol address in one embodiment;

[0067] Fig.10 A schematic diagram of a process of querying port information and network protocol address in one embodiment;

[0068] Fig.11 A schematic diagram of a flow chart of performing memory read and write operations in another embodiment;

[0069] Fig.12 A schematic diagram of a process of establishing network communication in one embodiment;

[0070] Fig.13 A schematic diagram of a process for constructing a node information registration table in one embodiment;

[0071] Fig.14 A schematic diagram of a flow chart of a computing cluster simulation method in another embodiment;

[0072] Fig.15 A schematic diagram of a computing cluster simulation system in one embodiment;

[0073] Fig.16 It is a schematic diagram of the structure of a computing cluster simulation device in one embodiment. DETAILED DESCRIPTION

[0074] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0075] The computing cluster simulation method provided in the embodiment of the present application can be applied to a computer device. The computer device can be a server, for example, any target virtual computing unit in each virtual computing node in the computing cluster, and its internal structure diagram can be as follows: Figure 1As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, memory and input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database of the computer device is used to store data. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a computing cluster simulation method is implemented. Those skilled in the art can understand that Figure 1 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0076] With the continuous advancement of science and technology, the demand for high-performance computing is also growing. Under the current demand for high-performance computing, in order to achieve greater computing power, the industry often adopts a multi-card interconnection method to form a computing center. To support this demand, the design and verification of multi-card interconnection solutions in the GPU development process has become indispensable. In the chip development stage, in order to verify the chip functions in advance and develop and debug the driver functions, it is often necessary to build a chip simulation verification platform.

[0077] In the related technologies, GPU simulation solutions are all single-machine simulation or single-machine multi-card simulation, that is, only one computing hardware or node can be simulated. Although multiple computing nodes can be simulated by deploying multiple machines, the interconnection and communication of computing nodes cannot be achieved, that is, the simulation of the cluster cannot be achieved. Figure 2As shown, it is a GPU virtual prototype platform in the related technology. Among them, the GPU virtual prototype platform is packaged and released in the form of container images, so that it can be quickly deployed and started on the same or different physical machines; the GPU virtual prototype platform can simulate an indefinite number of virtual GPUs (vGPUs) according to parameters to configure the simulation according to the amount of hardware resources of the physical machine or actual needs. Each container simulates a physical computing node, including a virtual CPU (vCPU) and a configurable number of vGPUs; the vCPU in the same container can directly access the managed vGPU through the GPU driver. The vCPU and vGPU in the GPU virtual prototype platform are both implemented by software and connected in a C / S architecture mode. The operating system can run on the vGPU, and the GPU driver is installed in the operating system to manage and schedule the vGPU. At present, the industry has different specific implementations of different solutions for physical computing units that have achieved hardware connection and establishing interconnection topology relationships at the software driver level, which can be directly applied to the computing cluster simulated by the GPU virtual prototype platform, so this solution is only used to simulate the connection and communication between computing nodes to build a virtual computing cluster.

[0078] Continue to see Figure 2 A container is regarded as a simulated virtual computing node. A virtual computing node contains a vCPU and several vGPUs. The operating system and driver software can be installed on this virtual node like a physical host, and computing programs can be run. One or more containers can be run on a server (physical machine), but containers cannot communicate with each other.

[0079] In order to verify and test the computing cluster, it is necessary to interconnect containers to simulate the computing cluster. Therefore, how to simulate the computing cluster has become a problem that needs to be solved urgently.

[0080] The current industry-known multi-card interconnected computing cluster means that graphics cards under different physical machines can access each other. For example, the GPU under host A can read and write the GPU memory under host B through LINK or SWITCH technology. This technology relies on plugging a dedicated LINK line between the two GPUs. However, when the computing nodes themselves are simulated, there is no real LINK interface. Even if there is a LINK interface, when there are a large number of GPUs, this method of communicating through the LINK interface will be limited by the actual number of physical interfaces or connections, and it is also costly and difficult to implement. Therefore, the focus of this solution is to achieve mutual memory access between vGPUs in different computing nodes.

[0081] Based on this, the present application provides a computing cluster simulation method, which pre-configures a communication port for each virtual computing unit in the computing cluster, so that different virtual computing units can communicate and connect through the configured communication ports. Based on this, any virtual computing unit can send read and write access requests to other virtual computing units, and can receive read and write access requests sent by other virtual computing units, which is equivalent to that any two virtual computing units in the computing cluster can access each other, that is, the hardware environment of interconnected computing units is simulated, and then the interconnection simulation between the computing nodes in the computing cluster is realized; there is no need to limit the connection relationship and the number of connections, and the computing cluster simulation of any scale and any topology can be realized; in addition, in the actual verification process, any computing units can also access each other according to actual needs, without the need to make different wired connections for different verification scenarios in the real hardware environment.

[0082] It should be noted that the beneficial effects brought about by the embodiments of the present application or the technical problems solved are not limited to this one, but may also include other implicit or related problems. For details, please refer to the description of the following embodiments.

[0083] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0084] In an exemplary embodiment, Figure 3 As shown, a computing cluster simulation method is provided, which is applied to Figure 1 The target virtual computing unit in is taken as an example to illustrate, including the following steps 201 to 202. Among them:

[0085] S201, receiving a read / write access request; the read / write access request includes a read / write access request sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and the virtual computing units are connected to each other through the communication port.

[0086] In an embodiment of the present application, a computing cluster includes multiple virtual computing nodes, and each virtual computing node includes multiple virtual computing units. Among them, a computing unit refers to a processor with computing functions, such as a central processing unit (CPU), a graphics processing unit GPU, etc. In an embodiment of the present application, the GPU is mainly used as a computing unit, and the CPU is used as a control unit. Further computing cluster simulation refers to the process of mutual memory access between virtual computing units of different virtual computing nodes after the virtual computing nodes in the computing cluster are interconnected.

[0087] The target virtual computing unit refers to any virtual computing unit in the computing cluster, and the other virtual computing units refer to the virtual computing units in the computing cluster except the target virtual computing unit.

[0088] The read / write access request refers to a request triggered when data read / write operations need to be performed in the memory of the virtual computing unit. Naturally, after receiving the read / write access request, the target virtual computing unit needs to perform corresponding memory read / write operations.

[0089] In the embodiment of the present application, the read-write access request may be a read-write access request sent by any other virtual computing unit in the computing cluster. It is understandable that the target virtual computing unit may receive the read-write access request sent by one or more other virtual computing units and perform the corresponding memory read-write operation, that is, the target virtual computing unit may process one read-write access request or multiple read-write access requests in parallel.

[0090] In order to enable each virtual computing unit to send read and write access requests to each other and respond to read and write access requests, it is necessary to establish a communication connection between each virtual computing unit in advance. Based on this, in an embodiment of the present application, each virtual computing unit in the computing cluster is configured with a communication port, which is a port that can be accessed through the network. In this way, network communication can be performed between each virtual computing unit through the communication port, and then, any virtual computing unit can send read and write access requests to other virtual computing units, and any virtual computing unit can also receive read and write access requests sent from other virtual computing units. At the same time, a monitoring function is configured for each virtual computing unit, so that each virtual computing unit can monitor the read and write access requests at its respective communication port, and then respond to memory read and write operations requested through the network.

[0091] In an exemplary embodiment, the process of receiving a read-write access request may include:

[0092] Listen for read and write access requests at the communication port of the target virtual computing unit.

[0093] As described above, in the embodiment of the present application, each virtual computing unit in the computing cluster is configured with a communication port and a monitoring function, so each virtual computing unit can monitor the read and write access requests at its own communication port.

[0094] Exemplarily, for the target virtual computing unit, the method of receiving the read / write access request may be to monitor the read / write access request at the communication port of the target virtual computing unit. The read / write access request may be sent by any virtual computing unit in the computing cluster except the target virtual computing unit.

[0095] It should be understood that in the embodiment of the present application, the read and write access requests sent by other virtual computing units are all remote access. In this embodiment, the memory management module in the virtual computing unit is modified to realize the function of listening to the communication port (TCP port) to accept remote calls to respond to the read and write access requests of other virtual computing units, that is, each virtual computing unit can respond to the remote access of other virtual computing units by listening to the read and write access requests at its own communication port.

[0096] It should be further explained that in the embodiment of the present application, each virtual computing unit can listen to remote read and write requests, and the number of connections is not limited. Any number of physical connections can be simulated, and parallel access can be achieved between different virtual computing units, and the read and write speed is not limited by a single connection.

[0097] S202, executing corresponding memory read and write operations according to the read and write access request.

[0098] After receiving the read / write access request sent by other virtual computing units, the target virtual computing unit needs to execute the memory read / write operation corresponding to the read / write access request according to the read / write access request, that is, it needs to read or write the requested data in the corresponding memory location according to the information carried in the read / write access request.

[0099] The read / write access request usually carries a read / write address, so that the read / write operation is performed on the requested data at the corresponding position according to the read / write address.

[0100] In one embodiment, according to the read / write access request, executing the corresponding memory read / write operation may be to read or write the requested data at the corresponding location of the memory of the target virtual computing unit according to the read / write address carried in the read / write access request.

[0101] For example, if the read / write access request is a data read request, the target location of the memory of the target virtual computing unit can be determined according to the read address carried in the data read request, and the data at the target location can be read, and the read data can be returned. If the read / write access request is a data write request, the target location of the memory of the target virtual computing unit can be determined according to the write address carried in the data write request, and the write data carried in the data write request can be obtained, and the write data can be written to the target location.

[0102] In another embodiment, based on the read and write access request, executing the corresponding memory read and write operation can be to determine whether the corresponding memory read and write operation can be performed in the memory of the target virtual computing unit based on the read and write address carried in the data read and write request; if so, the carried read and write address can be used to perform read and write operations on the requested data at the corresponding position in the memory of the target virtual computing unit; if not, there is no need to execute the corresponding read and write operation, and an exception message is returned.

[0103] In this embodiment, whether to perform corresponding memory read and write operations in the memory of the target virtual computing unit can be determined according to the address range of the read and write addresses.

[0104] For example, a preset address range can be obtained, and then the read-write address can be compared with the preset address range to determine whether the corresponding memory read-write operation can be performed in the memory of the target virtual computing unit. If the read-write address is within the above address range, it is determined that the corresponding memory read-write operation can be performed in the memory of the target virtual computing unit; if the read-write address is not within the above address range, it is determined that the corresponding memory read-write operation cannot be performed in the memory of the target virtual computing unit. It should be noted that it is also possible to determine whether the corresponding memory read-write operation can be performed in the memory of the target virtual computing unit based on other requirements. In the embodiment of the present application, the method for determining whether the corresponding memory read-write operation can be performed in the memory of the target virtual computing unit is not limited.

[0105] In addition to receiving read and write access requests sent by other virtual computing units, the target virtual computing unit can also receive read and write access requests sent by the virtual control unit. In the embodiment of the present application, each virtual computing unit provides a remote read and write interface, on this basis, it is convenient to realize the function of other virtual control units directly accessing the virtual computing unit, and the interface can also be directly called manually to achieve debugging purposes. That is, the target virtual computing unit can receive the read and write access requests sent by each virtual control unit through the remote read and write interface provided by itself, and perform corresponding memory read and write operations.

[0106] In addition, it should be noted that, since the memory access logic and remote request response function are implemented on each virtual computing unit in the embodiment of the present application, there is no need to preset any connection relationship between virtual computing units in the present application, nor is there any need to limit the connection relationship and the number of connections. When actually used, the user can perform any card-to-card access according to actual needs, and the process of actual wired connection between different cards in real physical hardware is omitted.

[0107] In the computing cluster simulation method provided in the embodiment of the present application, for any target virtual computing unit in each virtual computing node in the computing cluster, a read / write access request is first received, and then the corresponding memory read / write operation is performed according to the read / write access request. The read / write access request includes the read / write access request sent by other virtual computing units in the computing cluster, and each virtual computing unit in the computing cluster is configured with a communication port, and each virtual computing unit is connected to each other through the communication port. In this scheme, a communication port is pre-configured for each virtual computing unit in the computing cluster, so that different virtual computing units can communicate with each other through the configured communication ports. Based on this, any virtual computing unit can send read and write access requests to other virtual computing units, and can receive read and write access requests sent by other virtual computing units. This is equivalent to any two virtual computing units in the computing cluster being able to access each other, that is, the hardware environment of interconnected computing units is simulated, and then the interconnection simulation between the computing nodes in the computing cluster is realized; there is no need to limit the connection relationship and the number of connections, and the computing cluster simulation of any scale and any topology can be realized; in addition, in the actual verification process, any computing units can also access each other according to actual needs, without the need to make different wired connections for different verification scenarios in the real hardware environment.

[0108] Based on the above embodiment, an embodiment is provided to illustrate the process of executing corresponding memory read and write operations according to the read and write access requests.

[0109] In an exemplary embodiment, Figure 4 As shown, according to the read and write access request, the corresponding memory read and write operations are performed, including:

[0110] S301, obtaining a local memory range of a virtual computing node where a target virtual computing unit is located.

[0111] As described above, the computing cluster includes multiple virtual computing nodes, each virtual computing node includes multiple virtual computing units, and each virtual computing unit has its corresponding virtual computing node.

[0112] In one embodiment, obtaining the local memory range of the virtual computing node where the target virtual computing unit is located can be obtained from a database that stores the local memory range of each computing virtual node. For example, the association relationship between different virtual computing nodes and their corresponding local memory ranges is stored in the database. According to the identification information of the virtual computing node where the target virtual computing unit is located, the local memory range corresponding to the identification information can be filtered out from the above-mentioned association relationship stored in the database, and the local memory range can be determined as the local memory range of the virtual computing node where the target virtual computing unit is located.

[0113] In another embodiment, the local memory range of the virtual computing node where the target virtual computing unit is located can be obtained from a memory range filling interface. For example, when it is necessary to obtain the local memory range of the virtual computing node where the target virtual computing unit is located, the memory range filling interface is displayed to the user. The user can fill in the local memory range of the virtual computing node where the target virtual computing unit is located in the memory range interface and click to confirm. In this way, the local memory range of the virtual computing node where the target virtual computing unit is located can be obtained.

[0114] S302, executing the memory read / write operation corresponding to the read / write access request according to the read / write address and the local memory range carried in the read / write access request.

[0115] In an embodiment of the present application, the read-write address refers to the read address or write address corresponding to the requested data in the read-write access request. For example, if the read-write access request is a data read request, the read-write address is the read address when reading the requested data; if the read-write access request is a data write request, the read-write address is the write address when writing the requested data.

[0116] The read / write access request carries the read / write address corresponding to the requested data. According to the read / write address and the local memory range, the corresponding memory read / write operation is performed on the requested data.

[0117] Exemplarily, executing the memory read and write operations corresponding to the read and write access requests can be based on the read and write addresses and the local memory range carried in the read and write access requests to determine whether the corresponding memory read and write operations can be performed in the memory. If so, the corresponding read and write operations can be performed on the requested data based on the read and write addresses. If not, the corresponding read and write operations are not performed on the requested data.

[0118] In the computing cluster simulation method provided by the embodiment of the present application, the local memory range of the virtual computing node where the target virtual computing unit is located is obtained, and then the memory read and write operations corresponding to the read and write access request are performed according to the read and write addresses and the local memory range carried in the read and write access request. In this method, when receiving remote read and write access requests from other virtual computing units, the memory read and write operations corresponding to the read and write access request are performed according to the read and write addresses and the local memory range carried in the access request, which is equivalent to the target virtual computing unit responding to the remote access of other virtual computing units through the read and write addresses and the local memory range carried in the read and write access request, and performing the memory read and write operations corresponding to the read and write access request, providing an optional way to respond to remote read and write access requests.

[0119] Based on the above embodiment, an embodiment is provided to illustrate the process of executing the memory read and write operations corresponding to the read and write access request according to the read and write addresses and the local memory range carried in the read and write access request.

[0120] In an exemplary embodiment, Figure 5 As shown, according to the read / write address and the local memory range carried in the read / write access request, the memory read / write operation corresponding to the read / write access request is performed, including:

[0121] S401, when the read / write address is within the local memory range, performing memory read / write operations in the local memory of the target virtual computing unit according to the read / write address.

[0122] In an embodiment of the present application, when executing the memory read and write operations corresponding to the read and write access requests based on the read and write addresses and the local memory range carried in the read and write access requests, first, based on the read and write addresses, it is determined whether the read and write addresses are within the local memory range of the virtual computing node where the target virtual computing unit is located, and then the corresponding operations are performed based on the judgment result.

[0123] If the read / write address is within the local memory range of the virtual computing node where the target virtual computing unit is located, the memory read / write operation is performed in the local memory of the target virtual computing unit according to the read / write address. For example, if the read / write access request is a data read request, the requested data is read from the corresponding position of the local memory of the target virtual computing unit according to the read / write address, and the read data is fed back to other virtual computing units that sent the read / write access request; if the read / write access request is a data write request, the requested data is written to the corresponding position of the local memory of the target virtual computing unit according to the read / write address.

[0124] S402: When the read / write address is not within the local memory range, an address error message is returned.

[0125] If it is determined that the read / write address is not within the local memory range of the virtual computing node where the target virtual computing unit is located, an address error message is returned, that is, there is no need to perform the memory read / write operation corresponding to the read / write access request.

[0126] In the computing cluster simulation method provided by the embodiment of the present application, when the read / write address is within the local memory range, the memory read / write operation is performed in the local memory of the target virtual computing unit according to the read / write address; when the read / write address is not within the local memory range, an address error message is returned. In this method, for read / write access requests sent from other virtual computing units, it is necessary to determine whether the read / write address carried in the read / write access request is within the local memory range of the virtual computing node where the target virtual computing unit is located. If so, the memory read / write operation is performed in the local memory of the target virtual computing unit according to the read / write address. If not, an address error message is returned. By determining whether the read / write address is within the local memory range, the target virtual computing unit can respond to remote access from other virtual computing units more quickly and accurately.

[0127] When the read / write access request is sent by other local modules in the target virtual computing unit, the target virtual computing unit responds to the request in a different manner than other virtual computing units. Based on this, the following embodiment describes the method of performing memory read / write operations.

[0128] In an exemplary embodiment, Figure 6 As shown, the read / write access request also includes the read / write access request sent by other local modules in the target virtual computing unit; according to the read / write access request, the corresponding memory read / write operation is performed, including:

[0129] S501, obtaining a virtual computing unit address range of a computing cluster.

[0130] In the embodiment of the present application, the virtual computing unit address range refers to the memory address range of each virtual computing unit. For example, when simulating the interconnection between the computing nodes in the computing cluster, the memory of each virtual computing unit in the computing cluster is configured with a memory address range of 0x400000000, then the memory address of the first virtual computing unit is 0~0x400000000, the memory address of the second virtual computing unit is 0x400000000~0x800000000, the memory address of the third virtual computing unit is 0x800000000~0x1000000000, and so on, to obtain the memory address of each virtual computing unit.

[0131] When the read / write access request is sent by other local modules in the target virtual computing unit, it is necessary to respond to the read / write access request according to the virtual computing unit address range of the computing cluster. Among them, other local modules can directly send the read / write access request by calling local functions.

[0132] Exemplarily, obtaining the virtual computing unit address range of the computing cluster may be directly obtaining the memory address range of the target virtual computing unit, and determining the memory address range of the target virtual computing unit as the virtual computing unit address range.

[0133] S502, convert the read / write address carried in the read / write access request according to the virtual computing unit address range, and obtain the converted read / write address.

[0134] After obtaining the virtual computing unit address range, the read and write addresses carried in the read and write access request need to be converted according to the virtual computing unit address range to obtain the converted read and write addresses, so as to perform memory read and write operations according to the converted read and write addresses.

[0135] In one embodiment, the read / write address carried in the read / write access request is converted according to the address range of the virtual computing unit, and the converted read / write address can be obtained by determining the converted read / write address according to the quotient and remainder of the read / write address divided by the address range of the virtual computing unit. It should be noted that the numbering information of the virtual computing unit to be read / written can also be determined in this process. Among them, the virtual computing unit to be read / written refers to the virtual computing unit that actually reads the request data or writes the request data. For example, if the numbering information of the target virtual computing unit is 02, then the virtual computing unit to be read / written may be any virtual computing unit, such as the numbering information of the computing unit to be read / written may be 01, 02, 03, etc.

[0136] For example, taking the target virtual computing unit as virtual computing unit No. 02 as an example, if the read / write address is 0x600000000, then because 0x600000000 divided by 0x400000000 equals 1, the remainder is 0x200000000, which is converted to access the address 0x200000000 of virtual computing unit No. 02, that is, access the address 0x200000000 of the target virtual computing unit. At this time, the determined converted address is 0x200000000, and the number information of the virtual computing unit to be read / written is No. 02.

[0137] For another example, if the read / write address is 0x1000000000, then because 0x1000000000 divided by 0x400000000 equals 2, the remainder is 0x200000000, which is converted to the address 0x200000000 for accessing virtual computing unit 03. This address does not belong to the target virtual computing unit, so remote access is required. At this time, the determined converted address is 0x200000000, and the number information of the virtual computing unit to be read / written is 03.

[0138] In another embodiment, the read / write address carried in the read / write access request is converted according to the virtual computing unit address range, and the converted read / write address can be obtained according to the mapping relationship between different read / write addresses, virtual computing unit address ranges, and converted read / write addresses. For example, the mapping relationship between different read / write addresses, virtual computing unit ranges, and converted read / write addresses is stored in an address relationship table, and when it is necessary to obtain the converted read / write address, the converted read / write address corresponding to the read / write address carried in the read / write access request can be obtained from the mapping relationship in the address relationship table.

[0139] In addition, for the numbering information of the virtual computing unit to be read and written, there can also be a mapping relationship between different read and write addresses, virtual computing unit address ranges and converted read and write addresses and numbering information. In the process of obtaining the converted read and write addresses, the numbering information of the virtual computing node to be read and written can be obtained at the same time.

[0140] S503, executing memory read and write operations corresponding to the read and write access request according to the converted read and write addresses and the local memory range of the virtual computing node where the target virtual computing unit is located.

[0141] Based on the converted read / write addresses obtained above, memory read / write operations corresponding to the read / write access request are performed according to the converted read / write addresses and the local memory range of the virtual computing node where the target virtual computing unit is located.

[0142] Exemplarily, the memory read / write operation corresponding to the read / write access request may be performed according to the relationship between the converted read / write address and the local memory range of the virtual computing node where the target virtual computing unit is located.

[0143] For example, if the converted read / write address is within the local memory range of the virtual computing node where the target virtual computing unit is located, the memory read / write operation can be performed in the local memory of the target virtual computing unit according to the converted read / write address. If the converted read / write address is not within the local memory range of the virtual computing node where the target virtual computing unit is located, other methods are used to perform the memory read / write operation. The other methods here can be transferring the read / write access request to the virtual computing unit corresponding to the converted read / write address for processing.

[0144] In the computing cluster simulation method provided by the embodiment of the present application, the virtual computing unit address range of the computing cluster is obtained, and then the read-write address carried in the read-write access request is converted according to the virtual computing unit address range to obtain the converted read-write address, and then the memory read-write operation corresponding to the read-write access request is performed according to the converted read-write address and the local memory range of the virtual computing node where the target virtual computing unit is located. In this method, when the read-write access request is sent by other local modules in the target virtual computing unit, it is necessary to convert the read-write address carried in the read-write access request according to the virtual computing unit address range of the computing cluster to obtain the converted read-write address, so as to perform the corresponding memory read-write operation according to the converted read-write address, and by converting the read-write address, the target virtual computing unit can quickly and accurately obtain the actual read-write address, so as to respond to the read-write access request more accurately according to the actual read-write address.

[0145] Based on the above embodiment, an embodiment is provided to illustrate the process of executing memory read and write operations corresponding to the read and write access request according to the converted read and write addresses and the local memory range of the virtual computing node where the target virtual computing unit is located.

[0146] In an exemplary embodiment, Figure 7 As shown, according to the converted read / write address and the local memory range of the virtual computing node where the target virtual computing unit is located, the memory read / write operation corresponding to the read / write access request is performed, including:

[0147] S601, when the converted read / write address is not within the local memory range, obtain the attribute information of the virtual computing unit to be read / written, and perform the memory read / write operation according to the attribute information.

[0148] Before executing memory read and write operations according to the converted read and write addresses, first determine whether the converted read and write addresses are within the local memory range of the virtual computing node where the target virtual computing unit is located based on the local memory range of the virtual computing node where the target virtual computing unit is located.

[0149] If the converted read / write address is not within the local memory range of the virtual computing node where the target virtual computing unit is located, it is necessary to obtain the attribute information of the virtual computing unit to be read / written, and perform memory read / write operations based on the attribute information of the virtual computing unit to be read / written.

[0150] In the embodiment of the present application, the virtual computing unit to be read or written refers to the virtual computing unit that actually reads or writes the request data. The attribute information of the virtual computing unit to be read or written may include the number information, port information and network protocol address of the virtual computing unit to be read or written.

[0151] Exemplarily, obtaining the attribute information of the virtual computing unit to be read or written may be to determine the virtual computing unit to be read or written according to the converted read or write address, and then obtain the attribute information of the virtual computing unit to be read or written from the attribute information library. For example, after determining the virtual computing unit to be read or written, the attribute information matching the identification information of the virtual computing unit to be read or written may be screened from the attribute information library according to the identification information of the virtual computing unit to be read or written, and then the attribute information matching the identification information is determined as the attribute information of the virtual computing unit to be read or written.

[0152] Exemplarily, performing the memory read and write operation according to the attribute information may be sending a remote access request to the virtual computing unit to be read and written according to the attribute information, so as to request the virtual computing unit to be read and written to perform the memory read and write operation in its local memory.

[0153] S602, when the converted read / write address is within the local memory range, performing memory read / write operations in the local memory of the target virtual computing unit according to the converted read / write address.

[0154] If the converted read / write address is within the local memory range of the virtual computing node where the target virtual computing unit is located, the memory read / write operation corresponding to the read / write access request is performed in the local memory of the target virtual computing unit according to the converted read / write address. In the embodiment of the present application, the execution of the memory read / write operation in the local memory of the target virtual computing unit can refer to the aforementioned embodiment, which is not repeated here.

[0155] It should be noted that in the embodiment of the present application, the memory management module in the virtual computing unit is modified to realize the following functions: the actual reading and writing of memory functions are locked to ensure that remote reading and writing will not conflict with local reading and writing and cause errors. In addition, to prevent read-write loop deadlock, the address of the remote access request needs to be performed on the request side, and the responding side only performs verification and no longer forwards it twice.

[0156] In the computing cluster simulation method provided by the embodiment of the present application, when the converted read-write address is not in the local memory range, the attribute information of the virtual computing unit to be read and written is obtained, and the memory read-write operation is performed according to the attribute information; when the converted read-write address is in the local memory range, the memory read-write operation is performed in the local memory of the target virtual computing unit according to the converted read-write address. In this method, when performing a memory read-write operation according to the converted read-write address, it is necessary to determine whether the converted read-write address is in the local memory range of the virtual computing node where the target virtual computing unit is located. If so, the memory read-write operation is performed directly in the local memory of the target virtual computing unit. If not, the attribute information of the virtual computing unit to be read and written is determined to perform the memory read-write operation according to the attribute information. By determining the address range where the converted read-write address is located, matching memory read-write operations are performed on the converted read-write addresses of different address ranges, thereby improving the accuracy and reliability of the memory read-write operation.

[0157] Based on the above embodiment, an embodiment is provided to illustrate the process of obtaining the attribute information of the virtual computing unit to be read or written.

[0158] In an exemplary embodiment, Figure 8 As shown, the attribute information of the virtual computing unit to be read and written is obtained, including:

[0159] S701, obtaining number information of the virtual computing unit to be read or written according to the virtual computing unit address range and the read / write address.

[0160] In the embodiment of the present application, the read and write addresses can be converted according to the virtual computing unit address range to obtain the number information of the virtual computing unit to be read and written. The method for obtaining the number information of the virtual computing unit to be read and written has been introduced in the process of obtaining the converted read and write addresses in the above embodiment, and will not be repeated here.

[0161] S702, determining the port information and network protocol address of the virtual computing unit to be read or written according to the numbering information.

[0162] On the basis of the number information of the virtual computing unit to be read or written obtained above, the port information and the network protocol address of the virtual computing unit to be read or written can be determined according to the number information.

[0163] Exemplarily, determining the port information and the network protocol address of the virtual computing unit to be read or written according to the numbering information may be determined according to an association relationship among the numbering information, the port information, and the network protocol address.

[0164] For example, based on the numbering information of the virtual computing unit to be read or written, the port information and the network protocol address associated with the numbering information of the virtual computing unit to be read or written can be determined from the association relationship between the above numbering information, port information and network protocol address, and the port information and the network protocol address associated with the numbering information of the virtual computing unit to be read or written can be determined as the port information and the network protocol address of the virtual computing unit to be read or written.

[0165] S703, determine the number information, port information and network protocol address as the attribute information of the virtual computing unit to be read or written.

[0166] After determining the number information, port information and network protocol address of the virtual computing unit to be read or written, the number information, port information and network protocol address are determined as the attribute information of the virtual computing unit to be read or written.

[0167] In the computing cluster simulation method provided by the embodiment of the present application, the numbering information of the virtual computing unit to be read and written is obtained according to the virtual computing unit address range and the read-write address, and then the port information and the network protocol address of the virtual computing unit to be read and written are determined according to the numbering information, and then the numbering information, the port information and the network protocol address are determined as the attribute information of the virtual computing unit to be read and written. In this method, an optional way to quickly obtain attribute information is provided; by obtaining the numbering information of the virtual computing unit to be read and written according to the virtual computing unit address and the read-write address, the port information and the network protocol address of the virtual computing unit to be read and written can be obtained on the basis of the numbering information, and the numbering information, the port information and the network protocol address are the attribute information of the virtual computing unit to be read and written, and the port information and the network protocol address are further obtained through the numbering information of the virtual computing unit to be read and written, so that the obtained attribute information is more accurate, and more accurate data support is provided for the subsequent execution of memory read and write operations.

[0168] Based on the above embodiment, an embodiment is provided for the process of determining the port information and network protocol address of the virtual computing unit to be read or written according to the numbering information.

[0169] In an exemplary embodiment, Fig. 9 As shown, according to the number information, the port information and network protocol address of the virtual computing unit to be read and written are determined, including:

[0170] S801, query the local cache of the target virtual computing unit according to the number information.

[0171] In an embodiment of the present application, when determining the port information and network protocol address of the virtual computing unit to be read or written, it is possible to first query whether the numbering information of the target virtual computing unit exists in the local cache of the target virtual computing unit. If not, the local cache of the target virtual computing unit will not have the port information and network protocol address of the virtual computing unit to be read or written. If so, the port information and network protocol address of the virtual computing unit to be read or written can be directly obtained.

[0172] S802: If the numbering information exists in the local cache, the port corresponding to the numbering information is determined as the port information, and the address corresponding to the numbering information is determined as the network protocol address.

[0173] If the numbering information of the virtual computing unit to be read or written exists in the local cache of the target virtual computing unit, the port information and network protocol address of the virtual computing unit to be read or written also exist. The port corresponding to the numbering information of the virtual computing unit to be read or written can be determined as the port information, and the address corresponding to the numbering information of the virtual computing unit to be read or written can be determined as the network protocol address.

[0174] S803: If the numbering information does not exist in the local cache, query the port information and the network protocol address from the pre-deployed virtual management service node.

[0175] Among them, the virtual management service node refers to the virtual node that deploys the management service program, for example, the virtual node that deploys the NamingServer service program. The virtual management service node is connected to each virtual computing node in the computing cluster. In this way, each virtual computing node and the virtual management service node are in the same local area network, that is, the network between any two virtual nodes is interconnected, so that each virtual computing unit can access each other, realizing the interconnection simulation between each computing node in the computing cluster.

[0176] If the number information of the virtual computing unit to be read or written does not exist in the local cache of the target virtual computing unit, the port information and network protocol address can be queried from the pre-deployed virtual management service node according to the number information of the virtual computing unit to be read or written.

[0177] For example, the target virtual computing unit can send a port address acquisition request to the virtual management service node. After receiving the port address acquisition request, the virtual management service node queries the port and network protocol address that match the numbering information based on the numbering information carried in the port address acquisition request, and then feeds back the port and network protocol address that match the numbering information to the target virtual computing unit. The target virtual computing unit can then determine the port that matches the numbering information as the port information of the virtual computing unit to be read and written, and determine the network protocol address that matches the numbering information as the network protocol address of the virtual computing unit to be read and written.

[0178] In the computing cluster simulation method provided by the embodiment of the present application, the local cache of the target virtual computing unit is queried according to the numbering information. If the numbering information exists in the local cache, the port corresponding to the numbering information is determined as the port information, and the address corresponding to the numbering information is determined as the network protocol address. If the numbering information does not exist in the local cache, the port information and the network protocol address are queried from the pre-deployed virtual management service node. In this method, the local cache of the target virtual computing unit is first queried to see whether there is the numbering information of the virtual computing unit to be read and written. If so, the port corresponding to the numbering information is determined as the port information of the virtual computing unit to be read and written, and the address corresponding to the numbering information is determined as the network protocol address of the virtual computing unit to be read and written. If not, the port information and the network protocol address are queried from the pre-deployed virtual management service node, which provides an optional way to quickly obtain the port and network protocol address of the virtual computing unit to be read and written.

[0179] Based on the above embodiment, an embodiment is provided to illustrate the process of querying port information and network protocol address from a pre-deployed virtual management service node.

[0180] In an exemplary embodiment, Fig.10 As shown, query the port information and network protocol address from the pre-deployed virtual management service node, including:

[0181] S901, sending a port address query request to a virtual management service node according to the number information.

[0182] In an embodiment of the present application, when querying port information and network protocol address from a pre-deployed virtual management service node, a port address query request is sent to the virtual management service node based on the numbering information of the virtual computing unit to be read or written. The port address query request carries the numbering information of the virtual computing unit to be read or written, so that the virtual management service node determines the port information and network protocol address of the virtual computing unit to be read or written based on the numbering information of the virtual computing unit to be read or written.

[0183] S902, receiving the port and address fed back by the virtual management service node; the port and address are obtained by the virtual management service node from the node information registration table based on the number information.

[0184] In the embodiment of the present application, the node information registry is an information table of each virtual computing node in the computing cluster maintained by the virtual management service node. The node information registry includes the number information, port information and network protocol address of each virtual computing unit, as well as the node number information and node network protocol address of the virtual computing node to which each virtual computing unit belongs.

[0185] After receiving the port address query request, the virtual management service node obtains the port and address corresponding to the number information from the node information registry maintained by the virtual management service node according to the number information carried in the port address query request, and feeds back the port and address corresponding to the number information to the target virtual computing unit.

[0186] S903: determine the port as port information, and determine the address as a network protocol address.

[0187] After receiving the port and address corresponding to the numbering information sent by the virtual management service node, the target virtual computing unit determines the port corresponding to the numbering information as the port information of the virtual computing unit to be read and written, and determines the address corresponding to the numbering information as the network protocol address.

[0188] It should be noted that after querying the port information and network protocol address from the virtual management service node, the port information and network protocol address of the virtual computing unit to be read and written need to be updated in the local cache of the target virtual computing unit so that they can be directly obtained from the local cache the next time, thereby improving information acquisition efficiency.

[0189] In the computing cluster simulation method provided by the embodiment of the present application, a port address query request is sent to a virtual management service node according to the numbering information, and then the port and address fed back by the virtual management service node are received, the port and address are obtained by the virtual management service node from the node information registry based on the numbering information, and then the port is determined as the port information, and the address is determined as the network protocol address. In this method, a node information registry is maintained in the virtual management service node, and the target virtual computing unit can send a port address query request to the virtual management service node, so that the virtual management service node obtains the port and address corresponding to the numbering information from the maintained node information registry according to the numbering information carried in the port address query request, and feeds back to the target virtual computing unit, the port corresponding to the numbering information is the port information of the virtual computing unit to be read and written, and the address corresponding to the numbering information is the network protocol address of the virtual computing unit to be read and written, and the port information and network protocol address can be quickly and accurately queried through the node information registry maintained in the virtual management service node.

[0190] When each virtual computing unit in the same virtual computing node in the computing cluster is configured with a shared memory, different methods can be used to perform the corresponding memory read and write operations. Based on this, the following embodiment describes the method of performing memory read and write operations according to attribute information.

[0191] In an exemplary embodiment, Fig.11As shown, each virtual computing unit in the same virtual computing node in the computing cluster is configured with shared memory; according to the attribute information, memory read and write operations are performed, including:

[0192] S1001, determining the virtual computing node to which the virtual computing unit to be read or written belongs according to the attribute information.

[0193] As mentioned above, the node information registration table includes the number information, port information and network protocol address of each virtual computing unit, as well as the node number information and node network protocol address of the virtual computing node to which each virtual computing unit belongs.

[0194] In an embodiment of the present application, when the attribute information (port, network protocol address) of the virtual computing unit to be read or written is determined, the virtual computing node to which the virtual computing unit to be read or written belongs can be obtained from the node information registration table according to the attribute information of the virtual computing unit to be read or written.

[0195] For example, the target virtual computing unit can send a request to the virtual management service node to obtain the virtual computing node to which the virtual computing unit to be read or written belongs. When the virtual management service node receives the request, it can match the corresponding node number information from the node information registration table according to the attribute information of the virtual computing unit to be read or written carried in the request, and feed back the matched node number information to the target virtual computing unit, so that the target virtual computing unit can obtain the virtual computing node to which the virtual computing unit to be read or written belongs.

[0196] S1002: When the virtual computing node to which the target virtual computing unit belongs is the same as the virtual computing node to which the target virtual computing unit belongs, perform memory read and write operations in the shared memory according to the converted read and write addresses.

[0197] In an embodiment of the present application, after obtaining the virtual computing node to which the virtual computing unit to be read or written belongs, it is determined whether the virtual computing node to which the virtual computing unit to be read or written belongs is the same as the virtual computing node where the target virtual computing unit is located. At this time, the node number information of the virtual computing node to which the virtual computing unit to be read or written belongs can be compared with the node number information of the virtual computing node where the target virtual computing unit is located to determine whether the nodes of the virtual computing unit to be read or written and the target virtual computing unit are the same.

[0198] If the virtual computing node to which the virtual computing unit to be read or written belongs is the same as the virtual computing node where the target virtual computing unit is located, the memory read or write operation is performed in the shared memory according to the converted read or write address.

[0199] For example, if the read / write access request is a data read request, the requested data is read from the corresponding position of the shared memory according to the converted read / write address. If the read / write access request is a data write request, the requested data carried in the read / write access request is written to the corresponding position of the shared memory according to the converted read / write address.

[0200] S1003: When the virtual computing node to which the target virtual computing unit belongs is different from the virtual computing node to which the target virtual computing unit belongs, a read / write access request is sent to the virtual computing unit to be read / written.

[0201] If the virtual computing node to which the virtual computing unit to be read or written belongs is different from the virtual computing node to which the target virtual computing unit is located, the virtual computing unit to be read or written is remotely accessed, that is, a read or write access request can be sent to the virtual computing unit to be read or written, so as to write the requested data in the read or write access request to the virtual computing unit to be read or written or read the requested data from the virtual computing unit to be read or written through remote access.

[0202] At this time, the remote access process is equivalent to the aforementioned process in which other virtual computing units send read and write access requests to the target virtual computing unit. For this process, reference may be made to the aforementioned embodiment and will not be repeated here.

[0203] In the computing cluster simulation method provided by the embodiment of the present application, each virtual computing unit in the same virtual computing node in the computing cluster is configured with a shared memory, and the virtual computing node to which the virtual computing unit to be read and written belongs is determined according to the attribute information. When the virtual computing node to which the virtual computing node belongs is the same as the virtual computing node where the target virtual computing unit is located, the memory read and write operation is performed in the shared memory according to the converted read and write address. When the virtual computing node to which the virtual computing node belongs is different from the virtual computing node where the target virtual computing unit is located, a read and write access request is sent to the virtual computing unit to be read and written. In this method, each virtual computing unit in the same virtual computing node in the computing cluster is configured with a shared memory, and if the virtual computing node to which the virtual computing unit to be read and written belongs is the same as the virtual computing node where the target virtual computing unit is located, the memory read and write operation can be performed directly in the shared memory, and if the virtual computing node to which the virtual computing unit to be read and written belongs is different from the virtual computing node where the target virtual computing unit is located, the virtual computing unit to be read and written is remotely accessed, and by configuring shared memory for each virtual computing unit in the same virtual computing node, the target virtual computing unit can quickly respond to the read and write access request by means of shared memory.

[0204] The computing cluster also includes a virtual management service node, which is connected to each virtual computing unit in the computing cluster to achieve network communication between the target virtual computing unit and the virtual management service node.

[0205] In an exemplary embodiment, Fig.12As shown, the computing cluster also includes a virtual management service node, and the virtual management service node and each virtual computing unit in the computing cluster are interconnected through a network; before receiving a read-write access request, the method also includes:

[0206] S1101, listen to the specific address read and write request at the communication port of the target virtual computing unit; the specific address read and write request is sent by the virtual management service node to the target virtual computing unit when it receives the registration request of the target virtual control unit; the target virtual control unit is the control unit in the virtual computing node where the target virtual computing unit is located.

[0207] In the embodiment of the present application, the control unit refers to a processor with a control function, for example, the control unit may be a CPU, and further, the virtual control unit may be a virtual CPU. The target virtual control unit is a control unit in the virtual computing node where the target virtual computing unit is located, and each virtual computing node in the computing cluster includes multiple virtual computing units and one virtual control unit.

[0208] The specific address read and write request is sent by the virtual management service node to the target virtual computing unit when it receives the registration request of the target virtual control unit. Among them, the specific address is a pre-specified address, such as a zero address, and the specific address read and write request can be a read zero address request. The specific address can also be other addresses, which is not limited in the embodiments of the present application. The registration request refers to the node registration request of the virtual computing node where the target virtual control unit is located. When it is necessary to register the node of the virtual computing node where the target virtual control unit is located, the target virtual control unit can send a registration request to the virtual management service node. Among them, after the NamingServer service is started, it will listen to the local port 8443 (the port number can be modified through the configuration file) to accept the registration service. NamingServer uniformly manages and maintains all node information, and there is no need to manually configure the computing nodes.

[0209] Furthermore, after receiving the registration request of the target virtual control unit, the virtual management service node sends a specific address read / write request to the target virtual computing unit to perform a status check on the target virtual computing unit and a connection check with the virtual management service node.

[0210] At this time, the target virtual computing unit can still receive the specific address read and write request sent by the virtual management service node by monitoring the configured communication port.

[0211] Among them, when the virtual management service node sends a specific address read and write request to the target virtual computing unit, it can send it according to the information carried in the registration request. The information carried may include but is not limited to the node network protocol address of the virtual computing node where the target virtual control unit is located, the number of virtual computing units in the virtual computing node where the target virtual control unit is located, and the port information of each virtual computing unit.

[0212] When the virtual management service node sends a specific address read and write request, the virtual management service node can send the specific address read and write request to each virtual computing unit according to the port information in the information carried in the registration request. At this time, the target virtual computing unit is also included, that is, any one of the virtual computing units.

[0213] S1102, replying response information to the virtual management service node according to the specific address read and write request; the response information is used by the virtual management service node to determine the status check of the target virtual computing unit.

[0214] After receiving the specific address read and write request, the target virtual computing unit needs to reply response information to the virtual management service node so that the virtual management service node determines the status check of the target virtual computing unit based on the response information. The response information may be the data stored at the specific address. Taking the specific address read and write request as a read zero address request as an example, when the target virtual computing unit receives the read zero address request, it reads the data from the zero address and uses the read data as the response information. Alternatively, the virtual management service node may first write a data to the zero address of the target virtual computing unit, and then send a read zero address request to the target virtual computing unit, so that the target virtual computing unit reads the written data from the zero address and feeds it back to the virtual management service node as the response information.

[0215] Exemplarily, after receiving a read or write request to a specific address, the target virtual computing unit reads data from a specific address of the memory of the target virtual computing unit according to the read or write request to the specific address, and feeds back the read data as response information to the virtual management service node. The virtual management service node then determines the status check of the target virtual computing unit based on the response information.

[0216] For example, if the virtual management service node can receive the data read by the target virtual computing unit, and the received data is consistent with the data requested by the virtual management service node, then it is determined that the target virtual computing unit is in good condition, and the connection verification between the target virtual computing unit and the virtual management service node is successful, that is, the target virtual computing unit can communicate normally with the virtual management service node over the network; conversely, if the virtual management service node cannot receive the data read by the target virtual computing unit, or the data received by the virtual management service node is inconsistent with the data requested by the virtual management service node, then it is determined that the connection verification between the target virtual computing unit and the virtual management service node has failed, and the target virtual computing unit cannot communicate normally with the virtual management service node over the network.

[0217] In the computing cluster simulation method provided in the embodiment of the present application, the computing cluster also includes a virtual management service node, and the virtual management service node and each virtual computing unit in the computing cluster are interconnected through a network. The virtual management service node monitors the specific address read and write requests at the communication port of the target virtual computing unit, and then replies with response information to the virtual management service node according to the specific address read and write requests; the response information is used by the virtual management service node to determine the status check of the target virtual computing unit; the specific address read and write request is sent by the virtual management service node to the target virtual computing unit when it receives a registration request from the target virtual control unit; the target virtual control unit is the control unit in the virtual computing node where the target virtual computing unit is located. In the method, before receiving a read / write access request, a state check and a connection check are performed on a target virtual computing unit, and a specific address read / write request is sent to the target virtual computing unit through a virtual service management node, so that the target virtual computing unit feeds back response information based on the specific address read / write request, and then determines whether the state of the target virtual computing unit is good based on the response information, and at the same time determines whether the connection check between the target virtual computing unit and the virtual management service node is successful, that is, determines whether the target virtual computing unit can communicate normally with the virtual management service node over the network; by establishing network communication between the target virtual computing unit and the virtual management service node, the virtual management service node and the target virtual computing unit can access each other, so as to further form an interconnection between the computing nodes in the computing cluster.

[0218] Based on the above embodiment, an embodiment is provided to illustrate the triggering process of the above registration request.

[0219] In an exemplary embodiment, the registration request is sent by the target virtual control unit to the virtual management service node when it detects that the status of each virtual computing unit in the virtual computing node where it is located meets the standard status.

[0220] In the embodiment of the present application, the target virtual control unit sends a registration request to the virtual management service node by detecting the readiness of each virtual computing unit in the virtual computing node where it is located.

[0221] When the target virtual control unit and each virtual computing unit in the virtual computing node where the target virtual control unit is located are ready, it is necessary to perform node registration on the virtual computing node where the target virtual control unit is located. Therefore, when the target virtual control unit detects that the status of each virtual computing unit in the virtual computing node where it is located meets the standard status, the target virtual control unit sends a registration request to the virtual management service node, so that the virtual management service node performs node registration on the virtual computing node where the target virtual control unit is located according to the registration request.

[0222] It should be noted that the above node registration refers to associating the information of each virtual computing unit in the virtual computing node where the target virtual control unit is located with the node information of the virtual computing node where it is located, and storing it in the node information registration table.

[0223] The process after the virtual management service node receives the registration request of the target virtual control unit is further described.

[0224] After receiving the registration request of the target virtual control unit, the virtual management service node needs to perform connection verification on each virtual computing unit in the virtual computing node where the target virtual computing unit is located. At this time, the virtual management service node sends a read zero address request to each virtual computing unit of the virtual computing node where the target virtual control unit is located according to the network protocol address and port information carried in the registration request, so as to perform connection verification on each virtual computing unit.

[0225] Among them, the connection verification process can be that for any virtual computing unit, the virtual management service node reads data from the virtual computing unit according to a read zero address request, and compares the read data with the request data of the virtual management service node. If the read data is consistent with the request data, it is determined that the connection verification of the virtual computing unit is successful; if the read data is inconsistent with the request data, it is determined that the connection verification of the virtual computing unit has failed.

[0226] In this embodiment, when the target virtual control unit detects that the status of each virtual computing unit in the virtual computing node where it is located meets the standard status, it sends a registration request to the virtual management service node, so that the virtual management service node performs connection verification based on the standard status of each virtual computing unit, thereby improving the success rate of the connection verification.

[0227] Based on the above embodiment, an embodiment is provided to illustrate the process after the upper connection verification.

[0228] In an exemplary embodiment, the virtual management service node is used to build a node information registration table according to the attribute information of each virtual computing unit in the computing cluster when the connection verification of each virtual computing unit in the computing cluster is successful.

[0229] In the embodiment of the present application, when the virtual management service node successfully verifies the connection of each virtual computing unit in the computing cluster, node registration is performed on each virtual computing unit to construct a node information registration table.

[0230] In one embodiment, the node information registry includes at least the number information, port information and network protocol address of each virtual computing unit, and the node number information and node network protocol address of the virtual computing node to which each virtual computing unit belongs. As shown in Table 1 below, the node information registry is constructed by taking two virtual computing nodes in the computing cluster as an example.

[0231] Table 1 Node information registry

[0232]

[0233] like Fig.13 As shown, the process of building a node information registry for a virtual management service node is described by taking a virtual computing node as an example, wherein the virtual computing node includes a virtual control unit (vCPU) and four virtual computing units (vGPUs).

[0234] The virtual control unit sends a registration request to the virtual management service node. The registration request carries the node network protocol address of the virtual computing node where the virtual control unit is located and the number and port information of each virtual computing unit in the virtual computing node. After receiving the registration request, the virtual management service node sends a read zero address request according to the node network protocol address and the port information of each virtual computing unit carried in the registration request to perform a connection check on each virtual computing unit. After all virtual computing units have been successfully connected and checked, the node information is updated and the registration success information is returned to the virtual control unit.

[0235] In this embodiment, when the virtual management service node successfully verifies the connection of each virtual computing unit in the computing cluster, it builds a node information registration table according to the attribute information of each virtual computing unit. In this scheme, when the connection verification of each virtual computing unit is successful, the network communication between each virtual computing unit and the virtual management service node is realized, so that each virtual computing unit and the virtual management service node can access each other, further realizing the interconnection simulation between each computing node in the computing cluster.

[0236] In addition, in an exemplary embodiment, the present application also provides a computing cluster simulation method, such as Fig.14As shown, the following steps may be included:

[0237] (1) The target virtual computing unit receives a read or write access request.

[0238] (2) Determine whether the read / write access request is sent by other virtual computing units in the computing cluster or by other local modules in the target virtual computing unit.

[0239] (3) If the read / write access request is sent by other virtual computing units in the computing cluster, the read / write address in the read / write access request is converted to calculate the number information of the virtual computing unit to be read / written and the converted read / write address. If the converted read / write address is not in the memory range of the local machine (the virtual computing node where the target virtual computing unit is located), the local cache of the target virtual computing unit is queried according to the number information. If the port information and network interconnection protocol of the virtual computing unit to be read / written exist in the local cache, the virtual computing unit to be read / written is accessed remotely. If the port information and network interconnection protocol of the virtual computing unit to be read / written do not exist in the local cache, the port information and network protocol address are queried from the virtual management service node. If the query is successful, the queried information is cached in the local cache. If the query fails, an error is returned. After the query is successful and the information is cached, it is determined whether the virtual computing unit to be read / written and the target virtual computing unit are the same virtual computing node. If so, the memory read / write operation can be performed in the shared memory corresponding to the virtual computing unit to be read / written and the target virtual computing unit. If not, the virtual computing unit to be read / written needs to be accessed remotely.

[0240] (4) If the read / write access request is sent by other virtual computing units in the computing cluster, determine whether the read / write address is within the local memory range. If so, access the local memory. If not, return an address error.

[0241] In the embodiment of the present application, when a read / write access request is received, the request source of the read / write access request is first determined. For read / write access requests from other local modules, the converted address is obtained by converting the address, so as to perform the memory read / write operation corresponding to the read / write access request according to the converted address. For read / write access requests from other virtual computing units, it is directly determined whether the address is within the local memory range. If so, the local memory is accessed. If not, an address error is returned. In the embodiment of the present application, by setting a matching response mode for different read / write access requests according to their request sources, the memory read / write operation corresponding to the read / write access request is performed using a response mode that matches different request sources, thereby improving the diversity and accuracy of responding to read / write access requests.

[0242] Based on the same inventive concept, the embodiment of the present application also provides a computing cluster simulation system. In an exemplary embodiment, the computing cluster simulation system includes multiple virtual computing nodes, each virtual computing node includes multiple virtual computing units; each virtual computing unit is configured with a communication port; the virtual computing units are connected to each other through the communication port;

[0243] The virtual computing unit is used to receive read and write access requests and perform corresponding memory read and write operations according to the read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster.

[0244] In the embodiment of the present application, the computing cluster includes multiple virtual computing nodes, each virtual computing node includes multiple virtual computing units; each virtual computing unit is configured with a communication port; and the virtual computing units are connected to each other through the communication port. In this way, any virtual computing unit can send read and write access requests to other virtual computing units, and any virtual computing unit can also receive read and write access requests sent by other virtual computing units.

[0245] The virtual computing unit can monitor the read and write access requests at the communication port to receive the read and write access requests sent by other virtual computing units in the computing cluster, and then perform corresponding memory read and write operations according to the read and write access requests. For example, the local memory range of the virtual computing node where the virtual computing unit is located can be obtained, and when the read and write address is within the local memory range, the memory read and write operation is performed in the local memory of the virtual computing unit according to the read and write address, and when the read and write address is not within the local memory range, an address error message is returned.

[0246] In the computing cluster simulation system provided by the embodiment of the present application, the computing cluster simulation system includes multiple virtual computing nodes, each virtual computing node includes multiple virtual computing units; each virtual computing unit is configured with a communication port; the virtual computing units are communicatively connected through the communication ports; the virtual computing units are used to receive read and write access requests, and execute corresponding memory read and write operations according to the read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster. In this system, a communication port is pre-configured for each virtual computing unit, so that different virtual computing units can communicate with each other through the configured communication ports. Based on this, any virtual computing unit can send read and write access requests to other virtual computing units, and can receive read and write access requests sent by other virtual computing units, which is equivalent to any two virtual computing units being able to access each other, that is, simulating the hardware environment of interconnected computing units, and then realizing the interconnection simulation between computing nodes in the computing cluster; there is no need to limit the connection relationship and the number of connections, and the computing cluster simulation of any scale and any topology can be realized; in addition, in a real environment, any computing units can also access each other according to actual needs, and the process of actual wired connection between different computing units in real physical hardware is omitted.

[0247] The computing cluster simulation system also includes a virtual management service node. Based on this, the role of the virtual management service node is explained.

[0248] In an exemplary embodiment, the computing cluster simulation system further includes a virtual management service node, and the virtual management service node and each virtual computing unit are interconnected through a network;

[0249] The virtual management service node is used to perform connection verification on the target virtual computing unit when receiving a registration request from the target virtual control unit; the target virtual control unit is the control unit in the virtual computing node where the target virtual computing unit is located; the target virtual computing unit is any virtual computing unit in the computing cluster simulation system.

[0250] like Fig.15 As shown, a computing cluster simulation system including a virtual management service node is shown, wherein the computing cluster simulation system includes n virtual computing nodes, and each virtual computing node includes a virtual control unit and four virtual computing units.

[0251] In an embodiment of the present application, when it is necessary to register the virtual computing node where the target virtual control unit is located, the target virtual control unit may send a registration request to the virtual management service node. Further, after the virtual management service node receives the registration request of the target virtual control unit, it sends a read zero address request to the target virtual computing unit to verify the connection between the target virtual computing unit and the virtual management service node.

[0252] For example, after receiving the registration request from the target virtual control unit, the virtual management service node sends a read zero address request to the target virtual computing unit, and reads data from the memory of the target virtual computing unit according to the read zero address request, and compares the read data with the request data of the virtual management service node. If the read data is consistent with the requested data, it is determined that the connection verification of the virtual computing unit is successful. If the read data is inconsistent with the requested data, it is determined that the connection verification of the virtual computing unit has failed.

[0253] In this embodiment, when the virtual computing unit receives a registration request from the target virtual control unit, it performs a connection check on the target virtual computing unit to achieve network communication between the target virtual computing unit and the virtual management service node. After all virtual computing units have established network communication with the virtual management service node, the virtual computing units can access each other, thereby achieving interconnection simulation between the computing nodes in the computing cluster.

[0254] The implementation principle, process and technical effects of each step in the above embodiment are the same as those in the above embodiment and will not be repeated. In addition, each step in each embodiment of the present application is not mandatory, and other steps may also be included between the steps. The steps in each embodiment of the present application are not limited to be performed in the described order. Some steps in each embodiment of the present application can be performed in parallel.

[0255] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0256] Based on the same inventive concept, the embodiment of the present application also provides a computing cluster simulation device for implementing the computing cluster simulation method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more computing cluster simulation device embodiments provided below can refer to the limitations of the computing cluster simulation method above, and will not be repeated here.

[0257] In an exemplary embodiment, Fig.16 As shown, a computing cluster simulation device 1 is provided, comprising: a request receiving module 10 and an operation execution module 20, wherein:

[0258] The request receiving module 10 is used to receive read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and the virtual computing units are connected to each other through the communication port;

[0259] The operation execution module 20 is used to execute corresponding memory read and write operations according to the read and write access request.

[0260] In one embodiment, the operation execution module 20 is further used to:

[0261] Obtain the local memory range of the virtual computing node where the target virtual computing unit is located; and execute the memory read and write operations corresponding to the read and write access request according to the read and write addresses and the local memory range carried in the read and write access request.

[0262] In one embodiment, the operation execution module 20 is further used to:

[0263] When the read / write address is within the local memory range, the memory read / write operation is performed in the local memory of the target virtual computing unit according to the read / write address; when the read / write address is not within the local memory range, an address error message is returned.

[0264] In one embodiment, the request receiving module 10 is further used for:

[0265] Listen for read and write access requests at the communication port of the target virtual computing unit.

[0266] In one embodiment, the operation execution module 20 is further used to:

[0267] Obtain the virtual computing unit address range of the computing cluster; convert the read and write addresses carried in the read and write access request according to the virtual computing unit address range to obtain the converted read and write addresses; perform memory read and write operations corresponding to the read and write access request according to the converted read and write addresses and the local memory range of the virtual computing node where the target virtual computing unit is located.

[0268] In one embodiment, the operation execution module 20 is further used to:

[0269] When the read / write address after conversion is not within the local memory range, the attribute information of the virtual computing unit to be read / written is obtained, and the memory read / write operation is performed according to the attribute information; when the read / write address after conversion is within the local memory range, the memory read / write operation is performed in the local memory of the target virtual computing unit according to the read / write address after conversion.

[0270] In one embodiment, the operation execution module 20 is further used to:

[0271] According to the virtual computing unit address range and read / write address, the numbering information of the virtual computing unit to be read / written is obtained; according to the numbering information, the port information and network protocol address of the virtual computing unit to be read / written are determined; the numbering information, port information and network protocol address are determined as the attribute information of the virtual computing unit to be read / written.

[0272] In one embodiment, the operation execution module 20 is further used to:

[0273] According to the numbering information, query the local cache of the target virtual computing unit; if the numbering information exists in the local cache, the port corresponding to the numbering information is determined as the port information, and the address corresponding to the numbering information is determined as the network protocol address; if the numbering information does not exist in the local cache, query the port information and network protocol address from the pre-deployed virtual management service node.

[0274] In one embodiment, the operation execution module 20 is further used to:

[0275] According to the numbering information, a port address query request is sent to the virtual management service node; the port and address fed back by the virtual management service node are received; the port and address are obtained by the virtual management service node from the node information registry based on the numbering information; the port is determined as the port information, and the address is determined as the network protocol address.

[0276] In one embodiment, the operation execution module 20 is further used to:

[0277] According to the attribute information, the virtual computing node to which the virtual computing unit to be read or written belongs is determined; when the virtual computing node to which the virtual computing node belongs is the same as the virtual computing node where the target virtual computing unit is located, the memory read and write operations are performed in the shared memory according to the converted read and write addresses; when the virtual computing node to which the virtual computing node belongs is different from the virtual computing node where the target virtual computing unit is located, a read and write access request is sent to the virtual computing unit to be read or written.

[0278] In one embodiment, the computing cluster simulation device further includes:

[0279] A request monitoring module is used to monitor a read zero address request at a communication port of a target virtual computing unit; the read zero address request is a connection check performed by a virtual management service node on a target virtual computing unit when receiving a registration request from a target virtual control unit; the target virtual control unit is a control unit in a virtual computing node where the target virtual computing unit is located;

[0280] According to the read zero address request, network communication is performed between the target virtual computing unit and the virtual management service node.

[0281] Each module in the computing cluster simulation device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0282] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:

[0283] Receiving read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and the virtual computing units are connected to each other through the communication port;

[0284] According to the read and write access request, the corresponding memory read and write operations are performed.

[0285] The implementation principles and technical effects of each step implemented by the processor in the embodiment of the present application are similar to the principles of the above-mentioned computing cluster simulation method, and will not be repeated here.

[0286] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:

[0287] Receiving read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and the virtual computing units are connected to each other through the communication port;

[0288] According to the read and write access request, the corresponding memory read and write operations are performed.

[0289] The implementation principles and technical effects of the steps implemented when the computer program in the embodiment of the present application is executed by the processor are similar to the principles of the above-mentioned computing cluster simulation method, and will not be repeated here.

[0290] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:

[0291] Receiving read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and the virtual computing units are connected to each other through the communication port;

[0292] According to the read and write access request, the corresponding memory read and write operations are performed.

[0293] The implementation principles and technical effects of the steps implemented when the computer program in the embodiment of the present application is executed by the processor are similar to the principles of the above-mentioned computing cluster simulation method, and will not be repeated here.

[0294] It should be noted that the personnel information (including but not limited to personnel equipment information, personnel personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the personnel or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0295] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0296] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0297] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be construed as limiting the scope of the present application. It should be noted that, for a person of ordinary skill in the art, several modifications and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A computing cluster simulation method, characterized in that: Applied to any target virtual computing unit in each virtual computing node in the computing cluster, the method includes: Receiving read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and the virtual computing units are connected to each other through the communication port; According to the read / write access request, corresponding memory read / write operations are performed.

2. The method according to claim 1, characterized in that The performing corresponding memory read and write operations according to the read and write access request includes: Obtaining a local memory range of the virtual computing node where the target virtual computing unit is located; According to the read / write address carried in the read / write access request and the local memory range, the memory read / write operation corresponding to the read / write access request is performed.

3. The method according to claim 2, characterized in that The performing the memory read / write operation corresponding to the read / write access request according to the read / write address carried in the read / write access request and the local memory range includes: When the read / write address is within the local memory range, performing the memory read / write operation in the local memory of the target virtual computing unit according to the read / write address; When the read / write address is not within the local memory range, an address error message is returned.

4. The method according to any one of claims 1 to 3, characterized in that: The receiving of the read-write access request comprises: Listening for read and write access requests at a communication port of the target virtual computing unit.

5. The method according to any one of claims 1 to 3, characterized in that: The read / write access request also includes a read / write access request sent by other local modules in the target virtual computing unit; and performing corresponding memory read / write operations according to the read / write access request includes: Obtaining a virtual computing unit address range of the computing cluster; Convert the read / write address carried in the read / write access request according to the virtual computing unit address range to obtain the converted read / write address; Execute the memory read / write operation corresponding to the read / write access request according to the converted read / write address and the local memory range of the virtual computing node where the target virtual computing unit is located.

6. The method according to claim 5, characterized in that The performing the memory read / write operation corresponding to the read / write access request according to the converted read / write address and the local memory range of the virtual computing node where the target virtual computing unit is located includes: When the converted read / write address is not within the local memory range, acquiring the attribute information of the virtual computing unit to be read / written, and performing the memory read / write operation according to the attribute information; In a case where the converted read / write address is within the native memory range, the memory read / write operation is performed in the local memory of the target virtual computing unit according to the converted read / write address.

7. The method according to claim 6, characterized in that The step of obtaining the attribute information of the virtual computing unit to be read or written includes: According to the virtual computing unit address range and the read / write address, obtaining the number information of the virtual computing unit to be read / written; Determine the port information and network protocol address of the virtual computing unit to be read and written according to the numbering information; The number information, the port information and the network protocol address are determined as the attribute information of the virtual computing unit to be read or written.

8. The method according to claim 7, characterized in that The step of determining the port information and the network protocol address of the virtual computing unit to be read or written according to the numbering information includes: According to the number information, query the local cache of the target virtual computing unit; If the numbering information exists in the local cache, the port corresponding to the numbering information is determined as the port information, and the address corresponding to the numbering information is determined as the network protocol address; If the numbering information does not exist in the local cache, query the port information and the network protocol address from a pre-deployed virtual management service node.

9. The method according to claim 8, characterized in that The querying the port information and the network protocol address from the pre-deployed virtual management service node includes: Sending a port address query request to the virtual management service node according to the numbering information; Receive the port and address fed back by the virtual management service node; the port and the address are obtained by the virtual management service node from a node information registration table based on the number information; The port is determined as the port information, and the address is determined as the network protocol address.

10. The method according to claim 6, characterized in that Each virtual computing unit in the same virtual computing node in the computing cluster is configured with a shared memory; performing the memory read and write operation according to the attribute information includes: Determine, according to the attribute information, the virtual computing node to which the virtual computing unit to be read or written belongs; In a case where the virtual computing node to which the target virtual computing unit belongs is the same as the virtual computing node where the target virtual computing unit is located, performing the memory read and write operation in the shared memory according to the converted read and write address; In the case that the virtual computing node to which the target virtual computing unit belongs is different from the virtual computing node where the target virtual computing unit is located, a read-write access request is sent to the virtual computing unit to be read or written.

11. The method according to any one of claims 1 to 3, characterized in that: The computing cluster further includes a virtual management service node, and the virtual management service node is interconnected with each virtual computing unit in the computing cluster through a network; before receiving a read-write access request, the method further includes: Listening to a specific address read / write request at a communication port of the target virtual computing unit; the specific address read / write request is sent by the virtual management service node to the target virtual computing unit upon receiving a registration request from the target virtual control unit; the target virtual control unit is a control unit in the virtual computing node where the target virtual computing unit is located; According to the specific address read and write request, a response message is replied to the virtual management service node; the response message is used by the virtual management service node to determine the status verification of the target virtual computing unit.

12. The method according to claim 11, characterized in that The registration request is sent by the target virtual control unit to the virtual management service node when it detects that the status of each virtual computing unit in the virtual computing node where it is located meets the standard status.

13. The method according to claim 11, characterized in that The virtual management service node is used to build a node information registration table according to the attribute information of each virtual computing unit in the computing cluster when the connection verification of each virtual computing unit in the computing cluster is successful.

14. The method according to claim 13, characterized in that The node information registration table includes at least the number information, port information and network protocol address of each virtual computing unit, and the node number information and node network protocol address of the virtual computing node to which each virtual computing unit belongs.

15. A computing cluster simulation system, characterized in that: The computing cluster simulation system includes a plurality of virtual computing nodes, each of which includes a plurality of virtual computing units; each of the virtual computing units is configured with a communication port; and the virtual computing units are connected to each other through the communication port; The virtual computing unit is used to receive read and write access requests and perform corresponding memory read and write operations according to the read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster.

16. The computing cluster simulation system according to claim 15, characterized in that: The computing cluster simulation system further comprises a virtual management service node, and the virtual management service node is interconnected with each of the virtual computing units through a network; The virtual management service node is used to perform connection verification on the target virtual computing unit when receiving a registration request from the target virtual control unit; The target virtual control unit is a control unit in the virtual computing node where the target virtual computing unit is located; The target virtual computing unit is any virtual computing unit in the computing cluster simulation system.

17. A computing cluster simulation device, characterized in that: The device comprises: A request receiving module, configured to receive read and write access requests; the read and write access requests include read and write access requests sent by other virtual computing units in the computing cluster; each virtual computing unit in the computing cluster is configured with a communication port, and the virtual computing units are connected to each other through the communication port; The operation execution module is used to execute corresponding memory read and write operations according to the read and write access request.

18. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 14 are implemented.

19. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.

20. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.

Citation Information

Cited By

  • Supernode virtual simulation systems, methods, devices, media, and products

    CN122691725A