Data processing method and device, equipment, storage medium and program product

CN122247918APending Publication Date: 2026-06-19CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +3

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD
Filing Date
2026-03-31
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

In supernode scenarios, cross-node data transmission latency is high, and existing technologies such as RDMA require handshake negotiation, resulting in high latency.

Method used

By obtaining the virtual address information of the node to be accessed, and utilizing the pre-established mapping relationship between physical and virtual addresses, the network address information can be directly obtained, and data requests can be sent, reducing the handshake negotiation process. Data processing is performed using an Ethernet memory semantics support architecture.

Benefits of technology

It reduces data transmission latency, improves data processing efficiency, reduces handshake negotiation overhead, and enhances system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122247918A_ABST
    Figure CN122247918A_ABST
Patent Text Reader

Abstract

This application provides a data processing method, apparatus, device, storage medium, and program product, relating to the field of intelligent computing network technology. The method includes: obtaining first virtual address information of a second node to be accessed; obtaining first network address information of the second node corresponding to the first virtual address information based on a pre-obtained mapping relationship between physical addresses and virtual addresses; sending a first request to the second node based on the first network address information, the first request carrying the first virtual address information; and performing a data processing operation corresponding to the first request based on the first virtual address information of the second node. In this embodiment, in a supernode memory semantics scenario, the first node obtains the corresponding network address information through the virtual address information of the second node and sends a data access request to the second node based on the network address information, reducing handshake negotiation, lowering latency, and improving data processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of intelligent computing network technology, and in particular to a data processing method, apparatus, device, storage medium, and program product. Background Technology

[0002] With the rapid growth in demand for artificial intelligence training, high-performance computing (HPC), and intelligent computing centers, cross-node memory semantic communication has become a key bottleneck restricting system performance in supernode scenarios.

[0003] Currently, data transmission between nodes is usually achieved through Remote Direct Memory Access (RDMA). However, this method requires a handshake negotiation mechanism during the node connection establishment process, resulting in high data transmission latency. Summary of the Invention

[0004] This application provides a data processing method, apparatus, device, storage medium, and program product to solve the problem of high data transmission latency across nodes in supernode scenarios.

[0005] To solve the above-mentioned technical problems, this application is implemented as follows:

[0006] In a first aspect, embodiments of this application provide a data processing method, executed by a first node, the method comprising:

[0007] Obtain the first virtual address information of the second node to be accessed;

[0008] Based on the pre-obtained mapping relationship between physical addresses and virtual addresses, obtain the first network address information of the second node corresponding to the first virtual address information;

[0009] A first request is sent to the second node based on the first network address information, the first request carrying the first virtual address information;

[0010] Based on the first virtual address information of the second node, perform the data processing operation corresponding to the first request.

[0011] Secondly, embodiments of this application provide a data processing method, executed by a second node, the method comprising:

[0012] Receive a first request sent by the first node, the first request carrying the first virtual address information of the second node;

[0013] In response to the first request, the second physical address information of the second node corresponding to the first virtual address information is obtained according to the mapping relationship between virtual address information and physical address;

[0014] Based on the second physical address information, perform the data processing operation corresponding to the first request.

[0015] Thirdly, embodiments of this application provide a data processing method, executed by a third node, the method comprising:

[0016] Receive a second request sent by the second node, the second request carrying the second physical address information of the second node, the second request being used to request registration address information;

[0017] First virtual address information is allocated based on the second physical address information, and a mapping relationship is established between the second physical address information and the first virtual address information;

[0018] Send a first message, including the mapping relationship, to the second node.

[0019] Fourthly, embodiments of this application provide a data processing apparatus applied to a first node, the apparatus comprising:

[0020] The first acquisition module is used to acquire the first virtual address information of the second node to be accessed;

[0021] The second acquisition module is used to acquire the first network address information of the second node corresponding to the first virtual address information according to the pre-acquired mapping relationship between physical addresses and virtual addresses;

[0022] The sending module is configured to send a first request to the second node based on the first network address information, wherein the first request carries the first virtual address information;

[0023] The execution module is used to perform data processing operations corresponding to the first request based on the first virtual address information of the second node.

[0024] Fifthly, embodiments of this application provide a data processing apparatus applied to a second node, the apparatus comprising:

[0025] The first receiving module is configured to receive a first request sent by the first node, wherein the first request carries the first virtual address information of the second node;

[0026] The acquisition module is used to respond to the first request and acquire the second physical address information of the second node corresponding to the first virtual address information according to the mapping relationship between virtual address information and physical address;

[0027] The execution module is used to perform data processing operations corresponding to the first request based on the second physical address information.

[0028] Sixthly, embodiments of this application provide a data processing apparatus applied to a third node, the apparatus comprising:

[0029] The receiving module is used to receive a second request sent by the second node, the second request carrying the second physical address information of the second node, and the second request being used to request registration address information;

[0030] A module is established to allocate first virtual address information based on the second physical address information and to establish a mapping relationship between the second physical address information and the first virtual address information.

[0031] The sending module is used to send a first message, including the mapping relationship, to the second node.

[0032] In a seventh aspect, embodiments of this application provide an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the data processing method described in the first aspect.

[0033] Eighthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the data processing method described in the first aspect.

[0034] A ninth aspect provides a computer program product including computer instructions that, when executed by a processor, implement the steps of the data processing method as described in the first aspect.

[0035] In this embodiment of the application, in the supernode memory semantics scenario, the first node can obtain the corresponding network address information through the virtual address information of the second node, and send a data access request to the second node according to the network address information, thereby reducing handshake negotiation, reducing latency, and improving the efficiency of data processing. Attached Figure Description

