Server deployment method, equipment, media and products based on large models

Through collaborative design between DCN and HBD, an interlaced "zigzag" connection mode is formed, which solves the problem of insufficient network bandwidth utilization and improves the performance and resource utilization of large model training tasks.

CN119966830BActive Publication Date: 2025-08-26SHANGHAI JIEYUE JIYUAN INTELLIGENT TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510126870.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-27
Publication Date
2025-08-26
Estimated Expiration
2045-01-27

AI Technical Summary

Technical Problem

In the prior art, the DCN and HBD networks of artificial intelligence data centers do not fully consider synergistic effects, resulting in insufficient network bandwidth utilization or network congestion, affecting workload performance.

Method used

By determining the server numbering information and parallel parameters in the DCN topology, combined with the HBD topology, an interlaced "zigzag" connection mode is formed, and the server deployment solution between HBD and DCN is optimized.

Benefits of technology

It improves the efficiency of network resources, optimizes the performance of large-model training tasks, and reduces the complexity of server scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119966830B_ABST
    Figure CN119966830B_ABST
Patent Text Reader

Abstract

The embodiments of the present application relate to the field of computers, and disclose a server deployment method, device, medium, and product based on a large model. The deployment method includes: determining the first numbering information of the server in the topology of the DCN; determining the parallel parameter according to the topology of the DCN; the parallel parameter is used to represent the number of sub-lines; determining the second numbering information according to the first numbering information and the parallel parameter; the second numbering information is used to represent the serial number of the server in the topology of the HBD; determining the deployment scheme of the server in the topology of the HBD according to the second numbering information; wherein, in the deployment scheme, the server is arranged in each sub-line based on the second numbering information, forming an interlaced "zigzag" connection pattern. It can at least be used to solve the technical problem in the related art that the network bandwidth utilization is insufficient or the network is congested, thereby affecting the performance of the workload of the AI ​​DC.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a server deployment method, device, medium, and product based on a large model. Background Art

[0002] In modern artificial intelligence data centers (AIDCs), there are many types of large language model (LLM) tasks, such as pre-training, post-training, and inference. To scale these large model tasks in large-scale AIDCs, the current approach is to introduce multi-dimensional parallelism technologies, including tensor parallelism (TP), data parallelism (DP), pipeline parallelism (PP), context parallelism (CP), and expert parallelism (EP). High-bandwidth domain (HBD) plays a crucial role in this process. Multi-dimensional parallelism for large model tasks places stringent requirements on HBD: First, multi-dimensional parallelism technologies have different bandwidth requirements. Therefore, to achieve optimal performance, the parallel dimensions that handle the greatest data transfer needs, such as TP and EP, are designed to run in an HBD topology to fully utilize the high bandwidth advantages provided by the HBD topology. Second, large models typically follow a batch synchronous parallel model, which requires that all accelerators in the same dimension have the same bandwidth to avoid bandwidth loss.

[0003] Specifically, in related technologies, to meet the design requirements of traditional data center networks (DCNs) and the demands of large-scale communication, AIDC computing networks typically include DCNs and HBDs. DCNs enable remote direct memory access (RDMA) communication, offering excellent scalability and low cost. HBDs, on the other hand, offer higher bandwidth and lower latency to meet the demands of large-scale data transmission.

[0004] However, the inventors discovered that the related art suffers from at least the following technical issues: These technologies often divide computing power into two independent networks: the DCN and the HBD. Furthermore, when designing network topologies and deploying tasks, they often focus on optimizing these two networks individually, without fully considering the synergy between them. This leads to insufficient network bandwidth utilization or congestion, which in turn impacts the performance of AIDC workloads. Summary of the Invention

[0005] One purpose of this application is to provide a server deployment method, device, medium and product based on a large model, at least to solve the technical problem in related technologies that the synergy between DCN and HBD is not fully considered, resulting in insufficient network bandwidth utilization or network congestion, thereby affecting the performance of AIDC workloads.

[0006] To achieve the above objectives, some embodiments of the present application provide the following aspects:

[0007] In a first aspect, some embodiments of the present application provide a server deployment method based on a large model, the method comprising: determining first numbering information of a server in a topological structure of a DCN; determining a parallel parameter based on the topological structure of the DCN; the parallel parameter being used to characterize a parallel sub-line, each sub-line corresponding to a group of servers; determining second numbering information based on the first numbering information and the parallel parameter; the second numbering information being used to represent a serial number of a server in a topological structure of an HBD; determining a deployment scheme of the server in the topological structure of the HBD based on the second numbering information; wherein, in the deployment scheme, the servers are arranged in each sub-line based on the second numbering information, the last server in each sub-line is connected to the last server in the next sub-line, the first server in the next sub-line is connected to the first server in the next sub-line, and so on, forming an interlaced "zigzag" connection pattern.

[0008] In a second aspect, some embodiments of the present application further provide an electronic device comprising: one or more processors; and a memory storing computer program instructions, wherein the computer program instructions, when executed, cause the processor to perform the steps of the method described above.

[0009] In a third aspect, some embodiments of the present application further provide a computer-readable medium having computer program instructions stored thereon, wherein the computer program instructions can be executed by a processor to implement the method described above.

[0010] In a fourth aspect, some embodiments of the present application further provide a computer program product, comprising a computer program / instruction, which implements the steps of the above-described method when executed by a processor.

[0011] Compared with the related art, the solution provided in the embodiment of the present application proposes a server deployment method based on a large model based on the collaborative design of the topology of the HBD and the topology of the DCN; by determining the first numbering information of the server in the topology of the DCN, and determining the parallel parameters according to the topology of the DCN; the parallel parameters are used to characterize the parallel sub-lines; and then determining the second numbering information according to the first numbering information and the parallel parameters, so as to determine the deployment scheme of the server in the topology of the HBD according to the second numbering information. The second numbering information is used to represent the serial number of the server in the topology of the HBD; in the deployment scheme, the servers are arranged in each sub-line based on the second numbering information, the last server in each sub-line is connected to the last server in the next sub-line, the first server in the next sub-line is connected to the first server in the next sub-line, and so on, forming an interlaced "zigzag" connection pattern. As can be seen, this application can simultaneously perceive the topology of both the HBD and DCN. Since the parallel parameters are determined based on the DCN topology, this facilitates obtaining a server deployment solution that is adapted to the HBD topology based on the characteristics of the DCN topology. Due to the high adaptability of this deployment solution, it helps optimize the use of network resources, improve the performance of large-model-based training tasks, and facilitate subsequent server scheduling. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] One or more embodiments are exemplarily illustrated by pictures in the corresponding drawings. These exemplifications do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings are represented as similar elements. Unless otherwise stated, the figures in the drawings do not constitute proportional limitations.

