Data processing method, data processing device, processing cluster and related products
By using address mapping information during network computing, the processing unit sends intermediate address data to the network computing unit, solving the problem of low bandwidth utilization between the processor and network devices and achieving more efficient data processing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-30
- Publication Date
- 2026-03-24
AI Technical Summary
During network computing, the bandwidth utilization between the processor and network devices decreases because additional commands and address data need to be transmitted, causing communication speed to become a bottleneck in cluster computing.
By pre-configuring address mapping information, the processing unit sends intermediate address data to the on-network computing unit, reducing the number of transmission commands and transmitting only intermediate address data with a small data volume. The address mapping information is used to determine the data processing task.
It effectively reduces the amount of data transmitted, improves bandwidth utilization, reduces bandwidth overhead, and enhances the communication efficiency of the processing cluster.
Smart Images

Figure CN121728059A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to a data processing method, a data processing apparatus, a processing cluster, an electronic device, a computer-readable storage medium, and a computer program product. Background Technology
[0002] In-Network Computing is a computing model based on a network environment. Its core feature is to transfer computing tasks from end devices to network devices (such as switches) and use network devices to perform some data processing (such as data aggregation).
[0003] In related technologies, during on-network computing, command transmission typically requires explicit transfer from the processor (such as a Graphics Processing Unit (GPU)) to the network device. The network device then determines the specific data operation to be performed based on the received command. In actual processing, the processor and network device also need to transmit data such as command addresses, and these additional overheads lead to a decrease in bandwidth utilization between the processor and network device. Summary of the Invention
[0004] This disclosure provides a data processing method, a data processing apparatus, a processing cluster, an electronic device, a computer-readable storage medium, and a computer program product.
[0005] In a first aspect, this disclosure provides a data processing method applied to any processing unit in a processing cluster. The data processing method includes: upon receiving an on-net computing task to be processed, determining intermediate address data corresponding to the on-net computing task based on task attribute information and preset address mapping information, wherein the address mapping information characterizes the mapping relationship between an address segment executing the on-net computing and the task attribute information, any address segment includes multiple address units, and the intermediate address data indicates at least one address unit; sending the intermediate address data to the on-net computing unit so that the on-net computing unit can perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data, thereby obtaining the task processing result of the on-net computing task.
[0006] Secondly, this disclosure provides a data processing method applied to any on-net computing unit in a processing cluster. The data processing method includes: upon receiving intermediate address data sent by a processing unit, determining an address segment corresponding to the intermediate address data, wherein the intermediate address data is determined by the processing unit based on preset address mapping information and task attribute information of the on-net computing task, the address mapping information representing the mapping relationship between the address segment performing the on-net computing and the task attribute information, any address segment including multiple address units, and the intermediate address data indicating at least one address unit; and performing task processing based on the task attribute information of the address segment corresponding to the intermediate address data to obtain the task processing result of the on-net computing task.
[0007] Thirdly, this disclosure provides a data processing apparatus applied to any processing unit in a processing cluster. The data processing apparatus includes: a first determining module, configured to, upon receiving an on-net computing task to be processed, determine intermediate address data corresponding to the on-net computing task based on task attribute information of the on-net computing task and preset address mapping information, wherein the address mapping information is used to characterize the mapping relationship between the address segment executing the on-net computing and the task attribute information, any address segment includes multiple address units, and the intermediate address data is used to indicate at least one of the address units; and a sending module, configured to send the intermediate address data to the on-net computing unit, so that the on-net computing unit can perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data, and obtain the task processing result of the on-net computing task.
[0008] Fourthly, this disclosure provides a data processing apparatus applied to any on-net computing unit in a processing cluster. The data processing apparatus includes: a second determining module, configured to determine an address segment corresponding to intermediate address data received from a processing unit, wherein the intermediate address data is determined by the processing unit based on preset address mapping information and task attribute information of the on-net computing task, the address mapping information representing the mapping relationship between the address segment performing on-net computing and the task attribute information, any address segment including multiple address units, and the intermediate address data indicating at least one address unit; and a processing module, configured to perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data, to obtain the task processing result of the on-net computing task.
[0009] Fifthly, this disclosure provides a processing cluster comprising: a plurality of processing units and at least one on-network computing unit; the processing units are configured to execute the data processing method described in any one of the embodiments of this disclosure; the on-network computing unit is configured to execute the data processing method described in any one of the embodiments of this disclosure.
[0010] In a sixth aspect, this disclosure provides an electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores one or more computer programs executable by the at least one processor, the one or more computer programs being executed by the at least one processor to enable the at least one processor to perform the data processing method described above.
[0011] In a seventh aspect, this disclosure provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the above-described data processing method.
[0012] Eighthly, this disclosure provides a computer program product comprising computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in a processor of an electronic device, the processor in the electronic device performs the data processing method described above.
[0013] The data processing method provided in this embodiment pre-configures address mapping information for the processing cluster, which characterizes the mapping relationship between address segments performing on-net computing and task attribute information. Based on this, for the on-net computing task to be processed, the processing unit does not transmit the command corresponding to the on-net computing task to the on-net computing unit as shown in related technologies. Instead, it determines the intermediate address data corresponding to the on-net computing task according to the address mapping information and sends the intermediate address data to the on-net computing unit. The on-net computing unit can determine what kind of data processing should be performed based on the task attribute information of the address segment corresponding to the intermediate address data, thereby obtaining the task processing result of the on-net computing task. Compared with transmitting commands, transmitting intermediate address data can effectively reduce the amount of data transmitted, reduce bandwidth overhead, and improve bandwidth utilization.
[0014] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0015] The accompanying drawings are provided to further illustrate the present disclosure and form part of the specification. They are used together with the embodiments of the present disclosure to explain the disclosure and do not constitute a limitation thereof. The above and other features and advantages will become more apparent to those skilled in the art from the detailed description of exemplary embodiments with reference to the accompanying drawings, in which:
[0016] Figure 1 This is a flowchart of a data processing method provided in an embodiment of the present disclosure.
[0017] Figure 2 This is a schematic diagram of the address space of a processing cluster provided in an embodiment of this disclosure.
[0018] Figure 3 This is a schematic diagram of the address space of a processing cluster provided in an embodiment of this disclosure.
[0019] Figure 4 This is a flowchart of a data processing method provided in an embodiment of the present disclosure.
[0020] Figure 5 This is a block diagram of a data processing apparatus provided in an embodiment of the present disclosure.
[0021] Figure 6 This is a block diagram of a data processing apparatus provided in an embodiment of the present disclosure.
[0022] Figure 7 This is a block diagram of a processing cluster provided in an embodiment of the present disclosure.
[0023] Figure 8 This is a block diagram of an electronic device provided in an embodiment of the present disclosure.
[0024] Figure 9 This is a block diagram of an electronic device provided in an embodiment of the present disclosure. Detailed Implementation
[0025] To enable those skilled in the art to better understand the technical solutions of this disclosure, exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments of this disclosure to aid understanding. These should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0026] Where there is no conflict, the various embodiments of this disclosure and the features thereof in the embodiments may be combined with each other.
[0027] As used herein, the term “and / or” includes any and all combinations of one or more related enumerated entries.
[0028] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. As used herein, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that when the terms “comprising” and / or “made of” are used in this specification, the presence of the stated feature, integral, step, operation, element, and / or component is specified, but the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof is not excluded. Words such as “connected” or “linked” are not limited to physical or mechanical connections but can include electrical connections, whether direct or indirect.
[0029] Unless otherwise specified, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and this disclosure, and will not be interpreted as having an idealized or overly formal meaning, unless expressly so defined herein.
[0030] The collection, storage, use, processing, transmission, provision, and disclosure of user personal information in this technical solution comply with relevant laws and regulations and do not violate public order and good morals. The use of user data in this technical solution follows relevant national laws and regulations (e.g., the "Information Security Technology - Personal Information Security Specification"). For example, appropriate measures are taken for personal information access control; restrictions are imposed on the display of personal information; the purpose of using personal information does not exceed the scope of direct or reasonable association; and explicit identity targeting is eliminated when using personal information to avoid precisely identifying specific individuals.
[0031] In related technologies, for processing clusters such as GPU clusters, a large number of inter-GPU communication operations are usually required during the operation. Communication speed often becomes the bottleneck of cluster computing. However, network computing (also known as intra-network computing) technology can effectively reduce the amount of communication data.
[0032] In on-network computing, in addition to data transmission, commands and addresses of data to be operated on need to be transmitted between the GPU and the switch. Commands are actions issued by the GPU to the switch, requesting the switch to perform certain operations. Commands typically include the operation type, data type, and sometimes multicast group information. In related technologies, commands are usually explicitly transmitted from the GPU's port to the switch in a packetized manner. The GPU and switch typically require a high-speed SerDes (Serializer-Deserializer) interconnect. Since interconnect bandwidth resources are limited, ideally, only useful data should be transmitted between the GPU and the switch. However, transmitting the aforementioned on-network computing command data consumes interconnect bandwidth resources, leading to a decrease in bandwidth utilization.
[0033] In view of the above, embodiments of this disclosure provide a data processing method, a data processing apparatus, a processing cluster, an electronic device, a computer-readable storage medium, and a computer program product.
[0034] In this embodiment of the disclosure, for the processing cluster, address mapping information is pre-configured to characterize the mapping relationship between the address range for performing on-net computing and the task attribute information. Therefore, when the processing unit instructs the on-net computing unit to perform on-net computing tasks, it does not need to transmit commands, but only needs to transmit intermediate address data with a small amount of data. The on-net computing unit can determine what kind of data processing should be performed based on the address mapping information and the intermediate address data, thereby obtaining the corresponding task processing result. Therefore, the amount of data transmitted can be reduced, bandwidth overhead can be reduced, and bandwidth utilization can be improved.
[0035] The first aspect of this disclosure provides a data processing method that can be applied to any processing unit in a processing cluster.
[0036] Figure 1 A flowchart illustrating a data processing method provided in an embodiment of this disclosure. (Refer to...) Figure 1 This data processing method can be applied to any processing unit in a processing cluster, which also includes at least one on-network computing unit. The data processing method may include the following steps:
[0037] Step S11: Upon receiving an on-net computing task to be processed, determine the intermediate address data corresponding to the on-net computing task based on the task attribute information of the on-net computing task and the preset address mapping information. The address mapping information is used to characterize the mapping relationship between the address segment executing the on-net computing and the task attribute information. Any address segment includes multiple address units, and the intermediate address data is used to indicate at least one address unit.
[0038] Step S12: The intermediate address data is sent to the on-net computing unit so that the on-net computing unit can perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data and obtain the task processing result of the on-net computing task.
[0039] Therefore, address mapping information can be pre-configured and deployed for the processing cluster. Based on this, when the processing unit instructs the on-network computing unit to perform on-network computing, it does not need to package the required operation, data type, multicast group information, and data to be operated into a command as shown in related technologies, and then transmit the command to the on-network computing unit. Instead, it only needs to determine the intermediate address data based on the address mapping information and transmit the intermediate address data to the on-network computing unit. Furthermore, the amount of intermediate address data is obviously less than the amount of command data, thus effectively saving bandwidth resources. Moreover, the on-network computing unit can clearly identify the data processing to be performed through this intermediate address data and then execute the corresponding data processing.
[0040] It should be noted that for some on-network computing tasks, when instructing on-network computing units to perform task processing by transmitting intermediate address data, the amount of data transmitted may be equal to or greater than the amount of data required to directly transmit commands. However, for most on-network computing tasks, the amount of data required to transmit intermediate address data is less than the amount of data required to directly transmit commands. Therefore, as the number of on-network computing tasks increases, the overall data transmission volume can be effectively reduced.
[0041] In other words, in this embodiment of the present disclosure, for the processing cluster, address mapping information is pre-configured to characterize the mapping relationship between the address range for performing on-net computing and the task attribute information. Based on this, for the on-net computing task to be processed, the processing unit does not transmit the command corresponding to the on-net computing task to the on-net computing unit as shown in related technologies. Instead, it determines the intermediate address data corresponding to the on-net computing task according to the address mapping information and sends the intermediate address data to the on-net computing unit. The on-net computing unit can determine what kind of data processing should be performed based on the task attribute information of the address range corresponding to the intermediate address data, thereby obtaining the task processing result of the on-net computing task. Compared with transmitting commands, transmitting intermediate address data can effectively reduce the amount of data transmitted, reduce bandwidth overhead, and improve bandwidth utilization.
[0042] The data processing method of the present disclosure embodiments will be described in detail below.
[0043] For example, a processing cluster refers to a cluster system composed of multiple processing units connected via a network and working collaboratively. Compared to a single processing unit, a processing cluster can handle tasks with larger data volumes and higher processing complexity. The processing unit is the processing node in the processing cluster, used to perform core data processing. In addition, a processing cluster may include several communication nodes, which are mainly responsible for data forwarding and communication control between the processing nodes (servers, storage devices, etc.) within the cluster, as well as network interconnection management between processing nodes, thereby ensuring that the data transmission speed and stability of the processing cluster meet usage requirements.
[0044] Furthermore, communication nodes can be reused as on-network computing units to perform on-network computing tasks. In other words, some communication devices themselves possess certain data processing capabilities. Therefore, in a network environment, the data processing capabilities of communication devices can be used to perform data processing tasks with relatively small data volumes and low complexity.
[0045] For example, the processing unit may be a server, processor, processing core, etc., and the on-network computing unit may be a switch, router, smart network card, gateway, etc., and the embodiments disclosed herein do not limit this.
[0046] In some alternative embodiments, the processing unit may be a GPU, and a GPU runtime driver may distribute on-network computing tasks to the processing unit.
[0047] In this embodiment of the disclosure, to reduce the amount of data transmitted between the processing unit and the on-network computing unit for on-network computing tasks, the intermediate address space used for on-network computing is divided into multiple address segments. Each address segment includes multiple address units. Furthermore, for at least a portion of these address segments, the on-network computing tasks to be executed in the future need to be pre-determined, and the address segments are configured accordingly based on the task attribute information of the determined on-network computing tasks, enabling the corresponding on-network computing tasks to be executed within each address segment. Based on this, if the processing unit needs to instruct the on-network computing unit to execute an on-network computing task, it only needs to send the intermediate address data corresponding to that on-network computing task. The on-network computing unit can then determine the corresponding address segment and the address units within that segment through the intermediate address data, thereby clarifying which address units within which address segment should perform which type of data processing, and thus performing the corresponding data processing. In other words, this embodiment of the disclosure essentially transforms the dynamic parsing request processing process into a pre-configuration and mapping processing process.
[0048] In some optional embodiments, address mapping information can be pre-configured and deployed for the processing cluster, wherein the address mapping information is used to characterize the mapping relationship between address segments performing on-network computing and task attribute information, and any address segment includes multiple address units.
[0049] In some optional embodiments, the task attribute information includes at least a portion of the operation type, data type, and processing unit identifier; the address mapping information includes at least a portion of the address range of each address segment, the operation type corresponding to each address segment, the data type corresponding to each address segment, and the processing unit corresponding to each address segment.
[0050] For example, the operation types include data aggregation (reduce), data storage (store), and broadcast, the data types include 32-bit floating-point numbers (FP32), 16-bit floating-point numbers (FP16), 8-bit integers (int8), and 4-bit integers (int4), and the processing unit identifier may include at least one of server identifier, processing core identifier (such as GPU identifier), etc.
[0051] For example, address mapping information includes the address range of each address segment, the operation type corresponding to each address segment, and the processing unit corresponding to each address segment.
[0052] For example, address mapping information includes the address range of each address segment, the operation type corresponding to each address segment, the data type corresponding to each address segment, and the processing unit corresponding to each address segment.
[0053] In some optional embodiments, the data processing method may further include: generating address mapping information; and sending the address mapping information to the on-network computing unit to configure the on-network computing unit.
[0054] For example, the processing unit can generate a general address mapping information and send it to the network driver, which can then distribute the address mapping information to each on-network computing unit to enable configuration of all on-network computing units.
[0055] For example, the processing unit can generate address mapping information corresponding to each processing requirement according to different processing requirements, and send it to the network driver. The network driver can distribute the address mapping information to the corresponding on-network computing units to realize the configuration of these on-network computing units. The processing requirements are related to the amount of tasks and task types that the processing unit needs to perform.
[0056] Figure 2 This is a schematic diagram of the address space of a processing cluster provided in an embodiment of this disclosure. (Refer to...) Figure 2The processing cluster uses GPUs as its processing units, and comprises N+1 GPUs, designated GPU0 to GPUN. Furthermore, the address space of the processing cluster includes the physical address spaces of GPU0 to GPUN and intermediate address spaces corresponding to the on-network computing units, which can be used to support on-network computing. The physical address space is the address space available to the GPUs themselves, and the intermediate address space is the address space available to the on-network computing units themselves. The intermediate address space further comprises multiple address segments: address segment 1, address segment 2, address segment 3, ..., address segment m, where m ≥ 1. Address segment 1 corresponds to the address range baseaddr0 - baseaddr1, address segment 2 corresponds to the address range baseaddr1 - baseaddr2, address segment 3 corresponds to the address range baseaddr2 - baseaddr3, ..., and address segment m corresponds to the address range baseaddrm - baseaddrm+1.
[0057] Furthermore, address segment 1 is used to execute reduce operations on grp0, supporting FP16 data types; address segment 2 is used to execute reduce operations on grp1, supporting int8 data types; address segment 3 is used to execute read operations on GPU0, supporting FP16 data types; and so on. Address segment m is used to execute store operations on grp3, supporting FP16 data types. Here, grp0, grp1, and grp3 represent processing groups, which can include multiple processing units, such as multiple GPUs.
[0058] Furthermore, such as Figure 2 As shown, taking address segment 1 as an example, address segment 1 includes multiple address units, namely address unit 11, address unit 12, ..., address unit 1n, where n≥1.
[0059] In some optional embodiments, determining the intermediate address data corresponding to the on-network computing task based on the task attribute information of the on-network computing task and preset address mapping information includes: determining an address segment matching the task attribute information based on the address mapping information; and determining the intermediate address data corresponding to the on-network computing task based on the address segment occupancy information. The occupancy information indicates whether the address segment is occupied by other on-network computing tasks.
[0060] Therefore, for the processing unit, after determining the on-net computing task to be executed, it can determine which address segment (or which address units within which address segment) should be used as the intermediate address to carry the on-net computing task based on the task attribute information and address mapping information of the on-net computing task, and then determine the corresponding intermediate address data based on the occupancy information of the address segment.
[0061] In some optional embodiments, the occupancy information of the address segment is used to characterize the occupancy status of each address unit in the address segment, including two states: occupied and unoccupied. Correspondingly, based on the occupancy information of the address segment, the intermediate address data corresponding to the on-network computing task is determined, including: determining candidate address units of the address segment based on the occupancy information of the address segment, wherein the candidate address units are unoccupied address units in the address segment; determining the number of address units required for the on-network computing task; selecting a target address unit from the candidate address units to carry the on-network computing task based on the number of address units; and determining the intermediate address data corresponding to the on-network computing task based on the address of the target address unit.
[0062] The address segment occupancy information can be maintained by the on-network computing unit, and the processing unit can read the address segment occupancy information as needed. In addition, the processing unit can also determine which address segments can be used by the current processing unit based on the address mapping information, and further combine the historical usage of these usable address segments by the processing unit to determine which address units in which address segments have completed their on-network computing tasks, thereby determining that these address units that have completed their on-network computing tasks are unoccupied address units.
[0063] In some optional embodiments, if an address segment corresponds to multiple processing units, then the address segment can be used by the corresponding multiple processing units. Accordingly, when any of the multiple processing units needs to use the address segment, it can read the occupancy information of the address segment from the on-network computing unit in order to determine the intermediate address data corresponding to the on-network computing task. Furthermore, when any computing unit occupies some address units in the address segment, the on-network computing unit should update the occupancy information of the address segment in a timely manner to prevent other processing units from occupying the address units that have already been occupied in the address segment, thereby effectively reducing the usage conflicts for the address segment.
[0064] For example, an address segment K corresponding to the online computing task is pre-determined, comprising n address units, namely address units K_1 to K_n. The occupancy information of address segment K indicates that address units K_1 to K_3 are occupied; therefore, address units K_4 to K_n are candidate address units (n > 3). Further, the number of address units required by the online computing task can be estimated as q based on information such as the operation type and data type of the online computing task, and q address units are selected from address units K_4 to K_n as target address units to carry the online computing task. For example, address units K_4 to K_q+3 can be selected as target address units; this embodiment of the present disclosure does not limit this.
[0065] Therefore, this processing method allows for the selection of appropriate address units for on-network computing without preempting address units that are already in use. This ensures that the execution of other on-network computing tasks is not affected, and it also avoids occupying unnecessary address units, reducing waste of storage resources and improving the utilization rate of storage resources.
[0066] Furthermore, in some optional embodiments, to further reduce the amount of data to be transmitted, the processing unit may only determine the address range corresponding to the on-network computing task and generate corresponding intermediate address data based on the address range. In other words, the intermediate address data can only indicate the address range and cannot indicate the specific address unit within the address range. Accordingly, after receiving this intermediate address data, the on-network computing unit may arbitrarily select one or more address units within the address range to perform corresponding data processing, or it may store the occupancy status of any address unit in each address range within the on-network computing unit, and then select a suitable address unit to perform corresponding data processing based on the occupancy status. This disclosure does not impose any limitations on this.
[0067] In some optional embodiments, determining the intermediate address data corresponding to the on-network computing task based on the task attribute information and preset address mapping information includes: determining an address segment matching the task attribute information based on the address mapping information; and determining the intermediate address data corresponding to the on-network computing task based on the address segment. The intermediate address data may be information such as the sequence number of the address segment or the address range of the address segment, which can be used to indicate the address segment carrying the on-network computing task.
[0068] In some optional embodiments, after determining the intermediate address data corresponding to the on-net computing task, the processing unit can send the intermediate address data to the on-net computing unit; accordingly, the on-net computing unit can perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data, and obtain the task processing result of the on-net computing task.
[0069] For example, the processing unit and the on-network computing unit are interconnected via high-speed SerDes, and the processing unit can transmit intermediate address data to the on-network computing unit via high-speed SerDes.
[0070] For example, the on-net computing task is a data reading task. The on-net computing unit determines the data reading operation to be performed based on the task attribute information of the address segment corresponding to the intermediate address data. After reading the stored data corresponding to the intermediate address data, it returns it to the processing unit.
[0071] In some optional embodiments, for certain on-net computing tasks, in addition to sending intermediate address data to the on-net computing unit, the processing unit also needs to send some other data so that the on-net computing unit can obtain all the data required to execute the task.
[0072] In some optional embodiments, after determining the intermediate address data corresponding to the on-net computing task, the data processing method may further include: when the on-net computing task is used to instruct the computation of target data, sending the target data to the on-net computing unit, so that the on-net computing unit can perform task processing on the target data according to the task attribute information of the address segment corresponding to the intermediate address data, and obtain the task processing result of the on-net computing task. Here, the target data refers to the parameters necessary for executing the on-net computing task.
[0073] For example, if the on-net computing task is an aggregation task, the target data includes the data to be aggregated.
[0074] For example, if the on-net computing task is a storage task, the target data includes the data to be stored.
[0075] It should be noted that the above examples of target data are merely illustrative and are not intended to limit the scope of this disclosure.
[0076] Figure 3 This is a schematic diagram of the address space of a processing cluster provided in an embodiment of this disclosure. (Refer to...) Figure 3 The GPU (GPU) determines intermediate address data based on the task attribute information and address mapping information of the on-net computing unit to be processed, and sends the intermediate address data to the on-net computing unit. The on-net computing unit receives the intermediate address data, uses the address mapping information to determine the address segment corresponding to the intermediate address data and the address units within that address segment participating in the current on-net computation, and uses these address units to perform the corresponding on-net computation to obtain the task processing result. Furthermore, after obtaining the task processing result, the on-net computing unit can also feed the task processing result back to the GPU.
[0077] A second aspect of this disclosure provides a data processing method that can be applied to any on-network computing unit in a processing cluster.
[0078] Figure 4 A flowchart illustrating a data processing method provided in an embodiment of this disclosure. (Refer to...) Figure 4 This data processing method can be applied to at least one on-network computing unit in a processing cluster, and the data processing method may include the following steps:
[0079] Step S41: Upon receiving intermediate address data corresponding to the on-net computing task sent by the processing unit, determine the address segment corresponding to the intermediate address data. The intermediate address data is determined by the processing unit based on preset address mapping information and task attribute information of the on-net computing task. The address mapping information is used to characterize the mapping relationship between the address segment performing on-net computing and the task attribute information. Any address segment includes multiple address units, and the intermediate address data is used to indicate at least one address unit.
[0080] Step S42: Perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data to obtain the task processing result of the on-network computing task.
[0081] Therefore, in this embodiment of the present disclosure, for the processing cluster, address mapping information is pre-configured to characterize the mapping relationship between the address range for performing on-net computing and the task attribute information. Based on this, for the on-net computing task to be processed, the processing unit does not transmit the command corresponding to the on-net computing task to the on-net computing unit as shown in related technologies. Instead, it determines the intermediate address data corresponding to the on-net computing task according to the address mapping information and sends the intermediate address data to the on-net computing unit. The on-net computing unit can determine what kind of data processing should be performed based on the task attribute information of the address range corresponding to the intermediate address data, thereby obtaining the task processing result of the on-net computing task. Compared with transmitting commands, transmitting intermediate address data can effectively reduce the amount of data transmitted, reduce bandwidth overhead, and improve bandwidth utilization.
[0082] In some alternative embodiments, in order to ensure that the on-net computing units perform on-net computing based on intermediate address data, it is necessary to pre-deploy address mapping information in at least some of the on-net computing units of the processing cluster.
[0083] In some optional embodiments, if the processing cluster corresponds to only one alternative address mapping information, it can be directly sent or deployed to the on-net computing unit; if the processing cluster corresponds to multiple alternative address mapping information, at least one of them can be selected to be sent or deployed to the corresponding on-net computing unit.
[0084] The different operation types and data types corresponding to the multiple alternative address mappings allow different alternative address mappings to be suitable for performing different types of data processing. For example, a large number of matrix multiplication and addition operations need to be performed during the inference process of a large model. Therefore, corresponding alternative address mappings can be configured, with most of the address segments configured for performing matrix multiplication and addition operations.
[0085] In some optional embodiments, the processing cluster corresponds to multiple candidate address mapping information; correspondingly, before determining the address segment corresponding to the intermediate address data after receiving the intermediate address data corresponding to the on-network computing task sent by the processing unit, the data processing method may further include: receiving address mapping information, wherein the address mapping information is selected from multiple candidate address mapping information.
[0086] For example, address mapping information sent by a network driver can be received, wherein the network driver can be a driver such as a switch driver, and this disclosure embodiment does not limit this.
[0087] In some optional embodiments, the processing cluster may include multiple sub-clusters, each of which is used to handle different types of services. Furthermore, when configuring address mapping information, global, unified address mapping information can be configured for the processing cluster, or individual address mapping information can be configured for each sub-cluster, with each address mapping information applicable only to its corresponding sub-cluster.
[0088] In some optional embodiments, the processing cluster includes multiple sub-clusters, each sub-cluster including multiple processing units and at least one on-net computing unit; correspondingly, the address mapping information is selected by the network driver from multiple alternative address mapping information according to a first default configuration information and configured to each on-net computing unit of the processing cluster when a power-on signal is detected, or the address mapping information corresponding to each sub-cluster is selected from multiple alternative address mapping information according to a second default configuration information and sent to the on-net computing unit of the corresponding sub-cluster respectively; or, the address mapping information is selected by the network driver from multiple alternative address mapping information according to information of a first application running in the processing cluster and configured to each on-net computing unit of the processing cluster, or, for any sub-cluster, the address mapping information is the address mapping information corresponding to the sub-cluster selected by the network driver from multiple alternative address mapping information according to information of a second application running in the sub-cluster. In this embodiment, the processing units of different sub-clusters may be different, or some processing units may be the same, and the on-network computing units may be similar. This embodiment does not impose any restrictions on this. Further, the first application refers to a software system that can run on the resources of the processing cluster (such as processing resources, storage resources, etc.) and is used to perform specific data processing tasks. The second application is a software system that can run on the resources of its sub-cluster (such as processing resources, storage resources, etc.) and is used to perform specific data processing tasks. The first application and the second application may include applications for performing model training, applications for performing model inference, etc. Accordingly, the information of the application includes the name of the application, the amount of resources required by the application, etc. This embodiment does not impose any restrictions on this.
[0089] Therefore, upon power-up, the network driver can configure the address mapping information of the network computing units according to the default configuration information. As mentioned earlier, the default configuration information includes a first default configuration information and a second default configuration information. The first default configuration information is used to indicate the alternative address mapping information to be preferentially configured to the processing cluster. Based on this, the alternative address mapping information can be selected as the address mapping information and deployed to at least some of the network computing units in the processing cluster, so that these network computing units can perform corresponding data processing according to the address mapping information. The second default configuration information can indicate the alternative address mapping information to be preferentially configured for each sub-cluster. Based on this, the alternative address information corresponding to each sub-cluster can be deployed to at least some of the network computing units in that sub-cluster.
[0090] In addition to configuring address mapping information upon power-on, the address mapping information of the processing cluster or sub-cluster can be dynamically adjusted according to the running application to better adapt to the running application and obtain better task processing results.
[0091] For example, the information of the first application may reflect the information of various applications running in the processing cluster, based on which one can be selected from multiple alternative address mapping information to be deployed to at least a portion of the on-network computing units of the processing cluster.
[0092] Alternatively, address mapping information can be adjusted for sub-clusters with finer granularity. For any sub-cluster, the information of the second application can reflect the information of each application running in that sub-cluster. Based on this, one of multiple alternative address mapping information can be selected to deploy to at least a portion of the on-network computing units in that sub-cluster.
[0093] It should be noted that when a change is detected in the application running in the processing cluster or sub-cluster, or when the application type changes, the address mapping information can be reconfigured based on the first application information or the second application information, so that the reissued address mapping information is more compatible with the currently running application.
[0094] Furthermore, for the on-network computing unit, after receiving the intermediate address data, it can determine the address segment corresponding to the intermediate address data or at least some address units in the corresponding address segment based on the currently configured address mapping information. Then, based on the task attribute information corresponding to the address segment, it can determine which processing units should perform what type of operation, what type of data is supported, and other information, so as to perform accurate task processing.
[0095] In some optional embodiments, the data processing method may further include: receiving target data sent by a processing unit, wherein an on-net computing task is used to instruct computation on the target data; accordingly, performing task processing based on task attribute information of the address segment corresponding to the intermediate address data to obtain the task processing result of the on-net computing task, including: performing task processing on the target data at the address unit indicated by the intermediate address data based on the task attribute information of the address segment to obtain the task processing result of the on-net computing task.
[0096] The following is combined with Figure 2 The data processing procedure is described exemplarily. For example... Figure 2 As shown, assuming that gRP0 includes GPU1 and GPU3, the on-grid computing unit receives intermediate address data and date1 sent by GPU1, and intermediate address data, target data and date2 sent by GPU3. Both intermediate address data indicate address unit 12 and address unit 13 in address segment 1. Then, the on-grid computing unit can perform aggregation operations on date1 and date2 in address unit 12 and address unit 13 according to the FP16 data format and obtain the corresponding aggregation results.
[0097] Furthermore, if both intermediate address data only indicate address segment 1 and not specific address units, the on-grid computing unit can select several address units from the unoccupied address units in address segment 1 that can satisfy the execution of reduce(date1,date2) to perform the corresponding data processing. This approach assumes that the on-grid computing unit can obtain the occupancy status of each address unit. If the on-grid computing unit cannot obtain the occupancy status of each computing unit, then for simplicity, it can randomly select several address units from address segment 1 that can satisfy the execution of reduce(date1,date2) to perform the corresponding data processing.
[0098] Furthermore, the on-grid computing unit receives intermediate address data sent by GPU0, which indicates address unit 31 (not shown in the figure) in address segment 3. The on-grid computing unit can then read out the data (satisfying the FP16 format) stored in address unit 31 and send it to GPU0.
[0099] In summary, by pre-configuring address mapping information, the on-network computing unit can use the address mapping information to automatically identify commands based on intermediate address data, effectively reducing the communication overhead caused by transmitting commands during on-network computing and improving the effective bandwidth utilization between the processing unit and the on-network computing unit.
[0100] It is understood that the various method embodiments mentioned above in this disclosure can be combined with each other to form combined embodiments without violating the principle and logic. Due to space limitations, this disclosure will not elaborate further. Those skilled in the art will understand that in the above methods of specific implementation, the specific execution order of each step should be determined by its function and possible internal logic.
[0101] In addition, this disclosure also provides a data processing apparatus, a processing cluster, an electronic device, and a computer-readable storage medium, all of which can be used to implement any of the data processing methods provided in this disclosure. The corresponding technical solutions and descriptions are described in the corresponding section of the method and will not be repeated here.
[0102] Figure 5 This is a block diagram of a data processing apparatus provided in an embodiment of the present disclosure. The data processing apparatus can be applied to any processing unit in a processing cluster.
[0103] Reference Figure 5 This disclosure provides a data processing apparatus 500, which may include the following modules:
[0104] The first determining module 501 is used to determine the intermediate address data corresponding to the online computing task based on the task attribute information of the online computing task and the preset address mapping information when receiving the online computing task to be processed. The address mapping information is used to characterize the mapping relationship between the address segment for performing online computing and the task attribute information. Any address segment includes multiple address units, and the intermediate address data is used to indicate at least one address unit.
[0105] The sending module 502 is used to send intermediate address data to the on-net computing unit so that the on-net computing unit can perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data and obtain the task processing result of the on-net computing task.
[0106] It should be noted that the data processing apparatus of this disclosure embodiment is used to execute the data processing method described in any one of the embodiments of this disclosure, and will not be described in detail here.
[0107] In this embodiment of the disclosure, for the processing cluster, address mapping information is pre-configured to characterize the mapping relationship between address segments performing on-net computing and task attribute information. Based on this, for the on-net computing task to be processed, the processing unit does not transmit the command corresponding to the on-net computing task to the on-net computing unit as shown in related technologies. Instead, it determines the intermediate address data corresponding to the on-net computing task according to the address mapping information and sends the intermediate address data to the on-net computing unit. The on-net computing unit can determine what kind of data processing should be performed based on the task attribute information of the address segment corresponding to the intermediate address data, thereby obtaining the task processing result of the on-net computing task. Compared with transmitting commands, transmitting intermediate address data can effectively reduce the amount of data transmitted, reduce bandwidth overhead, and improve bandwidth utilization.
[0108] Figure 6 This is a block diagram of a data processing apparatus provided in an embodiment of the present disclosure. The data processing apparatus can be applied to any on-network computing unit in a processing cluster.
[0109] Reference Figure 6 This disclosure provides a data processing apparatus 600, which may include the following modules:
[0110] The second determining module 601 is used to determine the address segment corresponding to the intermediate address data when receiving the intermediate address data sent by the processing unit. The intermediate address data is determined by the processing unit according to the preset address mapping information and the task attribute information of the on-net computing task. The address mapping information is used to characterize the mapping relationship between the address segment performing on-net computing and the task attribute information. Any address segment includes multiple address units, and the intermediate address data is used to indicate at least one address unit.
[0111] The processing module 602 is used to perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data, and obtain the task processing result of the on-network computing task.
[0112] It should be noted that the data processing apparatus of this disclosure embodiment is used to execute the data processing method described in any one of the embodiments of this disclosure, and will not be described in detail here.
[0113] In this embodiment of the disclosure, for the processing cluster, address mapping information is pre-configured to characterize the mapping relationship between address segments performing on-net computing and task attribute information. Based on this, for the on-net computing task to be processed, the processing unit does not transmit the command corresponding to the on-net computing task to the on-net computing unit as shown in related technologies. Instead, it determines the intermediate address data corresponding to the on-net computing task according to the address mapping information and sends the intermediate address data to the on-net computing unit. The on-net computing unit can determine what kind of data processing should be performed based on the task attribute information of the address segment corresponding to the intermediate address data, thereby obtaining the task processing result of the on-net computing task. Compared with transmitting commands, transmitting intermediate address data can effectively reduce the amount of data transmitted, reduce bandwidth overhead, and improve bandwidth utilization.
[0114] Figure 7 This is a block diagram of a processing cluster provided in an embodiment of the present disclosure.
[0115] Reference Figure 7 This disclosure provides a processing cluster 700, which may include a plurality of processing units 710 and at least one on-network computing unit 720.
[0116] The processing unit 710 is used to execute any of the data processing methods applied to the processing unit in the embodiments of this disclosure;
[0117] The on-net computing unit 720 is used to execute any of the data processing methods applied to the on-net computing unit in the embodiments of this disclosure.
[0118] In this embodiment of the disclosure, for the processing cluster, address mapping information is pre-configured to characterize the mapping relationship between address segments performing on-net computing and task attribute information. Based on this, for the on-net computing task to be processed, the processing unit does not transmit the command corresponding to the on-net computing task to the on-net computing unit as shown in related technologies. Instead, it determines the intermediate address data corresponding to the on-net computing task according to the address mapping information and sends the intermediate address data to the on-net computing unit. The on-net computing unit can determine what kind of data processing should be performed based on the task attribute information of the address segment corresponding to the intermediate address data, thereby obtaining the task processing result of the on-net computing task. Compared with transmitting commands, transmitting intermediate address data can effectively reduce the amount of data transmitted, reduce bandwidth overhead, and improve bandwidth utilization.
[0119] Each module in the aforementioned data processing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.
[0120] Figure 8 This is a block diagram of an electronic device provided in an embodiment of the present disclosure.
[0121] Reference Figure 8 This disclosure provides an electronic device, which includes at least one processor 801, at least one memory 802, and one or more I / O interfaces 803; wherein the memory 802 stores one or more computer programs that can be executed by at least one processor 801, and the one or more computer programs are executed by at least one processor 801 to enable at least one processor 801 to perform the above-described data processing method.
[0122] Figure 9 This is a block diagram of an electronic device provided in an embodiment of the present disclosure.
[0123] Reference Figure 9 This disclosure provides an electronic device that includes multiple processing cores 901 and an on-chip network 902. The multiple processing cores 901 are all connected to the on-chip network 902, which is used to exchange data between the multiple processing cores and external data.
[0124] One or more processing cores 901 store one or more instructions, and the one or more instructions are executed by one or more processing cores 901 to enable one or more processing cores 901 to perform the above-described data processing method.
[0125] The modules in the aforementioned electronic devices can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0126] This disclosure also provides a computer-readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the data processing method described above. The computer-readable storage medium may be volatile or non-volatile.
[0127] This disclosure also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in a processor of an electronic device, the processor in the electronic device performs the above-described data processing method.
[0128] Those skilled in the art will understand that all or some of the steps, systems, and apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software can be distributed on a computer-readable storage medium, which may include computer storage media (or non-transitory media) and communication media (or transient media).
[0129] As is known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information, such as computer-readable program instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), static random access memory (SRAM), flash memory or other memory technologies, portable compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, it is known to those skilled in the art that communication media typically contain computer-readable program instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0130] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0131] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.
[0132] The computer program product described herein can be implemented specifically through hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0133] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0134] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0135] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0136] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0137] Example embodiments have been disclosed herein, and while specific terminology has been used, it is for illustrative purposes only and should be construed as such, and is not intended to be limiting. In some instances, it will be apparent to those skilled in the art that features, characteristics, and / or elements described in connection with particular embodiments may be used alone, or in combination with features, characteristics, and / or elements described in connection with other embodiments, unless otherwise expressly indicated. Therefore, those skilled in the art will understand that various changes in form and detail may be made without departing from the scope of this disclosure as set forth by the appended claims.
Claims
1. A data processing method, characterized in that, Applied to any processing unit in a processing cluster, the processing cluster further comprising at least one on-network computing unit, including: Upon receiving an on-net computing task to be processed, intermediate address data corresponding to the on-net computing task is determined based on the task attribute information of the on-net computing task and the preset address mapping information. The address mapping information is used to characterize the mapping relationship between the address segment executing the on-net computing and the task attribute information. Any address segment includes multiple address units, and the intermediate address data is used to indicate at least one of the address units. The intermediate address data is sent to the on-network computing unit so that the on-network computing unit can perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data, and obtain the task processing result of the on-network computing task.
2. The method according to claim 1, characterized in that, The step of determining the intermediate address data corresponding to the on-network computing task based on the task attribute information of the on-network computing task and the preset address mapping information includes: Based on the address mapping information, determine the address range that matches the task attribute information; Based on the occupancy information of the address range, the intermediate address data corresponding to the on-network computing task is determined, and the occupancy information is used to indicate whether the address range is occupied by other on-network computing tasks.
3. The method according to claim 2, characterized in that, The occupancy information of the address segment is used to characterize the occupancy status of each address unit in the address segment; The step of determining the intermediate address data corresponding to the on-network computing task based on the address range occupancy information includes: Based on the occupancy information of the address segment, candidate address units for the address segment are determined, wherein the candidate address units are unoccupied address units in the address segment; Determine the number of address units required for the on-network computing task; Based on the number of address units, a target address unit for carrying the on-network computing task is selected from the candidate address units; Based on the address of the target address unit, determine the intermediate address data corresponding to the on-network computing task.
4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: Generate the address mapping information; The address mapping information is sent to the on-network computing unit to configure the on-network computing unit.
5. The method according to any one of claims 1 to 3, characterized in that, After determining the intermediate address data corresponding to the on-network computing task, the method further includes: When the on-network computing task is used to instruct the calculation of target data, the target data is sent to the on-network computing unit so that the on-network computing unit can perform task processing on the target data according to the task attribute information of the address segment corresponding to the intermediate address data, and obtain the task processing result of the on-network computing task.
6. A data processing method, characterized in that, Applied to at least one on-network computing unit in a processing cluster, including: Upon receiving intermediate address data sent by the processing unit, the address segment corresponding to the intermediate address data is determined. The intermediate address data is determined by the processing unit based on preset address mapping information and task attribute information of the on-net computing task. The address mapping information is used to characterize the mapping relationship between the address segment performing on-net computing and the task attribute information. Any address segment includes multiple address units, and the intermediate address data is used to indicate at least one of the address units. Based on the task attribute information of the address segment corresponding to the intermediate address data, the task processing result of the on-network computing task is obtained.
7. The method according to claim 6, characterized in that, The method further includes: The processing unit receives target data, and the on-network computing task is used to instruct the calculation of the target data. The step of processing tasks based on the task attribute information of the address segment corresponding to the intermediate address data to obtain the task processing result of the on-network computing task includes: Based on the task attribute information of the address segment, the target data is processed at the address unit indicated by the intermediate address data to obtain the task processing result of the on-network computing task.
8. The method according to claim 6 or 7, characterized in that, The processing cluster corresponds to multiple alternative address mapping information; Before determining the address segment corresponding to the intermediate address data upon receiving the intermediate address data sent by the processing unit, the method further includes: Receive address mapping information, wherein the address mapping information is selected from a plurality of candidate address mapping information.
9. The method according to claim 8, characterized in that, The processing cluster includes multiple sub-clusters, and each sub-cluster includes multiple processing units and at least one on-network computing unit. Wherein, the address mapping information is configured by selecting one of a plurality of candidate address mapping information according to a first default configuration information and configuring it to each of the on-net computing units of the processing cluster when a power-on signal is detected; or, by selecting the address mapping information corresponding to each sub-cluster from a plurality of candidate address mapping information according to a second default configuration information, and sending it to the on-net computing units of the corresponding sub-cluster respectively; or, The address mapping information is selected from a plurality of candidate address mapping information based on the information of a first application running in the processing cluster and configured to each of the on-network computing units in the processing cluster. Alternatively, for any sub-cluster, the address mapping information is selected from a plurality of candidate address mapping information based on the information of a second application running in the sub-cluster and corresponds to the sub-cluster.
10. A data processing apparatus, characterized in that, Applied to any processing unit in a processing cluster, the processing cluster further comprising at least one on-network computing unit, including: The first determining module is used to determine intermediate address data corresponding to the online computing task based on the task attribute information of the online computing task and the preset address mapping information when receiving the online computing task to be processed. The address mapping information is used to characterize the mapping relationship between the address segment for performing online computing and the task attribute information. Any address segment includes multiple address units, and the intermediate address data is used to indicate at least one address unit. The sending module is used to send the intermediate address data to the on-network computing unit, so that the on-network computing unit can perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data, and obtain the task processing result of the on-network computing task.
11. A data processing apparatus, characterized in that, Applied to any on-network computing unit in the processing cluster, including: The second determining module is used to determine the address segment corresponding to the intermediate address data when it receives the intermediate address data corresponding to the on-net computing task sent by the processing unit. The intermediate address data is determined by the processing unit according to the preset address mapping information and the task attribute information of the on-net computing task. The address mapping information is used to characterize the mapping relationship between the address segment performing on-net computing and the task attribute information. Any address segment includes multiple address units, and the intermediate address data is used to indicate at least one of the address units. The processing module is used to perform task processing based on the task attribute information of the address segment corresponding to the intermediate address data, and obtain the task processing result of the on-network computing task.
12. A processing cluster, characterized in that, The processing cluster includes multiple processing units and at least one on-network computing unit; The processing unit is used to perform the data processing method as described in any one of claims 1-5; The on-network computing unit is used to perform the data processing method as described in any one of claims 6-9.
13. An electronic device, characterized in that, include: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores one or more computer programs that can be executed by the at least one processor, the one or more computer programs being executed by the at least one processor to enable the at least one processor to perform the data processing method as described in any one of claims 1-5, or the data processing method as described in any one of claims 6-9.
14. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the data processing method as described in any one of claims 1-5, or the data processing method as described in any one of claims 6-9.
15. A computer program product, characterized in that, Includes computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is executed in a processor of an electronic device, the processor in the electronic device performs the data processing method as described in any one of claims 1-5, or the data processing method as described in any one of claims 6-9.