[0036] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0037] Figure 1 This is one of the flowcharts of a data processing method provided in the embodiments of this application;

[0038] Figure 2 This is a schematic diagram of an Ethernet memory semantic support architecture provided in an embodiment of this application;

[0039] Figure 3 This is a schematic diagram of a scale-up frame format provided in an embodiment of this application;

[0040] Figure 4 This is a second flowchart of a data processing method provided in an embodiment of this application;

[0041] Figure 5 This is the third flowchart of a data processing method provided in the embodiments of this application;

[0042] Figure 6 This is one of the structural schematic diagrams of a data processing device provided in the embodiments of this application;

[0043] Figure 7 This is a second schematic diagram of the structure of a data processing device provided in an embodiment of this application;

[0044] Figure 8 This is a third schematic diagram of the structure of a data processing device provided in the embodiments of this application;

[0045] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0046] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0047] Currently, cross-device data transmission in scaling-up scenarios typically relies on the RDMA protocol (which requires an IP header, RDMA header, and connection establishment) and lacks global address management, only optimizing through data merging; or it is based on the PCIe bus, only optimizing the connection path without memory semantic processing, or only performing staged mapping for virtual addresses without hardware access points and transport layer design.

[0048] Ethernet is a computer network transmission technology primarily used to enable data exchange between multiple devices within a local area network (LAN) and data center. Its core technology involves encapsulating data units in standardized Ethernet frames, using Media Access Control (MAC) addresses to identify target devices, and combining this with a switched network architecture to achieve point-to-point or broadcast data transmission. This technology boasts an open ecosystem, significant versatility, supports various bandwidth specifications and transmission media, and has a mature and stable protocol stack. It provides low-latency, high-reliability underlying data transmission channels for upper-layer applications, making it the mainstream technology for data center link layer transmission.

[0049] NVIDIA High Speed ​​Interconnect Bus (NVLink) is an interconnect technology for high-speed communication between multiple Graphics Processing Units (GPUs) and computing chips. It can provide high-bandwidth, low-latency transmission to support load-store semantic interaction in supernode (scale-up) scenarios. However, its protocol and interface are proprietary and only compatible with proprietary devices such as GPUs and accelerator cards from specific manufacturers. Its ecosystem is relatively closed, which limits the access and expansion of general-purpose devices.

[0050] This application provides a data processing method, apparatus, device, storage medium, and program product to solve the problem of high latency in data transmission.

[0051] See Figure 1 , Figure 1 This is a flowchart of a data processing method provided in an embodiment of this application, applied to the first node. For example... Figure 1 As shown, the method includes the following steps:

[0052] Step 101: Obtain the first virtual address information of the second node to be accessed;

[0053] Step 102: Based on the pre-obtained mapping relationship between physical addresses and virtual addresses, obtain the first network address information of the second node corresponding to the first virtual address information;

[0054] Step 103: Send a first request to the second node based on the first network address information, wherein the first request carries the first virtual address information;

[0055] Step 104: Based on the first virtual address information of the second node, perform the data processing operation corresponding to the first request.

[0056] like Figure 2As shown, the Ethernet memory semantics support architecture includes multiple nodes corresponding to the operating system (OS), where the first node and the second node can be any two nodes in the aforementioned architecture. This application uses the first node and the second node as examples to illustrate the data processing (including data storage and data retrieval) process between any two nodes.

[0057] The aforementioned architecture system may include three modules: a scale-up access point (hereinafter referred to as "SUP"), scale-up network devices, and address mapping service software (hereinafter referred to as "SUS"). These three modules work together to achieve cross-device scale-up memory access functionality.

[0058] In the overall architecture, SUP acts as the node for processing and forwarding memory access requests, and realizes data interaction through scale-up network devices. SUS acts as the management core of address mapping, which issues address mapping relationships to SUP and provides configuration interfaces for computing tasks.

[0059] Specifically, the SUP (Scale-Up Unit) acts as the node for processing and forwarding memory access requests, responsible for receiving and forwarding memory access instructions from computing units; the scale-up network device handles data transmission between modules, providing a high-speed, reliable communication channel for the SUP; and the SUS (System Address Mapping Center), as the system's address mapping management center, is responsible for maintaining global address mapping information and issuing corresponding address translation relationships to the SUP. Furthermore, the SUS provides configuration interfaces for computing tasks to control and manage memory access behavior. Through the organic collaboration of these modules, the system can effectively achieve unified memory access support across devices.

[0060] Before data processing occurs between the first and second nodes, they can register their addresses with the third node (i.e., the master SUS), carrying their physical address information, such as memory address information. The third node allocates corresponding virtual address information based on the physical address information of the first and second nodes, and establishes a mapping relationship between the physical address information and virtual address information of each node. Furthermore, a mapping relationship can be established between the virtual address of each node and network address (such as Media Access Control (MAC) address or Internet Protocol (IP) address). Each node can store the above mapping relationship locally. The third node can be any node in the above architecture (i.e., it can be the first or second node), or it can be any node other than the first and second nodes.

[0061] In some implementations, the computing task process of the local operating system of the first node initiates an address registration request to the Scale-Up Address Mapping Service (SUS) software within the domain. This request carries parameters of the physical memory pages that the current task needs to access across devices (including the starting physical address, page number, and task identifier). Based on the request, SUS registers the local physical address (PA) and translates it into a globally unique Scale-Up domain address (SUA), which serves as the system's "general virtual address".

[0062] The Address Mapping Service (SUS) is a software module that runs within the operating system (OS) domain (each OS domain corresponds to one node). It possesses core capabilities such as address management, address registration request processing, unified management of scale-up domain addresses, and cross-domain connectivity. Specifically, SUS is responsible for maintaining global address mapping relationships, processing address registration and query requests from the SUP, managing address space allocation within the scale-up domain, and supporting cross-domain communication connections between different physical devices.