[0013] Figure 1 An exemplary flow chart of a server deployment method based on a large model according to some embodiments of the present application;

[0014] Figure 2 This is an exemplary schematic diagram of a deployment solution in a large model-based server deployment method provided according to some embodiments of the present application;

[0015] Figure 3 This is an exemplary schematic diagram of a server deployment solution based on a Rail-Optimized topology structure provided according to relevant technologies;

[0016] Figure 4 This is an exemplary schematic diagram of another server deployment solution based on a Rail-Optimized topology structure provided according to the relevant technology;

[0017] Figure 5 This is an exemplary schematic diagram of a server deployment solution based on a Fat-Tree topology structure provided according to relevant technologies;

[0018] Figure 6 This is an exemplary structural diagram of an electronic device provided according to some embodiments of the present application. DETAILED DESCRIPTION

[0019] To make the purpose, technical solutions, and advantages of the embodiments of this application more clear, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the described embodiments are part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0020] The following terms are used in this article.

[0021] Intelligent computing chips are chips used for artificial intelligence computing tasks, including intelligent computing chips, NPU, TPU, FPGA and other chips.

[0022] Artificial Intelligence Data Center, AI Data Center, referred to as AIDC, refers to a data center designed to provide high-performance computing and large-scale data processing for artificial intelligence applications. It is used for large model training or inference tasks. The main computing equipment includes intelligent computing chips.

[0023] High-Bandwidth Domain (HBD) is a network architecture designed to meet the high bandwidth requirements of large model training. It is primarily used to support parallel dimensions with high communication volume, such as tensor parallelism.

[0024] Data Center Network (DCN) is a network architecture used to meet general communication needs. It primarily supports parallel dimensions with relatively small communication volumes, such as data parallelism and pipeline parallelism.

[0025] Large Language Model, the full English name is Large Language Model, abbreviated as LLM.

[0026] Tensor Parallelism, or TP for short, is a model parallel technology.

[0027] Data parallelism, whose full English name is Data Parallelism, abbreviated as DP, is a parallel computing strategy.

[0028] Pipeline Parallelism, also known as Pipeline Parallelism (PP for short), is a parallel computing strategy.

[0029] Context Parallel, or CP for short, is a parallel computing strategy.

[0030] Expert Parallelism, or EP for short, is a special parallel strategy for hybrid expert models.

[0031] First embodiment

[0032] The first embodiment of the present application relates to a server deployment method based on a large model. Figure 1 As shown, the method may include the following steps:

[0033] Step S101, determining first number information of a server in a DCN topology structure;

[0034] Step S102: determining a parallel parameter according to the DCN topology; the parallel parameter is used to characterize parallel sub-lines, where each sub-line corresponds to a group of servers;

[0035] Step S103: Determine second numbering information based on the first numbering information and the parallel parameter; the second numbering information is used to indicate the sequence number of the server in the topology of the HBD; it can be seen that there is a mapping relationship between the first numbering information and the second numbering information;

[0036] Step S104: Determine a deployment plan for servers in the topology of the HBD based on the second numbering information; wherein, in the deployment plan, the servers are arranged in each sub-line based on the second numbering information, the last server in each sub-line is connected to the last server in the next sub-line, and the first server in the next sub-line is connected to the first server in the next sub-line, and so on, forming an interlaced "zigzag" connection pattern.

[0037] The following explains each of the above steps separately.

[0038] Regarding step S101, specifically, in some examples, the DCN topology may be a Rail-Optimized topology or a Fat-Tree topology, which is not specifically limited in this embodiment. The first numbering information is used to represent an ordered set of numbers corresponding to each server. Different servers in the DCN topology have their own numbers, which can be represented by letters such as A, B, and C, or by numbers, or a combination of numbers and letters, which is not limited in this embodiment. For example: Server 1, Server 2, ..., Server n, where n is a positive integer representing the total number of servers in the DCN topology.

[0039] Regarding step S102, specifically, in some examples, different types of topological structures correspond to different parallel parameters. The parallel parameter is the number of sub-lines. Figure 2 The figure shows a network topology consisting of 32 servers. The servers are numbered from 1 to 32 and are connected together in a certain pattern. Specifically, the servers are arranged in rows and columns, with 8 servers in each row and a total of 4 rows. The last server in each row is connected in sequence, that is, each server is connected to the server to its right, and, except for the last row, the last server in each row is also connected to the first server in the next sub-line, forming an interlaced "zigzag" connection pattern. The details are as follows:

[0040] Row 1: 1-5-9-13-17-21-25-29;

[0041] Row 2: 2-6-10-14-18-22-26-30;

[0042] Row 3: 3-7-11-15-19-23-27-31;

[0043] Row 4: 4-8-12-16-20-24-28-32;

[0044] Among them, servers numbered 1, 5, 9, 13, 17, 21, 25, and 29 form a sub-line; servers numbered 2, 6, 10, 14, 18, 22, 26, and 30 form a sub-line; servers numbered 3, 7, 11, 15, 9, 23, 27, and 31 form a sub-line; and servers numbered 4, 8, 12, 16, 20, 24, 28, and 32 form a sub-line. Server 29 in the first row is connected to server 2 in the second row; server 30 in the second row is connected to server 3 in the third row; and server 31 in the third row is connected to server 4 in the fourth row, forming a closed loop.

[0045] It should be noted that, in Figure 2 In the example shown, the sub-lines are parallel to each other. However, in other examples, the sub-lines may be non-parallel to each other; or the sub-lines themselves may be broken lines, which is not specifically limited in the present embodiment.

[0046] With respect to step S103, specifically, in some examples, the second numbering information in the topology structure of the server HBD is determined based on the first numbering information and the parallel parameters. Here, the type of the topology structure of the HBD can be any ring topology structure or a linear topology structure, and this embodiment does not specifically limit this. It can be understood that in a ring topology structure, the server connections form a closed loop, and each server is directly connected to the other two servers to form a continuous path. In a linear topology structure, servers or nodes are arranged linearly, and each node is usually only connected to adjacent nodes. It can be seen that through this step, the mapping relationship between the server's numbering in the DCN topology structure and the HBD topology structure can be determined. In this way, the server's position and connection relationship in the HBD topology structure can be determined based on the server's numbering in the DCN topology structure.

[0047] Regarding step S104, specifically, in some examples, the second numbering information represents a deployment plan for the server in the HBD topology. Personnel can deploy the corresponding server in the HBD topology based on the second numbering information. The deployment plan includes the location and connection relationships of the servers carried in the second numbering information.

[0048] Optionally, in some embodiments, determining the deployment scheme of servers in the topology structure of the HBD based on the second numbering information includes: determining the traffic pattern of the HBD topology structure; the traffic pattern is used to indicate that between the sub-lines, the last server in each sub-line is connected to the last server in the next sub-line, and the first server in the next sub-line is connected to the first server in the next sub-line, and so on, forming an interlaced "zigzag" connection pattern; determining the deployment scheme of servers in the topology structure of the HBD based on the "zigzag" connection pattern and the second numbering information.

[0049] Optionally, in some embodiments, after the server is deployed in the HBD topology, the deployed server may be verified to ensure that it is correctly deployed. Examples of verification include, but are not limited to, connection relationships, configuration correctness, and performance indicators, and are not specifically limited in this embodiment.

[0050] Optionally, in some embodiments, after determining the deployment scheme of the servers in the topology structure of the HBD according to the second numbering information, the method may further include the following steps:

[0051] The large model is trained using a preset training strategy; wherein the preset training strategy may be: running data parallelism (DP) and tensor parallelism (TP) within the sub-line; tensor parallelism (TP) runs in the topology of the HBD. Specifically, in some examples, between the topologies of the HBD, context parallelism (CP) can be run for the Fat-Tree topology, and data parallelism (DP) can be run for the Rail-Optimized topology. In this way, data can be run within the sub-line without involving cross-rail traffic. This can improve the utilization of computing resources, effectively improve communication performance, and meet the complex requirements of training tasks based on large models.

[0052] In the related art, there is no server deployment solution that can simultaneously perceive the topology of the DCN and the topology of the HBD, so the synergy between the two cannot be fully considered. This will lead to limitations in the related art such as low network bandwidth utilization or network congestion, affecting the performance of the AIDC workload. It can be understood that the server deployment solution mentioned above that perceives the topology of the DCN and the topology of the HBD refers to how to connect servers to provide better communication performance based on the identification and analysis of the topology of the DCN and the topology of the HBD. Specifically at the physical level, it means that a solution needs to be designed for how servers in the HBD topology are physically connected in the DCN topology. If the deployment solution for servers in the HBD topology is properly designed, the complexity of the scheduling algorithm for servers based on large models can be significantly reduced.

[0053] It is not difficult to find that, compared with the related art, the solution provided in the embodiment of the present application proposes a server deployment method based on a large model based on the collaborative design of the topology of the HBD and the topology of the DCN; by determining the first numbering information of the server in the topology of the DCN, and determining the parallel parameters according to the topology of the DCN; the parallel parameters are used to characterize the parallel sub-lines; and then, based on the first numbering information and the parallel parameters, the second numbering information is determined to determine the deployment scheme of the server in the topology of the HBD according to the second numbering information. The second numbering information is used to represent the serial number of the server in the topology of the HBD; in the deployment scheme, the servers are arranged in each sub-line based on the second numbering information, the last server in each sub-line is connected to the last server in the next sub-line, the first server in the next sub-line is connected to the first server in the next sub-line, and so on, forming an interlaced "zigzag" connection pattern. As can be seen, this application can simultaneously perceive the topology of both the HBD and DCN. Since the parallel parameters are determined based on the DCN topology, this facilitates obtaining a server deployment solution that is adapted to the HBD topology based on the characteristics of the DCN topology. Due to the high adaptability of this deployment solution, it helps optimize the use of network resources, improve the performance of large-model-based training tasks, and facilitate subsequent server scheduling.

[0054] Second embodiment

[0055] The second embodiment of the present application relates to a server deployment method based on a large model. The second embodiment is an improvement on the first embodiment. Specifically, the second embodiment provides a specific implementation method for determining parallel parameters based on the DCN topology of different types.

[0056] Specifically, in some embodiments, the DCN topology includes at least a Rail-Optimized topology or a Fat-Tree topology. Corresponding to the DCN topology being a Rail-Optimized topology, determining the parallel parameters according to the DCN topology, i.e., step S102, may further include the following steps:

[0057] Step S1021, obtaining the number of tracks in the Rail-Optimized topology and the number of intelligent computing chips in a single server;

[0058] Step S1022: determining the parallelism parameter according to the number of tracks and the number of intelligent computing chips in a single server;

[0059] Specifically, in some examples, the track number is used to identify a "track" or "layer" in the Rail-Optimized topology. Thus, the data flow path and potential bottlenecks can be understood through the track number.

[0060] Specifically, in some examples, the number of intelligent computing chips in the single server is the number of intelligent computing chips included in each server in the Rail-Optimized topology.

[0061] Optionally, in some embodiments, determining the parallel parameter according to the number of tracks and the number of intelligent computing chips in a single server can be implemented by the following formula:

[0062] p=k / r

[0063] in, k Indicates the number of tracks, r Indicates the number of intelligent computing chips in the single server. p Represents the parallel parameter.

[0064] Optionally, in some embodiments, the topology structure corresponding to the DCN is specifically a Fat-Tree-based topology structure, and the determining of the parallel parameters according to the DCN topology structure, that is, step S102, may further include the following steps:

[0065] Step S1021′, obtaining the number of servers under each layer of switches in the Rail-Optimized topology;

[0066] Step S1022': determining the parallel parameter according to the number of servers under each layer of switches.

[0067] Specifically, in some examples, the number of servers under each layer of switches in the Rail-Optimized topology is the number of servers directly connected to each switch at each layer, which includes the number of servers directly connected to each top-of-rack switch, the size of the backbone switch domain, and the number of servers under higher-layer switches.

[0068] Optionally, in some embodiments, determining the parallel parameter according to the number of servers under each layer of switches may be implemented by the following formula:

[0069] p=a

[0070] in, a Indicates the number of servers directly connected to each top-of-rack switch. p Represents the parallel parameter.

[0071] It is not difficult to find that, compared with related technologies, this application takes into account the types of DCN topologies commonly adopted in the industry, which mainly include Rail-Optimized-based topologies and Fat-Tree-based topologies. This application mainly conducts an in-depth analysis of these two topologies and their derivative variants, and provides a specific implementation method for determining parallel parameters based on the DCN topology of different types of DCN topologies. In this way, most DCN topologies can be covered and most user needs can be met. However, it should be emphasized that this embodiment is only for illustrative purposes, and other types of DCN topologies can also be applied to the technical solution provided by this application, and therefore are also within the scope of protection of this application.