[0063] Each OS domain (corresponding to one node) deploys an address mapping service software SUS, which is configured to manage one or more access points (SUPs) within the OS domain. SUS provides a configuration interface for scale-up memory access to computing tasks, allowing computing tasks to initiate address registration requests in units of "pages". The request carries the PA of the page to be registered. After receiving the request, SUS performs address mapping conversion, mapping the PA to SUA, and returns the mapped SUA to the computing task. At the same time, it distributes the address mapping relationship to all access points (Scale-Up Points, SUPs) within the OS domain.

[0064] Scale-up access points (SUPs) for supernode memory semantics in Ethernet environments include address mapping maintenance capabilities, as well as bus integration and memory access capabilities. The SUP's address mapping maintenance function is designed and configured to maintain two mapping tables on a page-by-page basis. The first mapping table is a SUA-PA mapping table (where SUA represents the scale-up domain address and PA represents the device's physical address), used to translate the SUA contained in a memory access request from another SUP into the local device's physical address. The second mapping table is a SUA-MAC mapping table, used to fill the Target Media Access Control (DMAC) field of the Ethernet frame when the local end initiates a memory access request to another SUA.

[0065] In terms of bus integration and memory access handling, the SUP is integrated into the bus of the device it is in. On the one hand, it is used to carry scale-up memory access requests initiated by the local device, and on the other hand, it is also responsible for receiving and processing remote memory access requests forwarded by other SUPs.

[0066] SUP provides scale-up memory access interfaces to deployed devices through load / store memory semantics, and performs data transmission between SUP and scale-up network devices through scale-up frames.

[0067] In a scale-up network architecture, network devices use hardware that conforms to the standard Ethernet protocol, including Ethernet switches and matching transmission cables, to realize Ethernet frame transmission between each SUP, thereby providing reliable communication guarantees for cross-device memory access requests and data interaction.

[0068] If the first node needs to access the second node, it first obtains the second node's first virtual address information. Based on the pre-stored mapping relationship between virtual addresses and network addresses, it determines the second node's first network address information.

[0069] In some implementations, a dynamic SUA feature index can be generated based on historical request records. For example, frequently accessed SUAs can be categorized and labeled according to data type and device load status. This information, combined with historical request records, is used to determine the first network address information of the second node.

[0070] Based on the first network address information of the second node, a scale-up frame is constructed, and a first request including the scale-up frame is sent to the second node. The first request may be a request to perform data read or write operations on the second node.

[0071] In some implementations, the first network address information is filled into the Ethernet frame header, and a first request including the Ethernet frame is sent to the second node. The second node performs corresponding processing operations based on the received first request. For example, it may write data carried in the first request to the second node, or read data from the second node.

[0072] In this embodiment of the application, in the supernode memory semantics scenario, the first node can obtain the corresponding network address information through the virtual address information of the second node, and send a data access request to the second node according to the network address information, thereby reducing handshake negotiation, reducing latency, and improving data processing efficiency.

[0073] Optionally, the first request is used to request to read (load) data from the second node, and the first request also carries the first physical address information of the first node;

[0074] The data processing operation corresponding to the first request, based on the first virtual address information of the second node, includes:

[0075] Receive a response message containing first data sent by the second node, and read the first data, wherein the first data is stored in the storage area of ​​the second node where the second physical address information corresponding to the first virtual address information is located;

[0076] The first data is stored in the storage area corresponding to the first physical address information of the first node.

[0077] If the first request is to read data from the second node, after receiving the first request, the second node retrieves the first data from the storage space corresponding to the physical address (such as the memory address) registered by the second node, and sends a response message including the first data to the first node.

[0078] The first node receives the response message, reads the first data, and stores the first data in the storage area corresponding to the first physical address information (such as memory address) of the first node.

[0079] In some implementations, such as Figure 2 In the architecture shown, when the first node initiates a load request to the scale-up point (SUP), the request carries the second node's SUA (i.e., the scale-up address of the data to be read), the first node's physical address (PA) (i.e., the local physical address to which the data needs to be written), and the data length.

[0080] Among them, the vertically extended frame (scale-up frame) format is as follows: Figure 3 As shown, a scale-up frame, based on an Ethernet frame, carries a scale-up header and a scale-up payload for data transmission between SUPs. To improve data transmission efficiency, only the Ethernet header can be used without the IP header, thus supporting only single-layer switch networking. The scale-up header consists of four fields totaling 16 bytes. The Type field occupies 1 byte and is used to distinguish between load request, load reply, and store operations; the Packet Number field occupies 3 bytes and is used to mark the packet sequence number, helping the SUP pipeline match load requests and load replies when processing requests; the Length field occupies 4 bytes and is used to specify the length of the data operation; the Scale-up Address field occupies 8 bytes and is used to specify the address of the data operation.

[0081] During the scale-up frame construction phase, after receiving a load request, the SUP queries the local (i.e., first node) SUA-MAC mapping table to obtain the target MAC address corresponding to the target SUA (i.e., second node), fills it into the target MAC field of the Ethernet frame header, fills the target SUA and Length from the first request into the corresponding fields of the Scale-Up Header, sets the Type field to a load request, generates a unique packet sequence number and fills it into the PacketNumber field, and records the mapping relationship between the packet number and the corresponding PA and length locally.

[0082] During the first request sending phase, the SUP sends the completed scale-up frame to the peer SUP (i.e., the SUP of the second node) that is responsible for managing the target SUA via the scale-up network device.