[0072] Third embodiment

[0073] The third embodiment of the present application relates to a server deployment method based on a large model. The third embodiment is an improvement on the first embodiment. The specific improvement is that: in the third embodiment of the present application, a specific implementation method for determining the second numbering information based on the first numbering information and the parallel parameter is provided.

[0074] Specifically, in some embodiments, determining the second numbering information according to the first numbering information and the parallel parameter includes, that is, step S103 may further include the following steps:

[0075] Step S1031: determining a first ordered set of servers deployed in the topology structure of the DCN according to the total number of servers in the topology structure of the DCN and the first numbering information;

[0076] Step S1032: determining the length of each sub-line according to the first ordered set and the parallel parameter; wherein the length of the sub-line is used to represent the number of servers that each sub-line should include;

[0077] Step S1033: Determine the second numbering information according to the length of the sub-line.

[0078] Regarding step S1031, specifically, in some examples, the first ordered set can be S Indicates that if the total number of servers in the DCN topology is n, then the first ordered set S In the example, the server numbers range from 1 to n. The server numbers are determined by the positions of the servers in the topology of the DCN.

[0079] Regarding step S1032, specifically, in some examples, determining the length of each sub-line according to the first ordered set and the parallel parameter can be implemented by the following formula:

[0080]

[0081] Wherein, l represents the length of each sub-line, S represents the first ordered set, the p Represents the parallel parameter.

[0082] Optionally, in some embodiments, the determining the second numbering information according to the length of the sub-line, that is, S1033, may further include the following steps:

[0083] Step S10331, determining the data range according to the parallel parameter;

[0084] Step S10332, determining the index of each sub-line according to the data range;

[0085] Step S10333: determining a position index within a target sub-line according to the sub-line index and the length of the sub-line; the target sub-line is determined according to the sub-line index;

[0086] Step S10334: determining a second ordered set for characterizing servers deployed in the topology of the HBD according to the subline index, the position index, and the parallel parameter;

[0087] Step S10335: Determine the second numbering information according to the second ordered set.

[0088] Regarding step S10331, specifically, in some examples, if the parallel parameter is p , the data range can be from 0 to p-1 .

[0089] Regarding step S10332, specifically, in some examples, according to the data range from 0 to p-1 By traversing, the index of each subline can be determined. It can be understood that the index i of each subline corresponds to a subline. In other words, the index i of the subline can be used to determine which subline is currently being processed, so that it is easy to allocate servers to different sublines. For example, p=4 , then the value of the sub-line index i can be 0, 1, 2, 3, and different index values ​​represent different sub-lines.

[0090] Regarding step S10333, specifically, in some examples, j can be used to represent the position index within the target sub-line, where the target sub-line is the sub-line corresponding to the index i of the sub-line. In other words, the position index j, used to determine the position of the server in the sub-line corresponding to the sub-line index i. In some examples, the traversal range of the position index j in the target sub-line may vary depending on the parity of the sub-line index i.

[0091] Optionally, in some embodiments, determining the position index within the target sub-line according to the sub-line index and the sub-line length, that is, step S10333, may further include the following steps:

[0092] Step S103331, determining the parity of the index of the sub-line;

[0093] Step S103332: Determine a position index within the target sub-line according to the parity and the length of the sub-line.

[0094] Optionally, in some embodiments, determining the position index within the target sub-line according to the parity and the length of the sub-line, that is, step S103332 may further include:

[0095] If the index of the sub-line is an even number, the position index increases in sequence based on the length of the sub-line;

[0096] If the index of the sub-line is an odd number, the position index increases in reverse order based on the length of the sub-line.

[0097] Specifically, if the index i of the sub-line is an even number, the position index j can be increased in sequence based on the length l of the target sub-line, which means that the number of the servers increases in sequence, such as starting from 0; if the index i of the sub-line is an odd number, the position index j can be increased in reverse order based on the length l of the target sub-line, which means that the number of the servers increases in reverse order, such as starting from l-1. For example, if the index i of the sub-line is an even number, the range of the position index j is from 0 to l-1; if the index i of the sub-line is an odd number, the range of the position index j is from l-1 to 0. It can be seen that the position index j is used to traverse the servers in each sub-line to determine the new position of each server in the deployment scheme of the server in the topology of the HBD, and the new position corresponds to a new serial number.

[0098] Optionally, in some embodiments, determining the second ordered set for characterizing the servers deployed in the topology structure of the HBD according to the subline index, the position index, and the parallel parameter, that is, step S10334, can be specifically implemented by the following formula:

[0099] i+j·p

[0100] Wherein, the i represents the index of the sub-line, the j represents the position index, and the p represents the parallel parameter.

[0101] Specifically, in some examples, we can first initialize an empty ordered set S deploy = [], the empty ordered set is used to store the second numbering information. It can be seen from the context that the second numbering information is obtained by converting the first numbering information of the server in the DCN topology structure through a preset rule. Specifically, the first numbering information of the server in the DCN topology structure can be converted based on the index i of each subline, the position index j, and the parallel parameter p to obtain the new serial number of each server deployed in the HBD topology structure, that is, the second ordered set S deploy .

[0102] For example, each i+j·p obtained can be added to the above initialized originally empty ordered set to obtain the second ordered set S deploy The second ordered set S deploy It is an ordered set of servers in the HBD topology, consisting of the server's sequence number within the HBD topology. As mentioned above, the subline index i is used to determine which subline is currently being processed; the position index j is used to determine the server's position within the subline corresponding to the subline index i; and p represents the parallelism parameter.

[0103] like Figure 2 As shown, assuming that the parallel parameter is p, there are p sub-lines L1, L2, ..., L p , then the i-th subline consists of servers whose serial numbers corresponding to the position index are divided by the parallel parameter p and remainder i-1, that is:

[0104] Li={j|(j-1)%p==i-1}

[0105] The L i Indicates the sub-line corresponding to the index i of the sub-line.

[0106] Furthermore, a series of the p sub-lines are connected end to end to form a new arrangement method for deploying servers in the HBD topology. Figure 2 In the second ordered set S deploy The composition is as follows:

[0107] S deploy ={1,5,9,13,17,21,25,29,

[0108] 30,26,22,18,14,10,6,2,

[0109] 3,7,11,15,19,23,27,31,

[0110] 32,28,24,20,16,12,8,4}

[0111] Optionally, in some embodiments, determining the second numbering information according to the second ordered set, i.e., step S10335, may further include the following steps:

[0112] Step S103351: determining, based on the second ordered set, an edge set representing connection relationships between servers deployed in the topology structure of the HBD;

[0113] Step S103352: Determine the second numbering information according to the second ordered set and the edge set.

[0114] Specifically, the second number information can be represented by G deploy Indicates that the second ordered set can be represented by S deploy Indicates that the edge set can be represented by E deploy Indicates that the second number information G deploy = deploy ,E depoly >.

[0115] It should be noted that this embodiment may also be an improvement based on the second embodiment.

[0116] It is not difficult to find that, compared with the related art, in this embodiment, the first ordered set of servers deployed in the DCN topology is determined based on the total number of servers in the DCN topology and the first numbering information; the length of each sub-line is determined based on the first ordered set and the parallel parameter; wherein the length of the sub-line is used to characterize the number of servers that each sub-line should contain; the second numbering information is determined based on the length of the sub-line, providing a specific implementation method for determining the second numbering information based on the first numbering information and the parallel parameter. In this embodiment, an optimized solution for server deployment in the HBD topology is generated by orderly organizing servers into sub-lines and defining the connection relationship between servers. This ensures the orderly arrangement of servers in the HBD topology, reduces cross-rack traffic, and maximizes the use of bandwidth resources of the top-of-rack switch, thereby improving the performance of the DCN.

[0117] Fourth embodiment

[0118] ​The fourth embodiment of the present application relates to a server deployment method based on a large model. The fourth embodiment is an improvement on the third embodiment. Specifically, the improvement is as follows: In the fourth embodiment of the present application, a specific implementation method for determining an edge set representing the connection relationship between servers deployed in the HBD topology structure based on the second ordered set is provided.

[0119] Specifically, in some embodiments, determining, based on the second ordered set, an edge set for characterizing connection relationships between servers deployed in the topology structure of the HBD, that is, step S103351 may further include the following steps:

[0120] Step S1033511, obtaining the number of servers directly connected to the server in a single direction in the HBD topology;

[0121] Step S1033512: determining a target server based on the second ordered set and the number of servers directly connected to the server in a single direction in the topology of the HBD;

[0122] Step S1033513: Determine, based on the second ordered set and the target server, an edge set for characterizing connection relationships between servers deployed in the topology structure of the HBD.

[0123] Regarding step S1033511, specifically, in some examples, the number of servers directly connected to the server in a single direction in the HBD topology structure can be represented by φ. For example, the number of servers directly connected to the server in a single direction in the HBD topology structure φ. For example, when φ=2, the server S deploy [i]Can be directly connected to S deploy [i-2], S deploy [i-1], S deploy [i+1] and S deploy [i+2]. Combine Figure 2 As shown, server 9 can be directly connected to servers 1, 5, 13, and 17.

[0124] Regarding step S1033512, specifically, in some examples, the second ordered set S may be traversed. deploy , according to the second ordered set S deploy Each server in And the number of servers directly connected to the server in a single direction in the HBD topology structure φ, find all target servers that meet the following formula

[0125] ji≤φ

[0126] Regarding step S1033513, specifically, in some examples, the second ordered set and the target server may form For every pair that satisfies the condition Can be in E deploy Create an edge in the server Can connect directly to the server The E deploy Represents the edge set.

[0127] It should be noted that the edge set E deploy The following conditions must also be met:

[0128] 1≤i≤j≤|S deploy |

[0129] By using the above formula, it can be ensured that the solution only considers the case where the sub-line index i is less than or equal to the position index j, thus avoiding the repeated creation of the same connection relationship. It can be understood that if Connect to Then there is no need to make Then connect to

[0130] Optionally, in some embodiments, determining, based on the second ordered set and the target server, an edge set for characterizing connection relationships between servers deployed in the topology structure of the HBD is specifically implemented by the following formula:

[0131]

[0132] Wherein, i represents the index of the sub-line, j represents the position index, S deploy Represents the second ordered set, the Represents the second ordered set S deploy The server in represents the target server, φ represents the number of servers directly connected to the server in a single direction in the HBD topology, and E deploy Represents the edge set.

[0133] It can be seen that the edge set E deploy Including all satisfying |1≤i≤j≤|S deploy | and ji≤φ Yes, so far, the second ordered set S is completed. deploy Establishment of a connection relationship between the target server and the target server.

[0134] It should be noted that this embodiment may also be an improvement based on the first embodiment and / or the second embodiment.

[0135] It is not difficult to find that compared with the related art, in this embodiment, by obtaining the number of servers directly connected to the server in a single direction in the topology structure of the HBD; determining the target server according to the second ordered set and the number of servers directly connected to the server in a single direction in the topology structure of the HBD; determining the edge set used to characterize the connection relationship of the servers deployed in the topology structure of the HBD according to the second ordered set and the target server, a specific implementation method of determining the edge set used to characterize the connection relationship of the servers deployed in the topology structure of the HBD according to the second ordered set is provided.

[0136] This application uses the fifth and sixth embodiments, respectively taking the DSN topology structure as a Rail-Optimized-based topology structure and a Fat-Tree-based topology structure as examples, to obtain the deployment scheme according to the large-model-based server deployment method provided by this application, and explains the principles of the beneficial effects that can be achieved by this application. The beneficial effects include but are not limited to: supporting subsequent server deployment based on large-model tasks, and improving communication performance and computing resource utilization without increasing additional costs.

[0137] Fifth embodiment

[0138] The fifth embodiment of the present application relates to an exemplary embodiment of generating a deployment solution for servers in an HBD topology structure according to the large model-based server deployment method for a Rail-Optimized topology structure.

[0139] First, it is necessary to understand that in the related art, see Figure 3As shown, the Rail-Optimized topology is designed to adapt to the low-entropy and high-burst traffic patterns in large model tasks. It is a commonly used and effective network architecture. The network cards of each server are connected to different switch groups in a specific order. For example, network card No. 0 is connected to the first group of switches, network card No. 1 is connected to the second group of switches, and so on. Specifically, in the Rail-Optimized topology, assuming that the number of track switches included in the HBD topology is set to be equal to the number of intelligent computing chips in the server, that is, k = r, then the number of track switches is k, and the number of intelligent computing chips in each server is also k. Generally, the intelligent computing chips in each server are numbered from 1 to k. These sets of intelligent computing chips with the same number are defined as a "track". The intelligent computing chips are connected to each other through the track switches, and the track switches are further connected to the backbone switch group, forming a full-duplex any-to-anyClos topology. This design allows any pair of identically numbered intelligent computing chips in different HBD topologies to communicate at the network's line rate without going through an additional switching layer. Direct communication reduces network congestion and latency, thus ensuring efficient communication. For example, when k = r, large model training typically uses a tensor parallel (TP) strategy within the server, with each server using tensors of size r for parallel processing, while a data parallel (DP) strategy is used between servers. This strategy can improve communication efficiency within the server and reduce communication requirements between servers.