[0083] During the data reading phase of the second node, after the peer SUP receives the scale-up frame, it parses the SUA and data length information in it, queries the local (i.e., second node) SUA-PA mapping table, obtains the corresponding local physical address (i.e., the memory address of the second node), accesses the storage device it manages through this address, and reads the first data.

[0084] During the response return phase, after the peer SUP (i.e., the SUP of the second node) completes the data reading, it constructs a response scaleup frame, sets the type to load reply, copies other fields from the received load request frame to the load reply frame, fills the scale up payload area with the first data read, and returns the response frame to the sending SUP (i.e., the SUP of the first node) through the scale up network device.

[0085] During the data write-back phase, after the sending end SUP receives the response scale-up frame, it queries the corresponding PA and length information of the local record based on the packet number in the frame, and writes the read data back to the storage device of the local device (i.e., the first node), thereby completing the entire load semantic request processing process.

[0086] In this way, the first node can obtain the first data from the second node more quickly and store it in the storage area corresponding to the first physical address information of the first node, which facilitates information retrieval.

[0087] Optionally, the first request is used to request the writing (store) of data on the second node; the step of sending the first request to the second node based on the first network address information includes:

[0088] Based on the first network address information, a first request carrying second data is sent to the second node;

[0089] The data processing operation corresponding to the first request, based on the first virtual address information of the second node, includes:

[0090] The second data is written into the storage area in the second node corresponding to the first virtual address information.

[0091] In the case where the first request is to request the writing of data to the second node, the first request carries the second data to be written.

[0092] After receiving the first request, the second node obtains the corresponding local physical address (such as a memory address) based on the first network address information carried in the first request, which is the second physical address information of the second node, and writes the second data into the storage area corresponding to the second physical address information.

[0093] In some implementations, when a device initiates a store request to the SUP, the request carries the local (i.e., first node) PA (the source physical address of the data to be stored), the target (i.e., second node) SUA (the remote scaleup address to which the data is to be written), and the data length (which can be configured to be limited to a single Ethernet frame size to adapt to network transmission characteristics).

[0094] During the local data reading and frame construction phase of the first node, after receiving the store request, the SUP first reads the data to be stored from the local storage device using the local physical address (PA) specified in the first request, and then constructs the scale-up frame. In this process, the SUP queries the local SUA-MAC mapping table to obtain the target MAC address (i.e., the MAC address of the second node) corresponding to the target SUA (i.e., the SUA of the second node), and fills it into the target MAC field of the Ethernet frame header. The Type field is set to store request, a unique packet sequence number is generated and filled into the packet number field, the target SUA and data length are carried in the Scale-Up Header, and the read data to be stored is filled into the scale-up payload area.

[0095] During the first request sending phase, the SUP of the first node sends the completed scale-up frame to the peer SUP (i.e., the SUP of the second node) responsible for managing the target SUA through the scale-up network device.

[0096] During the data writing phase at the peer end (i.e., the second node), after receiving the scale-up frame, the peer SUP parses the SUA and data length information in it, queries the local SUA-PA mapping table to obtain the corresponding local physical address, and then writes the data to be stored in the scale-up payload to the storage device it manages through the address, thus completing the cross-device storage operation.

[0097] Using the above method, the first node can write the second data to the second node more quickly, which facilitates cross-node data writing.

[0098] Optionally, sending the first request to the second node based on the first network address information includes:

[0099] Fill the first network address information into the first field of the first data frame;

[0100] Fill the second field of the first data frame with the first virtual address information;

[0101] Send a first request, including the first data frame, to the second node.

[0102] When sending the first request, a first data frame, or scale-up frame, is constructed. The first network address information and the first virtual address information are filled into the corresponding fields of the first data frame, and information such as field type, message number, and data length are set. The first data frame is then sent to the second node.

[0103] See Figure 4 , Figure 4 A flowchart of a data processing method provided in this application, wherein the method is executed by a second node, such as... Figure 4 As shown, the method includes:

[0104] Step 401: Receive a first request sent by the first node, wherein the first request carries the first virtual address information of the second node;

[0105] Step 402: In response to the first request, obtain the second physical address information of the second node corresponding to the first virtual address information according to the mapping relationship between virtual address information and physical address;

[0106] Step 403: Based on the second physical address information, perform the data processing operation corresponding to the first request.

[0107] The first request can be used to request reading data from or writing data to the second node. The first node can determine the second node based on the first network address information and send the first request to the second node based on the first network address information.

[0108] The second node can pre-store the mapping relationship between the virtual addresses and physical addresses of the registered nodes. The physical address can be memory address information, which can be used for data writing and data storage. Based on this physical address, cross-device data sharing operations (such as data reading and writing) can be implemented.

[0109] Based on this mapping relationship, the second physical address information of the second node can be obtained. The second physical address information can be the memory address information used for data sharing during address registration. The second node can send the data of the storage area corresponding to the second physical address information to the first node, or write the data from the first node into the storage space corresponding to the second physical address information.

[0110] Optionally, the first request is used to read data from the second node, and the first request also carries the first physical address information of the first node; the step of performing a data processing operation corresponding to the first request based on the second physical address information includes:

[0111] Read the first data based on the second physical address information;

[0112] The method further includes:

[0113] A response message including the first data is sent to the first node. The response message includes the first physical address information, which is used to store the first data.

[0114] Optionally, sending a response message including the first data to the first node includes:

[0115] Fill the third field of the second data frame with the first data;

[0116] Send a response message including the second data frame to the first node.

[0117] Optionally, the first request is used to write data to the second node; the step of performing data processing operations corresponding to the first request based on the second physical address information includes:

[0118] The second data is written into the storage area in the second node corresponding to the second physical address information.

[0119] Optionally, the method further includes:

[0120] Send a second request to the third node. The second request carries the second physical address information of the second node. The second request is used to request the registration address information.

[0121] The system receives a first message from the third node in response to the second request. The first message includes a mapping relationship between the second physical address information and the first virtual address information, where the first virtual address information is a virtual address allocated by the third node based on the second physical address information.

[0122] The third node can be an independent node, or it can be the first or second node. This application uses the example of the third node being an independent node for illustration.

[0123] When a second node registers its address with a third node, it can send its second physical address information, such as memory address information, to the third node to enable data sharing with other nodes.

[0124] The third node allocates the corresponding first virtual address information to the second physical address information according to the second request, and establishes a mapping relationship between the first virtual address information and the second physical address information.

[0125] In some implementations, shared memory advertising and addressing can be performed directly across all OS domains during initialization, replacing the flexible global memory registration mechanism in the form of Master-Worker.

[0126] See Figure 5 , Figure 5 The data processing method provided in this application is executed by a third node, such as... Figure 5 As shown, it includes the following steps:

[0127] Step 501: Receive a second request sent by the second node. The second request carries the second physical address information of the second node and is used to request registration address information.

[0128] Step 502: Allocate first virtual address information based on the second physical address information, and establish a mapping relationship between the second physical address information and the first virtual address information;

[0129] Step 503: Send a first message including the mapping relationship to the second node.

[0130] The third node can be configured with a Service Address Mapping (SUS) software. Each node can be configured with an SUS, with the third node serving as the master SUS and the other nodes serving as worker SUS.

[0131] After a computing task starts, it first calls the local domain's SUS service to register its local physical address (PA) and convert it into a globally unique Scale-Up domain address (SUA). This SUA serves as the system's "universal virtual address." Subsequently, computing tasks exchange SUAs, enabling them to directly use this address as a target to initiate remote memory access across OS domains, thereby achieving efficient memory semantic communication.

[0132] SUS initialization begins with each OS domain specifying the SUS role, its corresponding IP address, port number, and associated SUP list through a preset configuration file.

[0133] When SUS starts, it reads the configuration file and establishes connections with SUS in other OS domains. The master SUS establishes bidirectional connections with all worker SUS, while direct connections are not established between worker SUS. In terms of service stability assurance, the master SUS can run as a process on the compute server in the cluster or run on an independent management server. Service stability is improved by adding a backup master SUS. The master SUS synchronizes its initial state and communication status with worker SUS to the backup master extension unit (Backup Master SUS). The backup monitors the master's status through periodic heartbeat messages and takes over the address registration service after detecting that the master has gone offline, ensuring that the computing tasks are not interrupted.

[0134] Regarding the processing and allocation of address registration requests in SUS, after receiving an address registration request from a computing task, worker SUS automatically forwards the request to master SUS, which then performs the processing operation.

[0135] After the computation task is completed, SUS receives the address deregistration request, deletes the registered PA-SUA and SUA-MAC mapping entries, and synchronously updates the mapping tables of all associated SUPs.

[0136] Taking the receipt of a second request from a second node as an example, based on the second physical address information carried in the second request, corresponding first virtual address information is allocated, and a mapping relationship between the second physical address information and the first virtual address information is established. This mapping relationship is then synchronized to the SUP of all nodes.

[0137] When a registration request is received from the first node, the address can be registered in the same way as described above.

[0138] Optionally, the second request may further include the number of pages to be registered; the step of allocating first virtual address information based on the second physical address and establishing a mapping relationship between the second physical address information and the first virtual address information includes:

[0139] Based on the number of pages to be registered in the second request, allocate a first number of first virtual address information;

[0140] And establish a mapping relationship between the first virtual address information and the second physical address information.

[0141] The master SUS (i.e., the third node) can be configured to manage the allocation of global SUAs. It allocates a corresponding number of SUAs based on the number of pages to be registered in the address registration request, generates PA-SUA mapping entries, and distributes them to the requesting device through worker SUS. At the same time, it generates SUA-MAC mapping entries and distributes them to all SUPs in the entire scale-up domain through all worker SUS.

[0142] Currently, memory semantics transfer methods mainly include the following:

[0143] The memory semantic tunnel communication method based on the RDMA engine includes: receiving locally transmitted memory semantic data and reassembling the data packets to obtain merged data blocks; adapting the merged data blocks to obtain RDMA payload information through the Direct Memory Access RDMA engine interface adapter; backing up the RDMA payload information to local storage through the RDMA engine; and encapsulating the backed-up RDMA payload information before sending it to the remote device. This method relies on the RDMA protocol (requiring IP header, RDMA header, and connection establishment) and lacks global address management, only optimizing through data merging.

[0144] The accelerator cluster supernode device enables southbound connections between accelerator cards in different accelerator card groups and within different server nodes. This reduces the latency compared to northbound data communication, helping to decrease data reception latency between different accelerator cards within different accelerator card groups. It also enables direct interconnection communication between accelerator cards, further shortening data reception latency and improving computational speed. This method is based on the PCIe bus and only optimizes the connection path without memory semantic processing.

[0145] Address mapping methods divide memory allocation operations into production and consumption phases. Each phase dynamically maps virtual addresses only to the relevant chips as needed, ensuring that chips do not interfere with each other. This improves the sharing of physical memory among multiple chips, thereby enhancing the overall performance of electronic devices. This approach only performs phased mapping of virtual addresses and does not involve hardware access points or transport layer design.