[0140] Since data parallel (DP) traffic is designed to run within a single track, each intelligent computing chip only communicates with other intelligent computing chips with the same ID. This design helps reduce cross-track traffic, thereby reducing network congestion and latency.

[0141] However, as HBD is no longer limited to a single server and the scale of large models increases the demand for data parallelism (DP), a new situation may emerge, such as Figure 4 As shown, the number of intelligent computing chip domains is d. In the intelligent computing chip domain, it is assumed that each intelligent computing chip domain contains k intelligent computing chips, and the intelligent computing chips are numbered from 1 to k. All intelligent computing chips with the same number in all intelligent computing chip domains are connected to the same track switch to form a track. That is, the number of intelligent computing chips included in the HBD topology is k=p×r (where p is an integer). This means that there will be servers in p different states in the data center, each state corresponds to a serial number in the HBD topology, and each state occupies r tracks, combined with Figure 3 The communication between servers in different states will result in the generation of cross-track traffic, which will cause network congestion and degradation of communication performance.

[0142] To sum up, when the number of intelligent computing chips included in the HBD topology is k=r, the data parallel (DP) traffic is limited to a single track. However, when the number of intelligent computing chips included in the HBD topology is k=p×r, the communication between servers in different states will trigger cross-track traffic, which will have a negative impact on network performance. The solution provided in this application is mainly aimed at the situation where the cross-track traffic is caused by the communication between servers in different states when the number of intelligent computing chips included in the HBD topology is k=p×r.

[0143] Specifically, when designing a server deployment solution based on the Rail-Optimized topology, special attention needs to be paid to the cross-track traffic problem between servers in different states. When the number of intelligent computing chips included in the HBD topology is set to k=r, there is no cross-track traffic because all communication traffic is limited to the intelligent computing chips within a single server. However, when the number of intelligent computing chips included in the HBD topology is set to k=p×r, that is, when the number of intelligent computing chips included in the HBD topology is an integer multiple of the number of intelligent computing chips in a single server, cross-track traffic will be generated in the communication between different servers.

[0144] To address cross-track traffic, if servers in the HBD topology are still physically connected according to their DCN topology, it is necessary to ensure that within the HBD topology, a set of servers with the same number or status has the same number of states. Under these constraints, to maximize the resource utilization of the intelligent computing chip, the server deployment problem becomes a maximum cover problem, a known NP-hard problem, which means finding the optimal solution is computationally extremely difficult.

[0145] In order to meet the challenge of NP-hard problems, this application proposes a reasonable deployment solution. This solution transforms the original NP-hard problem into a problem with polynomial time complexity by rearranging the physical connection order of servers in the HBD topology. The deployment solution is obtained according to the method provided by any one or more embodiments of the first to fourth embodiments of this application, see Figure 2 As shown. The method of this application is to arrange the servers in each state into several parallel sub-lines and connect these sub-lines end to end to form a complete connection chain. In this way, DP traffic can be restricted to transmission within the sub-line, so that most of the traffic flows only within the same track, thereby effectively reducing the occurrence of cross-track traffic. This design simplifies the complex situation of k = p × r mentioned above to the situation of k = r to a certain extent, thereby reducing the complexity of the problem.

[0146] Sixth embodiment

[0147] The sixth embodiment of the present application relates to an exemplary embodiment of generating a deployment solution for servers in an HBD topology structure according to the large model-based server deployment method for a Fat-Tree-based topology structure.

[0148] First, it is important to understand that in related technologies, the Fat-Tree topology is widely used in traditional data centers and also plays an important role in modern AI data centers. The Fat-Tree topology is a layered network architecture that typically consists of three layers: the core layer, the aggregation layer, and the access layer. In a K-element Fat-Tree topology, each switch is equipped with K ports. The core layer is at the top of the network, while the aggregation layer and the access layer each have half the number of switches. A total of (K / 2) 2 switches. The Fat-Tree topology is divided into multiple pods. A pod refers to a logical network partition or subset, which contains a certain number of switches and connected servers. Specifically, each pod contains K switches, of which the aggregation layer and access layer each account for K / 2 switches. Each access layer switch can connect to K / 2 servers. Therefore, each pod can connect K×(K / 4) If there are K such Pods, the entire Fat-Tree topology can accommodate K×K×(K / 4) servers.

[0149] like Figure 5 As shown in Figure 1, in a typical data center cluster based on a Fat-Tree topology, each server is equipped with a network interface card (NIC). These servers are placed in groups of p on racks and connected to M top-of-rack switches. The top-of-rack switches are further connected to a backbone switch group to interconnect different top-of-rack switches. Finally, the backbone switches are connected to the core switch, enabling arbitrary communication between all servers in the cluster.

[0150] Based on the Fat-Tree topology, an efficient and commonly used large model training strategy is to make full use of the bandwidth between servers directly connected to the top-of-rack switches. This strategy will give priority to executing parallel strategies with high bandwidth requirements between these servers directly connected to the top-of-rack switches. For example, context parallelism (CP). Therefore, under the Fat-Tree topology, there is usually a large amount of data traffic between servers directly connected to the top-of-rack switches. That is to say, in the Fat-Tree topology, for large model training tasks that require high bandwidth support, the main goal of the server deployment plan is to make full use of the high-bandwidth connection between the top-of-rack switch and the servers directly connected to it. Assuming that each top-of-rack switch is connected to p servers, then a reasonable server deployment strategy should be similar to the deployment plan based on the Rail-Optimized topology.

[0151] Specifically, the present application proposes a server deployment strategy that arranges servers with the same index under all top-of-rack switches on the same sub-line to form multiple parallel sub-line connections. In these sub-lines, the last server in each sub-line is connected to the last server in the next sub-line, and the first server in the next sub-line is connected to the first server in the next sub-line, and so on, forming an interlaced "zigzag" connection pattern, such as Figure 2 In this way, not only can efficient communication be maintained between servers under the top-of-rack switch, but traffic isolation can also be achieved between different sub-lines, thereby reducing the pressure on the entire network caused by cross-rack traffic.

[0152] The step division of the above various methods is only for the purpose of clear description. During implementation, they can be combined into one step or some steps can be split and decomposed into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this application; adding insignificant modifications or introducing insignificant designs to the algorithm or process without changing the core design of the algorithm and process are all within the scope of protection of this application.