[0146] This application's embodiments employ simplified scale-up frames without IP / RDMA headers, eliminating the need for connection establishment. It also utilizes SUS for global SUA management, improves throughput through pipelined design, and reduces transmission overhead and latency. Leveraging the open Ethernet ecosystem, it possesses a complete load / store memory semantic processing flow and SUS address management, supporting general device access and dynamic memory access requirements. A dual mapping of "SUA-PA, SUA-MAC" is constructed for SUA, forming a complete system encompassing software (SUS) and hardware (SUP + Ethernet devices), supporting cross-device Ethernet frame addressing and memory semantic interaction.

[0147] Furthermore, in contrast to the closed nature of the NVlink ecosystem, the data processing method of this application, which encapsulates data transmission between SUPs using Ethernet, is compatible with the open Ethernet ecosystem and can utilize Ethernet transmission and switching equipment. Moreover, it uses only the Ethernet header and a custom scale-up header to carry the necessary information, resulting in a more streamlined header and higher transmission efficiency. Compared to RDMA transmission, which requires complex connection establishment, incurs additional latency and storage overhead, the dual-mapping table method of this application does not require connection establishment, thus resulting in lower latency and storage overhead.

[0148] See Figure 6 , Figure 6 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application, as shown below. Figure 6 As shown, the data processing device 600 includes:

[0149] The first acquisition module 601 is used to acquire the first virtual address information of the second node to be accessed;

[0150] The second acquisition module 602 is used to acquire the first network address information of the second node corresponding to the first virtual address information according to the pre-acquired mapping relationship between physical address and virtual address;

[0151] Sending module 603 is used to send a first request to the second node based on the first network address information, wherein the first request carries the first virtual address information;

[0152] The execution module 604 is used to perform data processing operations corresponding to the first request based on the first virtual address information of the second node.

[0153] Optionally, the first request is used to request to read data from the second node, and the first request also carries the first physical address information of the first node;

[0154] The execution module is specifically used for:

[0155] Receive a response message containing first data sent by the second node, and read the first data, wherein the first data is stored in the storage area of ​​the second node where the second physical address information corresponding to the first virtual address information is located;

[0156] The first data is stored in the storage area corresponding to the first physical address information of the first node.

[0157] Optionally, the first request is used to request that data be written to the second node; the sending module is specifically used for:

[0158] Based on the first network address information, a first request carrying second data is sent to the second node;

[0159] The execution module is specifically used for:

[0160] The second data is written into the storage area in the second node corresponding to the first virtual address information.

[0161] Optionally, the sending module is specifically used for:

[0162] Fill the first network address information into the first field of the first data frame;

[0163] Fill the second field of the first data frame with the first virtual address information;

[0164] Send a first request, including the first data frame, to the second node.

[0165] Data processing devices can achieve Figure 1 The various processes implemented in the method embodiments can achieve the same technical effect, and will not be described again here to avoid repetition.

[0166] It should be noted that the electronic device provided in this application embodiment is capable of executing the above-described data processing apparatus. Therefore, all implementation methods in the above-described data processing method embodiments are applicable to this electronic device and can achieve the same or similar beneficial effects. To avoid repetition, this embodiment will not elaborate further.

[0167] See Figure 7 , Figure 7 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application, applied to the second node, such as... Figure 7 As shown, the data processing device 700 includes:

[0168] The first receiving module 701 is used to receive a first request sent by the first node, wherein the first request carries the first virtual address information of the second node;

[0169] The acquisition module 702 is used to respond to the first request and acquire the second physical address information of the second node corresponding to the first virtual address information according to the mapping relationship between virtual address information and physical address;

[0170] The execution module 703 is used to perform data processing operations corresponding to the first request based on the second physical address information.

[0171] Optionally, the first request is used to read data from the second node, and the first request also carries the first physical address information of the first node; the execution module 703 is specifically used for:

[0172] Read the first data based on the second physical address information;

[0173] The device further includes:

[0174] A first sending module is configured to send a response message including the first data to the first node, the response message including the first physical address information, the first physical address information being used to store the first data.

[0175] Optionally, the first sending module is specifically used for:

[0176] Fill the third field of the second data frame with the first data;

[0177] Send a response message including the second data frame to the first node.

[0178] Optionally, the first request is used to write data on the second node; the execution module is specifically used for:

[0179] The second data is written into the storage area in the second node corresponding to the second physical address information.

[0180] Optionally, the device further includes:

[0181] The second sending module is used to send a second request to the third node. The second request carries the second physical address information of the second node and is used to request registration address information.

[0182] The second receiving module is used to receive a first message sent by the third node in response to the second request. The first message includes a mapping relationship between the second physical address information and the first virtual address information, wherein the first virtual address information is a virtual address allocated by the third node based on the second physical address information.

[0183] Data processing devices can achieve Figure 1The various processes implemented in the method embodiments can achieve the same technical effect, and will not be described again here to avoid repetition.

[0184] It should be noted that the electronic device provided in this application embodiment is capable of executing the above-described data processing apparatus. Therefore, all implementation methods in the above-described data processing method embodiments are applicable to this electronic device and can achieve the same or similar beneficial effects. To avoid repetition, this embodiment will not elaborate further.

[0185] See Figure 8 , Figure 8 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application, applied to the third node, such as... Figure 8 As shown, the data processing device 800 includes:

[0186] The receiving module 801 is used to receive a second request sent by the second node, the second request carrying the second physical address information of the second node, and the second request being used to request registration address information;

[0187] The module 802 is used to allocate first virtual address information based on the second physical address information and establish a mapping relationship between the second physical address information and the first virtual address information.

[0188] The sending module 803 is used to send a first message including the mapping relationship to the second node.

[0189] Optionally, the second request may also include the number of pages to be registered; the establishment module is specifically used for:

[0190] Based on the number of pages to be registered in the second request, allocate a first number of first virtual address information;

[0191] And establish a mapping relationship between the first virtual address information and the second physical address information.

[0192] Data processing devices can achieve Figure 1 The various processes implemented in the method embodiments can achieve the same technical effect, and will not be described again here to avoid repetition.

[0193] It should be noted that the electronic device provided in this application embodiment is a device capable of performing the above-described data processing. Therefore, all implementation methods in the above-described data processing method embodiments are applicable to this electronic device and can achieve the same or similar beneficial effects. To avoid repetition, this embodiment will not elaborate further.

[0194] See Figure 9As shown in the figure, this application embodiment also provides an electronic device, including a bus 901, a transceiver 902, an antenna 903, a bus interface 904, a processor 905, and a memory 906.

[0195] When the electronic device is the first node, processor 905 is used for:

[0196] Obtain the first virtual address information of the second node to be accessed;

[0197] Based on the pre-obtained mapping relationship between physical addresses and virtual addresses, obtain the first network address information of the second node corresponding to the first virtual address information;

[0198] Transceiver 902 is used to send a first request to the second node based on the first network address information, wherein the first request carries the first virtual address information;

[0199] The processor 905 is used to perform a data processing operation corresponding to the first request based on the first virtual address information of the second node.

[0200] exist Figure 9 In this document, a bus architecture (represented by bus 901) is used. Bus 901 can include any number of interconnected buses and bridges, linking various circuits including one or more processors represented by processor 905 and memory represented by memory 906. Bus 901 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. Bus interface 904 provides an interface between bus 901 and transceiver 902. Transceiver 902 can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by processor 905 is transmitted over a wireless medium via antenna 903, which further receives data and transmits it to processor 905.

[0201] Processor 905 manages bus 901 and general processing, and also provides various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Memory 906 can be used to store data used by processor 905 during operation.

[0202] Alternatively, the processor 905 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a complex programmable logic device (CPLD).

[0203] Optionally, the first request is used to request to read data from the second node, and the first request also carries the first physical address information of the first node;

[0204] Processor 905 executes the first virtual address information based on the second node, and performs data processing operations corresponding to the first request, including:

[0205] The transceiver 902 receives a response message containing first data sent by the second node and reads the first data. The first data is stored in the storage area of ​​the second node where the second physical address information corresponding to the first virtual address information is located.

[0206] The first data is stored in the storage area corresponding to the first physical address information of the first node.

[0207] Optionally, the first request is used to request writing data to the second node; the processor 905 executes the step of sending the first request to the second node based on the first network address information, including:

[0208] The transceiver 902 sends a first request carrying second data to the second node based on the first network address information;

[0209] Processor 905 executes the first virtual address information based on the second node, and performs data processing operations corresponding to the first request, including:

[0210] The second data is written into the storage area in the second node corresponding to the first virtual address information.

[0211] Optionally, the processor 905 executes the step of sending a first request to the second node based on the first network address information, including:

[0212] Fill the first network address information into the first field of the first data frame;

[0213] Fill the second field of the first data frame with the first virtual address information;

[0214] The transceiver 902 sends a first request, including the first data frame, to the second node.

[0215] It should be noted that the electronic device provided in this application embodiment is a device capable of executing the above-described data processing method. Therefore, all implementation methods in the above-described data processing method embodiments are applicable to this electronic device and can achieve the same or similar beneficial effects. To avoid repetition, this embodiment will not elaborate further.

[0216] When the electronic device is the second node, the processor 905 is used for:

[0217] The transceiver 902 receives a first request sent by the first node, the first request carrying the first virtual address information of the second node;

[0218] In response to the first request, the second physical address information of the second node corresponding to the first virtual address information is obtained according to the mapping relationship between virtual address information and physical address;

[0219] Based on the second physical address information, perform the data processing operation corresponding to the first request.

[0220] Optionally, the first request is used to read data from the second node, and the first request also carries the first physical address information of the first node; the processor 905 executes the data processing operation corresponding to the first request based on the second physical address information, including:

[0221] Read the first data based on the second physical address information;

[0222] The transceiver 902 sends a response message including the first data to the first node. The response message includes the first physical address information, which is used to store the first data.

[0223] Optionally, the processor 905 sends a response message including the first data to the first node via the transceiver 902, including:

[0224] Fill the third field of the second data frame with the first data;

[0225] Send a response message including the second data frame to the first node.

[0226] Optionally, the first request is used to write data to the second node; the processor 905 executes the data processing operation corresponding to the first request based on the second physical address information, including:

[0227] The second data is written into the storage area in the second node corresponding to the second physical address information.

[0228] Optionally, the processor 905 is also used for:

[0229] The transceiver 902 sends a second request to the third node, the second request carrying the second physical address information of the second node, the second request being used to request registration address information; and receives a first message from the third node in response to the second request, the first message including the mapping relationship between the second physical address information and the first virtual address information, the first virtual address information being a virtual address allocated by the third node based on the second physical address information.

[0230] When the electronic device is a third node, processor 905 is used for:

[0231] The transceiver 902 receives a second request sent by the second node. The second request carries the second physical address information of the second node and is used to request registration address information.

[0232] First virtual address information is allocated based on the second physical address information, and a mapping relationship is established between the second physical address information and the first virtual address information;

[0233] The transceiver 902 sends a first message, including the mapping relationship, to the second node.

[0234] Optionally, the second request further includes the number of pages to be registered; the processor 905 executes the allocation of first virtual address information based on the second physical address and establishes a mapping relationship between the second physical address information and the first virtual address information, including:

[0235] Based on the number of pages to be registered in the second request, allocate a first number of first virtual address information;

[0236] And establish a mapping relationship between the first virtual address information and the second physical address information.

[0237] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the above-described data processing method embodiments and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.