[0153] It is understandable that as the computing power of intelligent computing chips continues to upgrade and the scale of large models continues to expand, communication has gradually become one of the bottlenecks in large model training tasks. Therefore, fully improving communication performance under existing network resources through collaborative design of software and hardware is of great significance to the development of the artificial intelligence industry.

[0154] This application is the first in the industry to propose a server deployment method that can simultaneously perceive the topology of both the HBD and DCN, and provides an implementation of the relevant system. Compared with related technologies, the technical solution provided by this application has at least the following beneficial effects:

[0155] Optimizing resource utilization: By considering both HBD and DCN topologies, hardware resources can be more effectively utilized and waste avoided. HBD-based topologies help identify uneven distribution of hardware resources, while DCN-based topologies provide optimized network connectivity solutions, achieving efficient resource utilization.

[0156] Improve system reliability: By comprehensively considering the HBD and DCN topologies, we optimize server deployment strategies to improve system reliability. For example, deploying servers in a DCN topology with redundant network connections can reduce the impact of network failures on system operations.

[0157] Reduced operating costs: This application helps businesses reduce operating costs by optimizing resource utilization and improving system reliability. More efficient resource utilization reduces hardware procurement and maintenance costs, while greater system reliability reduces troubleshooting time and system downtime, further reducing related costs.

[0158] Enhanced scalability: This application can help enterprises more easily expand their server infrastructure to meet growing demand. By comprehensively considering the topology of the HBD and DCN, this application can provide more flexible deployment and scheduling options to adapt to different workloads and traffic patterns.

[0159] Improved communication performance: This application improves server communication performance by optimizing resource utilization and network connectivity. More efficient resource utilization reduces resource contention and bottlenecks, while optimized network connectivity reduces latency and improves communication throughput.

[0160] In summary, it can be seen that the technology of this application is highly advanced and has great protection value.

[0161] In addition, some embodiments of the present application further provide an electronic device. The electronic device may be various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, etc. The electronic device may also be various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices.

[0162] The electronic device includes: one or more processors; and a memory storing computer program instructions, wherein the computer program instructions, when executed, enable the processor to perform the steps of the method provided in any one or more of the above embodiments. Figure 6 An exemplary structural diagram of the electronic device is disclosed. Figure 6As shown, the electronic device includes: one or more processors 1101, a memory 1102, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed in the electronic device, including instructions stored in or on the memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Among them, the components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or required herein.

[0163] The electronic device may further include: an input device 1103 and an output device 1104. The processor 1101, the memory 1102, the input device 1103 and the output device 1104 may be connected via a bus or other means. Figure 6 The bus connection is taken as an example.

[0164] The input device 1103 can receive input digital or character information and generate key signal input related to user settings and function control of the electronic device, such as a touch screen, a keypad, a mouse, a trackpad, a touch pad, an indicator stick, one or more mouse buttons, a trackball, a joystick, and other input devices. The output device 1104 may include a display device, an auxiliary lighting device (e.g., an LED), and a tactile feedback device (e.g., a vibration motor). The display device may include, but is not limited to, a liquid crystal display (LCD), a light emitting diode (LED) display, and a plasma display. In some embodiments, the display device may be a touch screen.

[0165] To provide interaction with a user, the electronic device may be a computer. The computer may include: a display device (e.g., a cathode ray tube (CRT) or an LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball), through which the user can provide input to the computer. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0166] In the embodiments of the present application, a computer program / instruction is stored on a computer-readable medium. When executed by a processor, the computer program / instruction implements the steps of the method provided in any one or more of the above embodiments. The computer-readable medium may be included in the electronic device described in the above embodiments, or it may exist independently and not be incorporated into the device. The computer-readable medium carries one or more computer-readable instructions.

[0167] The memory 1102 can be used as a non-transitory computer-readable storage medium to store non-transitory software programs, non-transitory computer executable programs, and modules. The processor 1101 executes the non-transitory software programs, instructions, and modules stored in the memory 1102 to execute various functional applications and data processing of the server, thereby implementing the program instructions / modules corresponding to the method provided in any one or more of the above embodiments of the present application.

[0168] The memory 1102 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and applications required for at least one function; the data storage area may store data created based on the use of the electronic device, etc. In addition, the memory 1102 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory 1102 may optionally include a memory remotely located relative to the processor 1101, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0169] It should be noted that the computer-readable medium described in this application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared or semiconductor system, device or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM, Erasable Programmable Read-Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM, Compact Disc Read-Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this application, a computer-readable medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device.

[0170] Computer-readable media include permanent and non-permanent, removable and non-removable media, and can be implemented by any method or technology to store information. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change random-access memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disc (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device.

[0171] Computer program code for performing the operations of the present application can be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a separate 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 can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0172] In the above-described embodiment, can realize wholly or in part by software, hardware, firmware or its arbitrary combination.For example, can adopt application-specific integrated circuit (ASIC, Application-Specific Integrated Circuit), general computer or any other similar hardware device to realize.In certain embodiments, the software program of the present application can be carried out to realize above steps or function by processor.Similarly, the software program of the present application (comprising relevant data structure) can be stored in computer readable recording medium, for example, RAM memory, magnetic or optical drive or floppy disk and similar device.In addition, some steps or functions of the present application can adopt hardware to realize, for example, as the circuit that cooperates with processor to perform each step or function.

[0173] The computer program product provided by the embodiment of the present application includes one or more computer programs / instructions, and when the computer program / instructions are executed by the processor, all or part of the process or function described in the embodiment of the present application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instruction can be stored in a computer-readable storage medium, or transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instruction can be transmitted from a website, a computer, a server or a data center by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL, Digital Subscriber Line)) or wireless (such as infrared, wireless, microwave, etc.) mode to another website, a computer, a server or a data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrations. The available medium can be a magnetic medium, (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid-state drive, SSD, solid state disk)) etc.

[0174] The flowcharts or block diagrams in the accompanying drawings illustrate the possible architectures, functions and operations of the devices, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of code, and the module, program segment or part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, as well as the combination of boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-specific system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0175] The scope of this application is defined by the appended claims rather than the foregoing description and is therefore intended to encompass within this application all changes that come within the meaning and range of equivalents of the claims. Any reference signs in the claims should not be construed as limiting the claims to which they relate. In addition, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in a device claim may also be implemented by one unit or device through software or hardware. Words such as "first" and "second" are only used to distinguish the description and do not indicate any particular order, nor should they be understood as indicating or implying relative importance.

[0176] The above descriptions are merely specific embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art may easily propose variations or substitutions within the technical scope disclosed in the present application, and such variations or substitutions shall be encompassed within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be subject to the scope of protection of the claims, and the above descriptions shall be regarded as exemplary and non-limiting.

Claims

1. A server deployment method based on a large model, characterized in that: The method comprises: Determine first number information of a server in a topology structure of a data center network DCN; Determine a parallel parameter according to the DCN topology; the parallel parameter is used to characterize parallel sub-lines, each sub-line corresponding to a group of servers; Determining second numbering information according to the first numbering information and the parallel parameter; the second numbering information is used to represent the sequence number of the server in the topology structure of the high-bandwidth domain HBD; Determining a deployment scheme for servers in a topological structure of the HBD based on the second numbering information; wherein, in the deployment scheme, the servers are arranged in sub-lines based on the second numbering information, with the last server in each sub-line connected to the last server in the next sub-line, and the first server in the next sub-line connected to the first server in the next sub-line, and so on, forming an interlaced "zigzag" connection pattern; The determining of the second numbering information based on the first numbering information and the parallel parameter includes: determining a first ordered set of servers deployed in the topology of the DCN based on the total number of servers in the topology of the DCN and the first numbering information; determining the length of each sub-line based on the first ordered set and the parallel parameter; wherein the length of the sub-line is used to represent the number of servers that each sub-line should include; and determining the second numbering information based on the length of the sub-line. Wherein, determining the second numbering information according to the length of the sub-line includes: determining a data range according to the parallel parameter; determining an index of each of the sub-lines according to the data range; determining a position index within a target sub-line according to the index of the sub-line and the length of the sub-line; the target sub-line is determined according to the index of the sub-line; determining a second ordered set for characterizing servers deployed in the topology structure of the HBD according to the index of the sub-line, the position index and the parallel parameter; and determining the second numbering information according to the second ordered set.

2. The method according to claim 1, characterized in that The DCN topology structure includes at least a Rail-Optimized-based topology structure or a Fat-Tree-based topology structure; The topology structure corresponding to the DCN is specifically a Rail-Optimized topology structure. Determining the parallelism parameter according to the DCN topology structure includes: obtaining the number of tracks of the Rail-Optimized topology structure and the number of intelligent computing chips in a single server; and determining the parallelism parameter according to the number of tracks and the number of intelligent computing chips in the single server. The topology structure corresponding to the DCN is specifically a Fat-Tree-based topology structure. According to the DCN topology structure, determining the parallel parameter includes: obtaining the number of servers under each layer of switches in the Rail-Optimized topology structure; and determining the parallel parameter according to the number of servers under each layer of switches.

3. The method according to claim 2, characterized in that The parallel parameter is determined according to the number of tracks and the number of intelligent computing chips in a single server, and is specifically implemented by the following formula: p=k / r; Wherein, k represents the number of tracks, r represents the number of intelligent computing chips in the single server, and p represents the parallel parameter.

4. The method according to claim 2, characterized in that The parallel parameter is determined according to the number of servers under each layer of switches, specifically by the following formula: p=a; Wherein, a represents the number of servers directly connected to each top-of-rack switch, and p represents the parallel parameter.

5. The method according to claim 1, wherein Determining the position index within the target sub-line according to the sub-line index and the sub-line length includes: determining the parity of the index of the sub-line; A position index within the target sub-line is determined according to the parity and the length of the sub-line.

6. The method according to claim 5, characterized in that Determining a position index within a target sub-line according to the parity and the length of the sub-line includes: If the index of the sub-line is an even number, the position index increases in sequence based on the length of the sub-line; If the index of the sub-line is an odd number, the position index increases in reverse order based on the length of the sub-line.

7. The method according to claim 1, characterized in that The determining, based on the subline index, the position index, and the parallel parameter, of a second ordered set for characterizing the servers deployed in the topology structure of the HBD is specifically implemented by the following formula: ; Among them, the Indicates the index of the sub-line, the Indicates the position index, the Represents the parallel parameter.

8. The method according to claim 1, characterized in that The determining, according to the second ordered set, the second numbering information includes: Determining, according to the second ordered set, an edge set for characterizing connection relationships between servers deployed in a topological structure of the HBD; The second numbering information is determined according to the second ordered set and the edge set.

9. The method according to claim 8, characterized in that Determining, based on the second ordered set, an edge set for characterizing connection relationships between servers deployed in the topology structure of the HBD includes: Obtain the number of servers directly connected to the server in a single direction in the HBD topology; determining a target server according to the second ordered set and the number of servers directly connected to the server in a single direction in a topology structure of the HBD; An edge set for characterizing connection relationships between servers deployed in a topology structure of an HBD is determined according to the second ordered set and the target server.

10. The method according to claim 9, characterized in that The determining, based on the second ordered set and the target server, of an edge set for characterizing connection relationships between servers deployed in the topology structure of the HBD is specifically implemented by the following formula: ; Among them, the Indicates the index of the sub-line, the Indicates the position index, the Represents the second ordered set, the Represents the second ordered set The server in Indicates the target server, the Indicates the number of servers directly connected to the server in a single direction in the HBD topology. Represents the edge set.

11. The method according to claim 1, wherein The determining, based on the second numbering information, a deployment scheme of the servers in the topology structure of the HBD includes: Determine a traffic pattern of the HBD topology; the traffic pattern is used to indicate that between the sub-lines, the last server in each sub-line is connected to the last server in the next sub-line, the first server in the next sub-line is connected to the first server in the next sub-line, and so on, forming an interlaced "zigzag" connection pattern; According to the zigzag connection mode and the second numbering information, a deployment scheme of the servers in the topology structure of the HBD is determined.

12. The method according to any one of claims 1 to 11, characterized in that After determining the deployment scheme of the servers in the topology structure of the HBD according to the second numbering information, the method further includes: The large model is trained using a preset training strategy; wherein the preset training strategy is: running data parallelism and tensor parallelism inside the sub-line, tensor parallelism running in the topology of the HBD, and data parallelism running in the topology of the DCN.

13. An electronic device, characterized in that: The electronic device comprises: one or more processors; and A memory storing computer program instructions, which, when executed, cause the processor to perform the steps of the method according to any one of claims 1 to 12.

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

15. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 12 are implemented.

Citation Information

Patent Citations

  • Efficient public opinion monitoring system based on LSTM-CNN

    CN112069379A

  • Hybrid arrangement method, device and equipment for cloud native heterogeneous services and medium

    CN116204322A