[0238] This application also provides a computer program product, including computer instructions, which, when executed by a processor, implement the above-described... Figure 1 The various processes of the method embodiments shown can achieve the same technical effect, and will not be described again here to avoid repetition.

[0239] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0240] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0241] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A data processing method, characterized in that, Executed by the first node, the method includes: Obtain the first virtual address information of the second node to be accessed; Based on the pre-obtained mapping relationship between physical addresses and virtual addresses, obtain the first network address information of the second node corresponding to the first virtual address information; A first request is sent to the second node based on the first network address information, the first request carrying the first virtual address information; Based on the first virtual address information of the second node, perform the data processing operation corresponding to the first request.

2. The method according to claim 1, characterized in that, The first request is used to request to read data from the second node, and the first request also carries the first physical address information of the first node; The data processing operation corresponding to the first request, based on the first virtual address information of the second node, includes: Receive a response message containing first data sent by the second node, and read the first data, wherein the first data is stored in the storage area of ​​the second node where the second physical address information corresponding to the first virtual address information is located; The first data is stored in the storage area corresponding to the first physical address information of the first node.

3. The method according to claim 1, characterized in that, The first request is used to request writing data to the second node; the step of sending the first request to the second node based on the first network address information includes: Based on the first network address information, a first request carrying second data is sent to the second node; The data processing operation corresponding to the first request, based on the first virtual address information of the second node, includes: The second data is written into the storage area in the second node corresponding to the first virtual address information.

4. The method according to any one of claims 1 to 3, characterized in that, Sending the first request to the second node based on the first network address information includes: Fill the first network address information into the first field of the first data frame; Fill the second field of the first data frame with the first virtual address information; Send a first request, including the first data frame, to the second node.

5. A data processing method, characterized in that, Executed by the second node, the method includes: Receive a first request sent by the first node, the first request carrying the first virtual address information of the second node; In response to the first request, the second physical address information of the second node corresponding to the first virtual address information is obtained according to the mapping relationship between virtual address information and physical address; Based on the second physical address information, perform the data processing operation corresponding to the first request.

6. The method according to claim 5, characterized in that, The first request is used to read data from the second node, and the first request also carries the first physical address information of the first node; the step of performing data processing operations corresponding to the first request based on the second physical address information includes: Read the first data based on the second physical address information; The method further includes: A response message including the first data is sent to the first node. The response message includes the first physical address information, which is used to store the first data.

7. The method according to claim 6, characterized in that, Sending a response message including the first data to the first node includes: Fill the third field of the second data frame with the first data; Send a response message including the second data frame to the first node.

8. The method according to claim 5, characterized in that, The first request is used to write data to the second node; The step of performing the data processing operation corresponding to the first request based on the second physical address information includes: The second data is written into the storage area in the second node corresponding to the second physical address information.

9. The method according to any one of claims 5 to 8, characterized in that, The method further includes: Send a second request to the third node. The second request carries the second physical address information of the second node. The second request is used to request the registration address information. The system receives a first message from the third node in response to the second request. The first message includes a mapping relationship between the second physical address information and the first virtual address information, where the first virtual address information is a virtual address allocated by the third node based on the second physical address information.

10. A data processing method, characterized in that, Executed by the third node, including: Receive a second request sent by the second node, the second request carrying the second physical address information of the second node, the second request being used to request registration address information; First virtual address information is allocated based on the second physical address information, and a mapping relationship is established between the second physical address information and the first virtual address information; Send a first message, including the mapping relationship, to the second node.

11. The method according to claim 10, characterized in that, The second request also includes the number of pages to be registered; the step of allocating first virtual address information based on the second physical address and establishing a mapping relationship between the second physical address information and the first virtual address information includes: Based on the number of pages to be registered in the second request, allocate a first number of first virtual address information; And establish a mapping relationship between the first virtual address information and the second physical address information.

12. A data processing apparatus, characterized in that, Applied to the first node, the device includes: The first acquisition module is used to acquire the first virtual address information of the second node to be accessed; The second acquisition module is used to acquire the first network address information of the second node corresponding to the first virtual address information according to the pre-acquired mapping relationship between physical addresses and virtual addresses; The sending module is configured to send a first request to the second node based on the first network address information, wherein the first request carries the first virtual address information; The execution module is used to perform data processing operations corresponding to the first request based on the first virtual address information of the second node.

13. A data processing apparatus, characterized in that, Applied to the second node, the device includes: The first receiving module is configured to receive a first request sent by the first node, wherein the first request carries the first virtual address information of the second node; The acquisition module is used to respond to the first request and acquire the second physical address information of the second node corresponding to the first virtual address information according to the mapping relationship between virtual address information and physical address; The execution module is used to perform data processing operations corresponding to the first request based on the second physical address information.

14. A data processing apparatus, characterized in that, Applied to a third node, the device includes: The receiving module is used to receive a second request sent by the second node, the second request carrying the second physical address information of the second node, and the second request being used to request registration address information; A module is established to allocate first virtual address information based on the second physical address information and to establish a mapping relationship between the second physical address information and the first virtual address information. The sending module is used to send a first message, including the mapping relationship, to the second node.

15. An electronic device, characterized in that, include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the data processing method as claimed in any one of claims 1 to 4, or the steps of the data processing method as claimed in any one of claims 5 to 9, or the steps of the data processing method as claimed in any one of claims 10 to 11.

16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the data processing method as described in any one of claims 1 to 4, or the steps of the data processing method as described in any one of claims 5 to 9, or the steps of the data processing method as described in any one of claims 10 to 11.

17. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the steps of the data processing method as described in any one of claims 1 to 4, or the steps of the data processing method as described in any one of claims 5 to 9, or the steps of the data processing method as described in any one of claims 10 to 11.