Server cluster, task execution method and related apparatus

By deploying switching devices in the server cluster, the backup servers are pooled, which solves the problem of resource waste caused by too many backup servers in the existing technology, and improves the utilization rate of server resources and the stability of the cluster.

WO2026157164A1PCT designated stage Publication Date: 2026-07-30HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2025-07-28
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

In large-scale server clusters, existing backup solutions lead to a waste of server resources, especially due to the idle and wasted resources caused by too many backup servers.

Method used

By deploying switching devices in the server cluster, backup servers are pooled. The signal switching function of the switching devices is used to connect the computing servers in all supernodes and multiple backup servers in the server resource pool. The communication links can be flexibly adjusted so that if any computing server fails, one of the multiple backup servers can be selected to take over and continue the task.

Benefits of technology

It enables the sharing of backup servers, reduces redundant backup server resources, improves server resource utilization, avoids resource idleness and waste, and ensures the stability and reliability of the server cluster.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025110847_30072026_PF_FP_ABST
    Figure CN2025110847_30072026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of clusters. Disclosed are a server cluster, a task execution method and a related apparatus. The server cluster comprises a management server, a plurality of super-nodes, a switching device and a server resource pool; each super-node comprises a plurality of computing servers; the management server is in communication connection with the plurality of super-nodes, the switching device and the server resource pool; the switching device is used for connecting the plurality of computing servers in each super-node, and the switching device is also used for connecting a plurality of backup servers in the server resource pool. In response to a failure of a first server in a first super-node when executing a first task, the management server controls the switching device to connect communication links between a second server and the remaining computing servers in the first super-node other than the first server, and sends to the second server task information of the first task, such that the second server executes the first task by means of communication with the remaining computing servers other than the first server.
Need to check novelty before this filing date? Find Prior Art

Description

Server clusters, task execution methods and related devices

[0001] This application claims priority to Chinese patent application filed on January 27, 2025, with application number 202510127744.8 and entitled "Server Cluster, Task Execution Method and Related Apparatus", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of cluster technology, and in particular to a server cluster, a task execution method, and related apparatus. Background Technology

[0003] With the advent of the big data era, solutions for managing data by building server clusters have gradually emerged in recent years, and the scale of server clusters continues to expand, evolving from server clusters with thousands or tens of thousands of cards to server clusters with hundreds of thousands of cards. In large-scale server clusters, multiple computing servers can be interconnected through a high-bandwidth network called a vertical scaling-up network to form a supernode, and multiple supernodes can be interconnected through a low-bandwidth network called a horizontal scaling-out network to form a server cluster.

[0004] To ensure the stability of large-scale server clusters, automated fault tolerance mechanisms are typically configured, which involves backing up the compute servers within the cluster so that backup servers can continue to provide services when a compute server fails. Currently, compute server backups can be performed at the supernode level or at the compute server level within each supernode.

[0005] However, the above-mentioned backup schemes, which use supernodes as the granularity or computing servers within each supernode, both suffer from the problem of wasted server resources due to the large number of backup servers. Summary of the Invention

[0006] This application provides a server cluster, a task execution method, and related apparatus to reduce the problem of wasted server resources due to a large number of backup servers.

[0007] To achieve the above objectives, this application provides the following technical solution:

[0008] In the first aspect, a server cluster is provided, including a management server, multiple supernodes, switching devices, and a server resource pool, wherein each supernode includes multiple computing servers, and the server resource pool is used to provide multiple backup servers.

[0009] The management server communicates with multiple supernodes, switching devices, and server resource pools. Based on these communication connections, the management server can communicate with these multiple supernodes, switching devices, and server resource pools. In this application, the management server is used to manage the computing servers within the multiple supernodes, the switching devices, and multiple backup servers within the server resource pools.

[0010] The switching device is used to connect multiple compute servers within each supernode. That is, the switching device connects compute servers within all supernodes. The switching device also connects multiple backup servers within the server resource pool. In this application, the switching device provides signal switching functionality, such as port-switching-based signal switching. Exemplarily, the switching device can be an optical switch. It is understood that, based on the signal switching function of the switching device, a communication link can be established between any supernode and any backup server to support mutual communication between compute servers and backup servers within a supernode.

[0011] The management server is used to: respond to a failure of the first server in the first supernode while executing the first task, control the switching device to connect the communication link between the second server and the other computing servers in the first supernode excluding the first server, and send the task information of the first task to the second server.

[0012] In this system, the first supernode can be any one of multiple supernodes, and the first server can be any one of the multiple compute servers connected to the switching device within the first supernode. The second server is one of the multiple backup servers. This means that if any compute server within any supernode in the server cluster fails, a backup server from the multiple backup servers in the server cluster can be selected as the second server to replace the first server and continue executing the first task.

[0013] The switching device is used to establish communication links between the second server and all other computing servers within the first supernode, excluding the first server. Thus, based on the signal switching function of the switching device, a communication link can be established between the second server and all other computing servers within the first supernode, enabling the second server to communicate with multiple other computing servers within the first supernode via this link.

[0014] The second server is used to: receive task information from the management server for the first task, and execute the first task based on the task information.

[0015] The first task can be a data synchronization task, such as a data synchronization task between multiple computing servers within a supernode. It is understood that the data synchronization task requires communication between the multiple computing servers within the supernode. In this application, a communication link is established between the second server and the other computing servers within the first supernode (excluding the first server) through a switching device, so that the second server can communicate with the other computing servers within the first supernode (excluding the first server) through this communication link, thereby performing the data synchronization task.

[0016] In the aforementioned server cluster, by deploying switching devices, these devices connect not only to the compute servers within all supernodes but also to multiple backup servers within the server resource pool. Therefore, if any compute server within any supernode fails, a backup server from the server resource pool can be selected as the second server to replace the first server and continue executing the first task. This achieves a backup server pooling effect, allowing multiple compute servers within different supernodes to share the server resources of multiple backup servers. This ensures the stability and reliability of the server cluster while reducing the required redundant backup server resources and improving server resource utilization, thereby avoiding server resource idleness and waste.

[0017] In some possible implementations, each supernode also includes multiple switches, each switch being used to connect multiple compute servers within the corresponding supernode. Understandably, communication between multiple compute servers within a supernode can be achieved based on the switches within the supernode.

[0018] The switching equipment is specifically used to connect multiple compute servers within each supernode through multiple switches within each supernode. In other words, the multiple switches within each supernode act as intermediary devices, connecting not only to the multiple compute servers within each supernode but also to the switching equipment.

[0019] The management server is specifically used to send switching commands to the switching devices. These switching commands are used to indicate the communication links between the second server and multiple switches within the first supernode.

[0020] The switching equipment is specifically used to: receive switching instructions from the management server, and based on the switching instructions, connect the communication links between the second server and multiple switches within the first supernode.

[0021] In the above implementation, the multiple backup servers in the server resource pool are other computing servers identical to the computing servers, that is, additional computing servers deployed besides the computing servers included in the multiple supernodes. Thus, by utilizing the signal switching function of the switching equipment, flexible adjustments to the communication links can be achieved, thereby pooling the backup servers and allowing computing servers within multiple supernodes to share the server resources of multiple backup servers.

[0022] In some possible implementations, the switch includes compute ports and backup ports. The compute ports are used to connect multiple compute servers, and the backup ports are used to connect switching devices. The compute ports and backup ports can be hardware ports.

[0023] In some possible implementations, the switching equipment includes a first switching equipment and a second switching equipment.

[0024] One supernode corresponds to a group of first switching devices, such as deploying a group of first switching devices within a supernode.

[0025] Each supernode also includes multiple switches. The first switch connects multiple compute servers and multiple switches within the corresponding supernode, and also connects to the second switch. That is, the first switch connects not only to the multiple compute servers and multiple switches within the corresponding supernode, but also to the second switch. Understandably, the first switch is deployed within the supernode to facilitate the connection between the compute servers and switches.

[0026] The second switching device is used to connect to the first switching device corresponding to each supernode. The second switching device also connects to multiple backup servers. In other words, the second switching device connects not only to the first switching device corresponding to each supernode, but also to multiple backup servers. It can be understood that by deploying the second switching device, the connection between the backup servers and the first switching device can be established.

[0027] Management server, specifically used for:

[0028] A first switching command is sent to the first switching device corresponding to the first supernode. This first switching command instructs the disconnection of the communication link between the first server and multiple switches within the first supernode, and the establishment of the first communication link between the second switching device and the multiple switches within the first supernode. Under normal operating conditions, the communication link between the first server and the multiple switches within the first supernode is established, while the first communication link between the second switching device and the multiple switches within the first supernode is disconnected.

[0029] A second switching command is sent to the second switching device. This second switching command instructs the establishment of a second communication link between the second server and the first switching device. It is understood that, under normal operating conditions, the second communication link between the second server and the first switching device is disconnected.

[0030] In this way, by utilizing the signal switching function of the switching equipment, the communication link can be flexibly adjusted, thereby achieving backup protection for faulty servers.

[0031] The first switching device corresponding to the first supernode is used to: receive a first switching instruction from the management server; based on the first switching instruction, disconnect the communication link between the first server and multiple switches within the first supernode, and connect the first communication link between the second switching device and multiple switches within the first supernode.

[0032] The second switching device is used to: receive a second switching instruction from the management server, and based on the second switching instruction, establish a second communication link between the second server and the first switching device.

[0033] In the above implementation, the multiple backup servers in the server resource pool are other computing servers identical to the computing servers, that is, additional computing servers deployed besides the computing servers included in the multiple supernodes. Thus, through the first switching device corresponding to the first supernode, a first communication link is established between the second switching device and the multiple switches within the first supernode, and through the second switching device, a second communication link is established between the second server and the first switching device. This ensures that the communication link from the second server to the multiple computing servers within the first supernode via the second switching device, the first switching device, and the multiple switches within the first supernode is connected, allowing the second server to communicate with the multiple computing servers within the first supernode via the first and second communication links, thereby executing the first task.

[0034] In some possible implementations, the first switching device includes a computing port and a backup port, the computing port being used to connect multiple computing servers, and the backup port being used to connect a second switching device. The computing port and backup port can be hardware ports.

[0035] In some possible implementations, there are multiple sets of switching devices, which are interconnected. This means that by establishing physical connections between the various supernodes, communication between different supernodes can be achieved.

[0036] One set of switching devices is used to connect compute servers belonging to the same group within different supernodes to multiple switches within different supernodes. The identifier can be a number, serial number, identification number, or device type identifier, etc.

[0037] Multiple backup servers include compute servers identified as belonging to the same group within different supernodes. It can be understood that compute servers identified as belonging to the same group within different supernodes serve as backups for each other. For example, the multiple backup servers corresponding to the first server are the other servers belonging to the same group as the first server.

[0038] Management server, specifically used for:

[0039] A switching instruction is sent to the switching devices within the switching device group corresponding to the first server. This switching instruction instructs the disconnection of the communication link between the first server and multiple switches within the first supernode, and the establishment of a third communication link between the second server and multiple switches within the first supernode. For example, the switching device group corresponding to the first server can be determined based on the identifier of the first server, such as the computing server numbered 1 corresponding to switching device group 1.

[0040] The switching devices in the switching device group corresponding to the first server are used to: receive switching instructions from the management server; based on the switching instructions, disconnect the communication link between the first server and multiple switches in the first supernode, and connect the third communication link between the second server and multiple switches in the first supernode. The second server is one of the other computing servers in the same group as the first server.

[0041] In the above implementation, a third communication link is established between the second server and multiple switches within the first supernode via the switching devices in the switching device group corresponding to the first server. This ensures that the communication link between the second server and the multiple computing servers within the first supernode is connected via the switching devices in this switching device group and the multiple switches within the first supernode. This allows the second server to communicate with the multiple computing servers within the first supernode through the third communication link, thereby executing the first task. Furthermore, since the computing servers in different supernodes that belong to the same group serve as backups for each other, there is no need to deploy additional computing servers. This significantly reduces the required redundant backup server resources while ensuring the stability and reliability of the server cluster, avoiding idle and wasted server resources.

[0042] In some possible implementations, the compute servers associated with the identifiers within different supernodes form a group.

[0043] Among them, the association of identifiers can be that the identifiers are the same or the identifiers are similar.

[0044] For example, taking the identification as a number and the identification association as the same identifier, computing servers with the same number within different supernodes can form a group. For instance, computing servers with number 1 form a group, computing servers with number 2 form a group, and so on. Accordingly, switch group 1 can be connected to computing server with number 1, and switch group 2 can be connected to computing server with number 2. Similarly, computing servers with number 1 and number 2 form a group, computing servers with number 3 and number 4 form a group, and so on. Accordingly, switch group 1 can be connected to computing servers with number 1 and number 2, and switch group 2 can be connected to computing servers with number 3 and number 4.

[0045] For example, taking device type identifiers as an example and identifier association as an example, computing servers with similar device types within different supernodes can form a group. For example, computing servers of image and video processing type form a group, computing servers of natural language processing type form a group, and so on. Accordingly, switching device group 1 can be connected to computing servers of image and video processing type, and switching device group 2 can be connected to computing servers of natural language processing type. It is worth noting that the device type here can be based on the hardware structure of the device, or based on the business application of the device, or other classification methods, which are not limited in this application.

[0046] In some possible implementations, the server cluster also includes a switch resource pool, which provides multiple backup switches.

[0047] Each group of switching equipment consists of multiple switching devices, which are interconnected. This means that by establishing physical connections between the various switching devices, communication between them can be achieved.

[0048] One of the switching devices is used to connect compute servers with identifiers belonging to the same group within different supernodes to switches with identifiers belonging to the same group within different supernodes. The identifier can be a number, serial number, identity number, or switch type identifier, etc.

[0049] Multiple backup switches include switches identified as belonging to the same group within different supernodes. It is understood that switches identified as belonging to the same group within different supernodes serve as backups for each other. For example, the multiple backup switches corresponding to the first switch are the other switches belonging to the same group as the first switch.

[0050] The management server is also used for:

[0051] In response to a failure of the first switch within the first supernode while executing the second task, a switchover command is sent to the corresponding switching device of the first switch. The task information for the second task is also sent to the second switch.

[0052] The first switch is any one of the multiple switches within the first supernode. For example, the switching device corresponding to the first switch can be determined based on the identifier of the first switch, such as switch number 1 corresponding to switching device 1.

[0053] The switching command instructs the disconnection of the communication link between the first switch and multiple compute servers within the first supernode, and the establishment of a fourth communication link between the second switch and multiple compute servers within the first supernode. The second switch is one of the remaining switches belonging to the same group as the first switch. This means that if any switch within any supernode in the server cluster fails, a backup switch from the multiple backup switches in the server cluster (i.e., the remaining switches in the same group) can be selected as the second switch to replace the first switch and continue performing the second task.

[0054] The switching equipment corresponding to the first switch is used to: receive switching instructions from the management server; based on the switching instructions, disconnect the communication link between the first switch and multiple computing servers within the first supernode, and connect the fourth communication link between the second switch and multiple computing servers within the first supernode. In this way, the communication link between the second switch and the first supernode can be established, enabling communication between the second switch and the multiple computing servers within the first supernode.

[0055] The second switch is used to: receive task information for the second task from the management server; and execute the second task based on the task information.

[0056] The above embodiments provide a backup protection scheme for switches. Furthermore, without requiring the deployment of additional new switches, it significantly reduces the required redundant backup switch resources while ensuring the stability and reliability of the server cluster, thus avoiding idle and wasted switch resources.

[0057] In some possible implementations, switches associated with identifiers within different supernodes form a group.

[0058] Among them, the association of identifiers can be that the identifiers are the same or the identifiers are similar.

[0059] For example, taking the identification as a number and the identification association as the same identification, switches with the same number within different supernodes can form a group. For example, switches numbered 1 form a group, switches numbered 2 form a group, and so on. Accordingly, switch device 1 can be connected to switch numbered 1, and switch device 2 can be connected to switch numbered 2. Similarly, switches numbered 1 and 2 form a group, switches numbered 3 and 4 form a group, and so on. Accordingly, switch device 1 can be connected to switches numbered 1 and 2, and switch device 2 can be connected to switches numbered 3 and 4.

[0060] For example, taking the identifier as a switch type identifier and the identifier association as an identifier similarity identifier, switches with similar switch types within different supernodes can form a group. For example, electrical switches form a group, optical switches form a group, etc. Accordingly, switching device 1 can be connected to an electrical switch, and switching device 2 can be connected to an optical switch. It is worth noting that the switch type here can be based on the switch's hardware structure, the switch's communication method, or other classification methods; this application does not limit this.

[0061] In some possible implementations, the management server is also used to: determine, from multiple backup servers, a backup server that meets preset conditions as a second server.

[0062] The preset conditions include at least one of the following: being in an idle state, being in a healthy state, having a load value less than the load threshold, and having a memory capacity greater than the capacity threshold.

[0063] In the above implementation, by setting preset conditions, a backup server in a better state can be selected from multiple backup servers, such as a backup server in an idle state, a backup server in a healthy state, a backup server with a low load, or a backup server with a large amount of memory, to serve as the second server, thereby ensuring the smooth execution of the first task.

[0064] In some possible implementations, the switching device is an optical cross-connect (OXC) device or an optical path switching (OCS) device.

[0065] In the above implementation, by deploying switching devices within the server cluster, the signal switching function of the switching devices can be used to flexibly adjust the communication links, thereby achieving the pooling of backup servers, allowing computing servers within multiple supernodes to share the server resources of multiple backup servers.

[0066] Secondly, a task execution method is provided. This method can be executed by the management server in the server cluster, or by a component of the management server, such as the processor, chip, or chip system of the management server, or by a logic module or software that can implement all or part of the functions of the management server.

[0067] The method includes:

[0068] In response to a failure of the first server within the first supernode in the server cluster while performing the first task, the management server controls the switching device to connect the communication link between the second server and the other computing servers within the first supernode, excluding the first server.

[0069] The first supernode is any one of the multiple supernodes in the server cluster, and the first server is any one of the multiple computing servers connected to the switching device within the first supernode.

[0070] The switching equipment is used to connect multiple compute servers within each supernode, and also to connect multiple backup servers within the server resource pool. The second server is one of the multiple backup servers.

[0071] Furthermore, the management server sends the task information for the first task to the second server. This task information is used by the second server to execute the first task.

[0072] In the above technical solution, by deploying switching devices in the server cluster, these devices connect not only to the compute servers within all supernodes but also to multiple backup servers within the server resource pool. Therefore, if any compute server within any supernode in the server cluster fails, a backup server from the server resource pool can be selected as the second server to replace the first server and continue executing the first task. This achieves a pooling effect of backup servers, allowing multiple compute servers within different supernodes to share the server resources of multiple backup servers. This reduces the required redundant backup server resources while ensuring the stability and reliability of the server cluster, and improves the utilization rate of server resources, thereby avoiding idle and wasted server resources.

[0073] In some possible implementations, the backup servers are other computing servers identical to the compute server. The control switching device connects the communication links between the second server and the remaining computing servers within the first supernode (excluding the first server), including:

[0074] A switching command is sent to the switching equipment. This switching command indicates the communication link connecting the second server and multiple switches within the first supernode. In this embodiment, the communication link supports communication between the second server and the other computing servers within the first supernode (excluding the first server) via multiple switches within the first supernode.

[0075] In the above implementation, by utilizing the signal switching function of the switching equipment, the communication link can be flexibly adjusted, thereby realizing the pooling of backup servers, allowing computing servers within multiple supernodes to share the server resources of multiple backup servers.

[0076] In some possible implementations, the backup servers are other computing servers identical to the compute server. The control switching device connects the communication links between the second server and the remaining computing servers within the first supernode (excluding the first server), including:

[0077] A first switching instruction is sent to the first switching device corresponding to the first supernode. The first switching instruction is used to instruct the disconnection of the communication link between the first server and multiple switches in the first supernode, and to connect the first communication link between the second switching device and multiple switches in the first supernode.

[0078] A second switching instruction is sent to the second switching device. The second switching instruction is used to indicate the connection of a second communication link between the second server and the first switching device.

[0079] Among them, the first communication link and the second communication link enable the second server to communicate with the other computing servers in the first supernode, excluding the first server, via the second switching device, the first switching device, and multiple switches in the first supernode.

[0080] In the above embodiment, a first communication link is established between the second switching device and multiple switches within the first supernode via the first switching device corresponding to the first supernode, and a second communication link is established between the second server and the first switching device via the second switching device. This ensures that the communication links from the second server to the other computing servers within the first supernode (excluding the first server) via the second switching device, the first switching device, and the multiple switches within the first supernode are connected. This allows the second server to communicate with the other computing servers within the first supernode (excluding the first server) via the first and second communication links, thereby executing the first task.

[0081] In some possible implementations, the multiple backup servers include computing servers identified as belonging to the same group within different supernodes. Accordingly, the control switching device connects the communication links between the second server and the remaining computing servers within the first supernode (excluding the first server), including:

[0082] A switching command is sent to the switching devices within the switching device group corresponding to the first server. This switching command instructs the disconnection of the communication link between the first server and multiple switches within the first supernode, and the establishment of a third communication link between the second server and multiple switches within the first supernode. The second server is one of the remaining computing servers belonging to the same group as the first server.

[0083] The third communication link enables the second server to communicate with the other computing servers in the first supernode, excluding the first server, via the switching equipment in the switching equipment group and multiple switches in the first supernode.

[0084] In the above embodiment, a third communication link is established between the second server and multiple switches within the first supernode via the switching devices in the switching device group corresponding to the first server. This ensures that the communication links from the second server to the other computing servers within the first supernode (excluding the first server) are connected through the switching devices in this switching device group and the multiple switches within the first supernode. This allows the second server to communicate with the other computing servers within the first supernode via the third communication link, thereby executing the first task. Furthermore, since computing servers in different supernodes that belong to the same group serve as backups for each other, there is no need to deploy additional computing servers. This significantly reduces the required redundant backup server resources while ensuring the stability and reliability of the server cluster, avoiding idle and wasted server resources.

[0085] In some possible implementations, the compute servers associated with the identifiers within different supernodes form a group.

[0086] In some possible implementations, the server cluster also includes a switch resource pool, which provides multiple backup switches, including switches belonging to the same group within different supernodes. Accordingly, the method further includes:

[0087] In response to a failure of the first switch within the first supernode while performing the second task, a switching command is sent to the switching device corresponding to the first switch.

[0088] The switching command is used to instruct the disconnection of the communication link between the first switch and multiple computing servers within the first supernode, and to establish a fourth communication link between the second switch and multiple computing servers within the first supernode. The second switch is one of the remaining switches belonging to the same group as the first switch. The fourth communication link enables the second switch to communicate with multiple computing servers within the first supernode via the switching equipment.

[0089] Send the task information for the second task to the second switch. The task information is used by the second switch to execute the second task.

[0090] The above embodiments provide a backup protection scheme for switches. Furthermore, without requiring the deployment of additional new switches, it significantly reduces the required redundant backup switch resources while ensuring the stability and reliability of the server cluster, thus avoiding idle and wasted switch resources.

[0091] In some possible implementations, switches associated with identifiers within different supernodes form a group.

[0092] In some possible implementations, before controlling the switching device to connect the communication link between the second server and the other computing servers in the first supernode besides the first server, the method further includes: determining, from multiple backup servers, a backup server that meets preset conditions as the second server.

[0093] The preset conditions include at least one of the following: being in an idle state, being in a healthy state, having a load value less than the load threshold, and having a memory capacity greater than the capacity threshold.

[0094] In the above implementation, by setting preset conditions, a backup server in a better state can be selected from multiple backup servers, such as a backup server in an idle state, a backup server in a healthy state, a backup server with a low load, or a backup server with a large amount of memory, to serve as the second server, thereby ensuring the smooth execution of the first task.

[0095] In some possible implementations, the switching device is an optical cross-connect (OXC) device or an optical path switching (OCS) device.

[0096] Thirdly, a task execution method is provided, which can be executed by a switching device in a server cluster, or by a component of the switching device, such as the signal processor of the switching device, or by a logic module or software that can implement all or part of the functions of the switching device.

[0097] The switching equipment is used to connect multiple compute servers within each supernode of the server cluster. It is also used to connect multiple backup servers within the server resource pool of the server cluster.

[0098] The method includes:

[0099] In the event of a failure of the first server within the first supernode in the server cluster, the communication link between the second server and the remaining computing servers within the first supernode, excluding the first server, is established.

[0100] In this cluster, the first supernode is any one of multiple supernodes. The first server is any one of the multiple compute servers connected to the switching device within the first supernode. The second server is one of the multiple backup servers.

[0101] In the above technical solution, by deploying switching devices in the server cluster, these devices connect not only to the compute servers within all supernodes but also to multiple backup servers within the server resource pool. Therefore, if any compute server within any supernode in the server cluster fails, a backup server from the server resource pool can be selected as the second server to replace the first server and continue executing the first task. This achieves a pooling effect of backup servers, allowing multiple compute servers within different supernodes to share the server resources of multiple backup servers. This reduces the required redundant backup server resources while ensuring the stability and reliability of the server cluster, and improves the utilization rate of server resources, thereby avoiding idle and wasted server resources.

[0102] In some possible implementations, the backup servers are other computing servers identical to the compute server. The communication link connecting the second server to the remaining computing servers within the first supernode (excluding the first server) includes:

[0103] Receives a switchover command from the management server in the server cluster. Based on the switchover command, establishes communication links between the second server and multiple switches within the first supernode.

[0104] The communication link allows the second server to communicate with other computing servers within the first supernode, excluding the first server, via multiple switches within the first supernode.

[0105] In the above implementation, by utilizing the signal switching function of the switching equipment, the communication link can be flexibly adjusted, thereby realizing the pooling of backup servers, allowing computing servers within multiple supernodes to share the server resources of multiple backup servers.

[0106] In some possible implementations, the multiple backup servers are other computing servers that are the same as the computing servers. The switching equipment includes a first switching device and a second switching device.

[0107] The communication link connecting the second server with the other computing servers within the first supernode (excluding the first server) includes:

[0108] The first switching device corresponding to the first supernode receives a first switching instruction from the management server in the server cluster. Based on the first switching instruction, the communication link between the first server and multiple switches within the first supernode is disconnected, and the first communication link between the second switching device and multiple switches within the first supernode is established.

[0109] Furthermore, the second switching device receives a second switching instruction from the management server in the server cluster. Based on the second switching instruction, a second communication link is established between the second server and the first switching device.

[0110] The first communication link and the second communication link enable the second server to communicate with other computing servers in the first supernode, excluding the first server, via the second switching device, the first switching device, and multiple switches within the first supernode.

[0111] In the above embodiment, a first communication link is established between the second switching device and multiple switches within the first supernode via the first switching device corresponding to the first supernode, and a second communication link is established between the second server and the first switching device via the second switching device. This ensures that the communication links from the second server to the other computing servers within the first supernode (excluding the first server) via the second switching device, the first switching device, and the multiple switches within the first supernode are connected. This allows the second server to communicate with the other computing servers within the first supernode (excluding the first server) via the first and second communication links, thereby executing the first task.

[0112] In some possible implementations, the multiple backup servers include compute servers identified as belonging to the same group within different supernodes. The communication link connecting the second server to the remaining compute servers within the first supernode (excluding the first server) includes:

[0113] The first server receives a switching command from the management server in the server cluster via the switching device within its corresponding switching device group. Based on the switching command, the communication link between the first server and multiple switches within the first supernode is disconnected, and a third communication link is established between the second server and multiple switches within the first supernode. The second server is one of the remaining computing servers belonging to the same group as the first server.

[0114] The third communication link enables the second server to communicate with the other computing servers in the first supernode, excluding the first server, via the switching equipment in the switching equipment group and multiple switches in the first supernode.

[0115] In the above embodiment, a third communication link is established between the second server and multiple switches within the first supernode via the switching devices in the switching device group corresponding to the first server. This ensures that the communication links from the second server to the other computing servers within the first supernode (excluding the first server) are connected through the switching devices in this switching device group and the multiple switches within the first supernode. This allows the second server to communicate with the other computing servers within the first supernode via the third communication link, thereby executing the first task. Furthermore, since computing servers in different supernodes that belong to the same group serve as backups for each other, there is no need to deploy additional computing servers. This significantly reduces the required redundant backup server resources while ensuring the stability and reliability of the server cluster, avoiding idle and wasted server resources.

[0116] In some possible implementations, the server cluster also includes a switch resource pool, which provides multiple backup switches, including switches belonging to the same group within different supernodes. The method further includes:

[0117] In the event of a failure of the first switch within the first supernode, a switchover command is received from the management server in the server cluster via the corresponding switching device. Based on the switchover command, the communication links between the first switch and multiple computing servers within the first supernode are disconnected, and a fourth communication link is established between the second switch and multiple computing servers within the first supernode. The second switch is one of the remaining switches belonging to the same group as the first switch.

[0118] The fourth communication link enables the second switch to communicate with multiple computing servers within the first supernode via the switching equipment.

[0119] The above embodiments provide a backup protection scheme for switches. Furthermore, without requiring the deployment of additional new switches, it significantly reduces the required redundant backup switch resources while ensuring the stability and reliability of the server cluster, thus avoiding idle and wasted switch resources.

[0120] In some possible implementations, the switching device is an optical cross-connect (OXC) device or an optical path switching (OCS) device.

[0121] Fourthly, a task execution apparatus is provided for implementing any of the methods provided in the second aspect above. The task execution apparatus includes modules, units, or means corresponding to the above methods. The actions performed by these modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above functions.

[0122] In one possible implementation, the device may include a control module and a transmission module; wherein:

[0123] The control module is used to respond to a failure of the first server in the first supernode of the server cluster while executing the first task, and to control the communication link between the second server and the other computing servers in the first supernode besides the first server. The first supernode is any one of multiple supernodes in the server cluster, and the first server is any one of the multiple computing servers in the first supernode connected to the switching device. The switching device is used to connect multiple computing servers in each supernode, and the switching device is also used to connect multiple backup servers. The second server is one of the multiple backup servers.

[0124] The sending module is used to send the task information of the first task to the second server. The task information is used by the second server to execute the first task.

[0125] Fifthly, a task execution apparatus is provided for implementing any of the methods provided in the third aspect above. The task execution apparatus includes modules, units, or means corresponding to the aforementioned methods. The actions performed by these modules, units, or means can be implemented in hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the aforementioned functions.

[0126] In one possible implementation, the device may include a connectivity module; wherein:

[0127] The connectivity module is used to establish communication links between the second server and the other computing servers within the first supernode of the server cluster, excluding the first server, in the event of a failure of the first server within the first supernode. The first supernode can be any one of the multiple supernodes in the server cluster, the first server can be any one of the multiple computing servers within the first supernode that are connected to the switching device, and the second server can be one of the multiple backup servers.

[0128] In a sixth aspect, a server is provided, comprising: a memory and a processor, the memory and the processor being connected; the memory being used to store computer-executable instructions; and the processor being used to invoke the computer-executable instructions, thereby implementing the method of the second aspect above or any implementation thereof.

[0129] The server in the sixth aspect can be: a management server in any implementation of the second aspect, or a device containing the management server, or a device contained in the management server, such as a chip.

[0130] In a seventh aspect, a switching device is provided, including a signal processor, which is used to implement the method of the third aspect above or any implementation thereof.

[0131] The switching device in the seventh aspect can be: the switching device in any implementation of the third aspect, or an apparatus containing the switching device, or an apparatus contained in the switching device, such as a chip.

[0132] Eighthly, a chip is provided, comprising: a processor and an interface circuit; the interface circuit for receiving computer execution instructions and transmitting them to the processor; and the processor for executing the computer execution instructions to perform the method of the second aspect above or any implementation thereof.

[0133] A ninth aspect provides a computer-readable storage medium including computer-executable instructions that, when executed on a server (such as a management server), cause the server (such as a management server) to perform the method described in the second aspect or any implementation thereof.

[0134] In a tenth aspect, a computer program product is provided, comprising computer execution instructions that, when executed on a server (such as a management server), cause the server (such as a management server) to perform the method described in the second aspect or any implementation thereof.

[0135] The technical effects of any of the implementation methods in aspects four through ten can be found in the technical effects of the corresponding implementation methods in aspects one or two, and will not be repeated here.

[0136] All possible implementations of any of the above aspects can be combined, provided that the solutions do not contradict each other. Attached Figure Description

[0137] Figure 1 is a schematic diagram of the architecture of a backup scheme provided by related technology 1;

[0138] Figure 2 is a schematic diagram of the architecture of a backup scheme provided by related technology 2;

[0139] Figure 3 is a schematic diagram of the architecture of a backup scheme provided by related technology 3;

[0140] Figure 4 is a schematic diagram of a server cluster system architecture provided in an embodiment of this application;

[0141] Figure 5 is a schematic diagram of the port connection of an OXC device provided in an embodiment of this application;

[0142] Figure 6 is a schematic diagram of the hardware structure of a server provided in an embodiment of this application;

[0143] Figure 7 is a flowchart illustrating a task execution method provided in an embodiment of this application;

[0144] Figure 8 is a schematic diagram of a server backup architecture provided in an embodiment of this application;

[0145] Figure 9 is an exemplary schematic diagram of a server backup architecture provided in an embodiment of this application;

[0146] Figure 10 is a schematic diagram of a second server backup architecture provided in an embodiment of this application;

[0147] Figure 11 is a flowchart illustrating a task execution method based on server backup architecture two provided in an embodiment of this application;

[0148] Figure 12 is an exemplary schematic diagram of a second server backup architecture provided in an embodiment of this application;

[0149] Figure 13 is a schematic diagram of a server backup architecture three provided in an embodiment of this application;

[0150] Figure 14 is a flowchart illustrating a task execution method based on server backup architecture three provided in an embodiment of this application;

[0151] Figure 15 is a flowchart illustrating another task execution method based on server backup architecture three provided in an embodiment of this application;

[0152] Figure 16 is an exemplary schematic diagram of a server backup architecture three provided in an embodiment of this application;

[0153] Figure 17 is a schematic diagram of a task execution device provided in an embodiment of this application;

[0154] Figure 18 is a schematic diagram of another task execution device provided in an embodiment of this application. Detailed Implementation

[0155] In the description of this application, unless otherwise stated, "multiple" means two or more. At least one of the following or similar expressions refer to any combination of these terms, including any combination of single or plural terms. For example, at least one of a, b, and / or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0156] Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.

[0157] In the embodiments of this application, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner to facilitate understanding.

[0158] It is understood that the term "embodiment" used throughout the specification means that a specific feature, structure, or characteristic related to an embodiment is included in at least one embodiment of this application. Therefore, throughout the specification, various embodiments do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It is understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0159] It is understood that some optional features in the embodiments of this application can be implemented independently in certain scenarios without relying on other features, such as the current solution on which they are based, to solve the corresponding technical problems and achieve the corresponding effects. Alternatively, they can be combined with other features as needed in certain scenarios. Correspondingly, the apparatus given in the embodiments of this application can also implement these features or functions, which will not be elaborated here.

[0160] In this application, unless otherwise specified, the same or similar parts between the various embodiments can be referred to each other. In the various embodiments of this application, unless otherwise specified or logically conflicting, the terminology and / or descriptions between different embodiments are consistent and can be mutually referenced. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships. The following embodiments of this application do not constitute a limitation on the scope of protection of this application.

[0161] The following provides an exemplary description of the application scenarios of the embodiments of this application.

[0162] With the advent of the big data era, in recent years, solutions for building server clusters to manage data have gradually emerged, and the scale of server clusters continues to expand, such as from server clusters with thousands or tens of thousands of cards to server clusters with hundreds of thousands of cards.

[0163] Among them, kilocal, ten-thousand-card, and hundred-thousand-card are usually used to describe the number of accelerator cards (or computing cards) in a server cluster, such as the number of graphics processing unit (GPU) cards, tensor processing unit (TPU) cards, neural network processing unit (NPU) cards, and other accelerator cards.

[0164] For example, a server cluster can be a server cluster within an intelligent computing data center (also known as an intelligent computing center), i.e., an intelligent computing cluster. An intelligent computing data center is a data center primarily focused on computational tasks for artificial intelligence (AI) applications. Intelligent computing clusters are deployed within intelligent computing data centers to provide high-performance computing support for computational tasks such as the development, training, and inference of AI deep learning models for AI applications.

[0165] With the popularity of transformer-based models deployed in chat-generative pre-trained transformer (Chat GPT) tools, artificial intelligence is gradually entering the era of large models, such as large language models (LLM). The rapid development of large language models has driven the application of artificial intelligence across various industries. Chat GPT, in particular, is an advanced artificial intelligence tool that uses deep learning models to process natural language.

[0166] Because large models follow the scaling law, their performance increases linearly with their size, and the number of model parameters grows from hundreds of billions to trillions. Simultaneously, as the computational demands of large models increase exponentially, AI computing deployment has shifted from single-machine deployments to clusters, and these clusters continue to expand, such as intelligent computing clusters with 100,000 GPUs. The scaling law states that model performance (such as accuracy and loss) changes with model size (e.g., number of parameters), data volume, and computational resources (e.g., computation time, GPU memory).

[0167] In a server cluster, the compute server is the basic building block. A single compute server may contain multiple accelerator cards (e.g., 8 cards). Multiple compute servers can be interconnected via a high-bandwidth network (scale-up) to form a supernode, and multiple supernodes can be interconnected via a low-bandwidth network (scale-out) to form a server cluster. It's important to understand that a node is a logical concept. For example, a compute server can join a server cluster as a node; multiple compute servers can form a node within a server cluster; and multiple nodes can share the resources of the same physical server, thus joining the server cluster.

[0168] Large-scale models require high computing power, which in turn requires large clusters. However, large clusters present challenges such as high failure rates and low cluster availability. For example, compared to a cluster with 10,000 GPUs, a cluster with 100,000 GPUs will experience a rapidly increasing failure rate for computing tasks, assuming the equipment failure rate remains constant. This poses a significant challenge to the stability of computing tasks. Therefore, to ensure the efficient and stable completion of computing tasks in server clusters with over 10,000 GPUs, large-scale server clusters are typically equipped with automated fault tolerance mechanisms. For instance, servers are redundantly backed up according to a certain ratio. If a computing server fails, the relevant data of the computing tasks on that server is imported into the backup server for continued execution.

[0169] The following section introduces backup solutions for computing servers in related technologies.

[0170] Related technology 1: Backup at the supernode level.

[0171] For example, Figure 1 is a schematic diagram of the architecture of a backup scheme provided by a related technology. Referring to Figure 1, in the server cluster shown in Figure 1, the backup of supernodes is performed at the supernode level, as shown in the backup supernode in Figure 1. Among them, multiple supernodes (supernode 1 to supernode N as shown in Figure 1, where N is a positive integer greater than 1) and backup supernodes are connected through the cluster network, that is, interconnected through the low-bandwidth network scale-out.

[0172] For example, in a server cluster, one or more backup supernodes can be backed up according to reliability requirements. In this way, when a computing server in a normally functioning supernode fails, the supernode containing the failed server (supernode 1 as shown in Figure 1) can be completely replaced with a backup supernode (the backup supernode in the bold box in Figure 1), and the backup supernode can continue to work, such as performing computing tasks (such as model training tasks) within the supernode.

[0173] In the first related technology, the redundancy backup method is relatively simple and has little impact on the computing tasks within the supernode. However, because backups are performed at the supernode level, the backup granularity is large. This means that if any one or more computing servers within the supernode fail, the entire supernode must be replaced, requiring a large number of backup servers and resulting in significant waste of server resources. Moreover, this waste is particularly severe when dealing with large-scale supernodes.

[0174] Related technology 2: Backup at the logical supernode level.

[0175] For example, Figure 2 is a schematic diagram of the architecture of a backup scheme provided by related technology 2. Referring to Figure 2, in the server cluster shown in Figure 2, by splitting the supernode into multiple logical supernodes, the overall backup of the logical supernode is performed at the granularity of the logical supernode, as shown in Figure 2, with multiple backup logical supernodes within the backup supernode, the backup granularity is relatively reduced. Here, a supernode includes multiple computing servers, and a logical supernode includes a portion of the computing servers from among the multiple computing servers. Multiple logical supernodes and multiple backup logical supernodes are connected through a cluster network, that is, interconnected through a low-bandwidth network called scale-out.

[0176] For example, in a server cluster, one or more logical supernodes can be backed up according to reliability requirements. Thus, when a computing server within a normally functioning logical supernode fails, the entire logical supernode containing the failed server (the logical supernode within supernode 1 as shown in Figure 2) can be replaced with a backup logical supernode (the backup logical supernode within the bold box in Figure 2), and the backup logical supernode can then continue working, such as executing computing tasks within the logical supernode.

[0177] In related technology 2, since the supernode is split into multiple logical supernodes, and the logical supernodes need to communicate with each other based on the cluster network scale-out interconnect domain, the server communication that originally belonged to a large bandwidth scale-up interconnect domain now needs to be done through the cluster network scale-out interconnect domain, which reduces the processing performance of computing tasks, such as potentially leading to a decrease in accuracy and efficiency.

[0178] Related technology 3: Backup at the server level.

[0179] For example, Figure 3 is a schematic diagram of the architecture of a backup scheme provided by related technology 3. Referring to Figure 3, in the server cluster shown in Figure 3, independent backup servers are deployed in each supernode, as shown in Figure 3.

[0180] For example, in a server cluster, depending on reliability requirements, one or more backup servers can be independently backed up within each supernode. Thus, when a computing server within a normally functioning supernode fails, the failed server is replaced by a backup server. For instance, the computing server in supernode 1 shown in Figure 3 is replaced by a backup server, and the backup server continues to operate, such as performing computing tasks.

[0181] In related technology three, to meet reliability requirements, each supernode needs to back up a certain proportion of servers under extreme failure scenarios. However, in reality, the failure scenarios within each supernode are different, resulting in varying utilization rates of backup servers across different supernodes. This leads to a large number of backup servers and significant waste of server resources.

[0182] Therefore, embodiments of this application provide a server cluster, including but not limited to server clusters in intelligent computing data centers (i.e., intelligent computing clusters), server clusters in general computing data centers, storage device clusters, or network device clusters.

[0183] The server cluster comprises a management server, multiple supernodes, switching devices, and a server resource pool. The management server communicates with the multiple supernodes, switching devices, and server resource pool, managing the compute servers within the supernodes, the switching devices, and the multiple backup servers within the server resource pool. The switching devices connect the compute servers within all supernodes and also connect the multiple backup servers within the server resource pool. Thus, by deploying switching devices in the server cluster, the switching devices connect not only to the compute servers within all supernodes but also to the multiple backup servers within the server resource pool. This allows for flexible adjustment of communication links using the signal switching function of the switching devices, thereby pooling the backup servers and enabling compute servers within multiple supernodes to share the server resources of multiple backup servers.

[0184] Based on the aforementioned server cluster, this application also provides a task execution method applicable to scenarios involving backup protection of computing servers within the server cluster. For example, it can be applied to scenarios involving data synchronization tasks performed on a server cluster, such as training parameter synchronization and training result synchronization in model training tasks.

[0185] In this system, if any server within a supernode of the server cluster (referred to as the first server) fails, a backup server from a pool of backup servers can be selected as the second server to replace the first server and continue executing the first task. This achieves a pooling effect of backup servers, allowing multiple compute servers within different supernodes to share the server resources of multiple backup servers. This reduces the need for redundant backups while ensuring the stability and reliability of the server cluster, and improves server resource utilization, thus avoiding idle and wasted server resources. Furthermore, by using high-performance signal switching equipment such as optical switches to connect multiple compute servers and backup servers within different supernodes, server communication can still be performed based on a high-bandwidth interconnect domain, ensuring the processing performance of computing tasks and preventing issues such as decreased accuracy and efficiency.

[0186] To facilitate understanding of the embodiments of this application, the following points will be explained before introducing the embodiments of this application.

[0187] 1. In the embodiments of this application, "instruction" can include direct instruction and indirect instruction, as well as explicit instruction and implicit instruction. The information indicated by a certain piece of information is called the information to be instructed. In specific implementation, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also indirectly indicate the information to be instructed by indicating other information, where there is a relationship between the other information and the information to be instructed. It can also indicate only a part of the information to be instructed, while the other parts of the information to be indicated are known or pre-agreed.

[0188] 2. In the embodiments of this application, the descriptions such as "in the case of", "if" and "if" all refer to the fact that the device (e.g., the server) will make corresponding processing under certain objective circumstances. They are not time limits, nor do they require the device (e.g., the server) to have a judgment action when implementing it, nor do they mean that there are other limitations.

[0189] Furthermore, the system architecture and business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0190] Furthermore, the actions, terms, etc., involved in the various embodiments of this application can be referenced interchangeably without limitation. The message names or parameter names in the messages exchanged between the various devices in the embodiments of this application are merely examples, and other names may be used in specific implementations without limitation.

[0191] The system architecture of the embodiments of this application will be described below as an example.

[0192] In some embodiments, the task execution method provided in this application can be applied to a server cluster as shown in FIG4. For example, FIG4 is a schematic diagram of a system architecture of a server cluster provided in an embodiment of this application. Referring to FIG4, the server cluster includes: a management server, multiple supernodes, switching devices, and a server resource pool, wherein each supernode includes multiple computing servers and multiple switches, and the server resource pool is used to provide multiple backup servers.

[0193] The management server communicates with multiple supernodes, switching devices, and server resource pools. It can be used to manage compute servers within multiple supernodes, multiple switches and switching devices within multiple supernodes, and multiple backup servers within the server resource pool.

[0194] In some embodiments, the management server may run a management system for a server cluster, which supports monitoring and controlling the working status and hardware status of each computing server.

[0195] For example, in some embodiments, each supernode may have a master computing server deployed, which may have components that communicate with the management server so that the master computing server can promptly report its own status and the status of other computing servers to the management server after monitoring them.

[0196] For example, in other embodiments, each computing server within each supernode may be deployed with components that communicate with the management server in order to report its own status to the management server in a timely manner.

[0197] It is worth noting that the above embodiments use a management server deployed separately in a server cluster as an example. In other embodiments, the management server can be any computing server within any supernode, and this application does not limit this.

[0198] The switching device is used to connect multiple compute servers within each supernode. That is, the switching device connects all compute servers within all supernodes. The switching device also connects multiple backup servers within the server resource pool. As shown in Figure 4, one end of the switching device connects to each supernode to enable connection to multiple compute servers within each supernode, and the other end connects to multiple backup servers within the server resource pool. It should be understood that this connection can refer to a physical cable connection.

[0199] The switching device can be an optical switch, such as an optical cross-connect (OXC) device or an optical circuit switching (OCS) device. It is worth noting that in other embodiments, the switching device can also be other devices that support port interconnection functions, such as electrical switches, special switches, wavelength selective switches (WSS), etc., and this application does not limit this type of device.

[0200] The embodiments of this application will subsequently use an OXC device as an example to illustrate the solution. The OXC device is a port cross-connect device used in optical transmission networks to realize optical signal cross-connection. For example, Figure 5 is a schematic diagram of the port connection of an OXC device provided in an embodiment of this application. Referring to Figure 5, the signal processor based on the OXC device can realize port-level signal switching. At the same time, ports ① and ④ of the OXC device are interconnected, with port ① connected to port A of server 1 and port ④ connected to port D of server 2. Since ports ① and ④ are interconnected, the communication link between server 1 and server 2 can be established, thereby enabling communication between server 1 and server 2. At the same time, ports ② and ③ of the OXC device are interconnected, with port ② connected to port B of server 1 and port ③ connected to port C of server 2. Similarly, since ports ② and ③ are interconnected, the communication link between server 1 and server 2 can be established, thereby enabling communication between server 1 and server 2. It is understood that if the port connection relationship needs to be adjusted, the original cross-connection can be disconnected and a new cross-connection can be re-established.

[0201] In a server cluster, supernodes are used to perform data synchronization tasks, such as training parameter synchronization and training result synchronization in model training tasks. For example, data types that support data synchronization may include tensor parallelism (TP) data, expert parallelism (EP) data, context parallelism (CP) data, pipeline parallelism (PP) data, and data parallelism (DP) data, etc., but this application embodiment does not limit this.

[0202] Each supernode consists of a group of compute servers interconnected via a high-bandwidth scale-up network, requiring high interconnect performance. For example, multiple compute servers within each supernode can be interconnected using high-speed cables or high-performance switches.

[0203] The compute server is the basic unit that makes up the server cluster. A compute server can contain multiple accelerator cards, such as GPU cards, NPU cards, and TPU cards. In some embodiments, multiple accelerator cards within a compute server can be interconnected through a high-bandwidth scaling network to form a supernode, allowing high bandwidth to be used to execute tasks within the supernode, thereby improving task processing performance.

[0204] The compute server may also include multiple switching boards for interconnection. Specifically, the switching boards connect the accelerator cards within the compute server to the switches within the supernode. Understandably, the compute server can perform data transmission and reception operations, such as sending or receiving data, through the switching boards.

[0205] A switch is used to connect different computing servers to achieve interconnection. In some embodiments, the switch provides data forwarding functionality, forwarding data (such as training parameters and results in a model training task) from different computing servers to achieve data synchronization between them. Specifically, the switch is used to forward data between different accelerator cards, thereby achieving data synchronization between them. Exemplarily, the switch can be an electrical switch capable of forwarding data packets at the data packet granularity.

[0206] In server clusters, a large cluster network is used to connect computing servers within different supernodes, such as interconnecting them through a low-bandwidth network called scale-out. In some embodiments, the large cluster network can be composed of two- or three-layer switches connected via a fat-tree. Referring to Figure 4, a three-layer switch with a leaf-spine-core structure is used as an example to illustrate the large cluster network. The leaf layer may include access switches, such as leaf switches, used to connect computing servers. The spine layer may include core switches, such as spine switches, which are the backbone of the large cluster network and used to connect multiple leaf switches in the leaf layer. The core layer is an additional core layer used to connect multiple spine switches in the spine layer. A fat-tree is a high-performance, scalable network topology commonly used in data center networks, achieving high bandwidth, low latency, and flexible network connectivity through a multi-layer switch structure.

[0207] The interconnect bandwidth of the cluster network is lower than that of the supernodes; for example, the ratio of supernode interconnect bandwidth to cluster network interconnect bandwidth is 10:1. For instance, each compute server provides ports with different protocols / bandwidths to the high-bandwidth interconnect domain of the supernode and the low-bandwidth interconnect domain of the cluster network to achieve high-bandwidth and low-bandwidth network interconnection. Understandably, the number of compute servers that can be connected to the high-bandwidth interconnect domain of the supernode is limited, while the low-bandwidth interconnect domain of the cluster network, due to its lower bandwidth, can connect a larger number of compute servers with lower cost and fewer devices, thereby expanding the scale of the server cluster.

[0208] In this context, the backup server is the same physical device as the compute server. In some embodiments, multiple backup servers can form a server resource pool, allowing multiple compute servers within multiple supernodes to share the server resources of multiple backup servers, thereby achieving a pooling effect for the backup servers.

[0209] In this embodiment, the management server is configured to: respond to a failure of the first server within the first supernode while executing the first task, control the switching device to establish a communication link between the second server and the remaining computing servers within the first supernode (excluding the first server), and send task information for the first task to the second server. The first supernode can be any one of multiple supernodes, and the first server can be any one of the multiple computing servers connected to the switching device within the first supernode. The second server is one of multiple backup servers. The task information is used by the second server to execute the first task.

[0210] In this embodiment, the switching device is used to establish communication links between the second server and the remaining computing servers within the first supernode (excluding the first server). It is understood that when the first server is functioning correctly, the communication links between the second server and the remaining computing servers within the first supernode are disconnected; in this case, the port in the switching device used to connect to the second server is not connected to the port used to connect to the remaining computing servers within the first supernode. When the second server is used in place of the first server, the communication links between the second server and the remaining computing servers within the first supernode are established; in this case, the port in the switching device used to connect to the second server is connected to the port used to connect to the remaining computing servers within the first supernode.

[0211] In this embodiment, the second server is used to: receive task information of a first task from the management server, and execute the first task based on the task information. For example, taking a data synchronization task as an example, the second server can achieve data synchronization by communicating with the other computing servers within the first supernode (excluding the first server) through communication links with them.

[0212] In one example of this application, a hardware structure diagram of a server (such as the management server or computing server mentioned above) is shown in Figure 6. Figure 6 is a hardware structure diagram of a server provided in an embodiment of this application.

[0213] Referring to Figure 6, the server shown in Figure 6 may include: a processor 601, a memory 602, a communication module 603, and a bus 604. The processor 601, the memory 602, and the communication module 603 can be connected via the bus 604.

[0214] The processor 601 is the control center of the server and can be a general-purpose central processing unit such as a CPU, or other general-purpose processors. The general-purpose processor can be a microprocessor or any conventional processor. Taking the server shown in Figure 6 as an example of the management server in this embodiment, the task execution method can be executed through the processor 601 in the management server.

[0215] As an example, processor 601 may include one or more CPUs, such as CPU0 and CPU1 shown in Figure 6.

[0216] The memory 602 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.

[0217] In one possible implementation, the memory 602 can exist independently of the processor 601. The memory 602 can be connected to the processor 601 via a bus 604 and is used to store data, instructions, or program code. Taking the server shown in FIG6 as an example of the management server in this embodiment, when the processor 601 calls and executes the instructions or program code stored in the memory 602, it can implement the task execution method provided in this embodiment.

[0218] In another possible implementation, the memory 602 can also be integrated with the processor 601.

[0219] The communication module 603 is used for connecting the server to other devices via a communication network, which can be Ethernet, radio access network (RAN), wireless local area network (WLAN), etc. The communication module 603 may include a receiving unit for receiving data and a transmitting unit for transmitting data.

[0220] Bus 604 can be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, or an extended industry standard architecture (EISA) bus. This bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used in Figure 6, but this does not indicate that there is only one bus or one type of bus.

[0221] It should be noted that the structure shown in Figure 6 does not constitute a limitation on the server. In addition to the components shown in Figure 6, the server may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0222] It is understood that in the embodiments of this application, the management server may execute some or all of the steps in the embodiments of this application. These steps or operations are merely examples. The embodiments of this application may also execute other operations or variations of various operations.

[0223] The following description, based on the system architecture of the server cluster shown in Figure 4 and in conjunction with Figure 7, illustrates the task execution method provided in this application embodiment. Figure 7 is a flowchart illustrating a task execution method provided in this application embodiment. In some possible implementations, the task execution method can be completed by the cooperation of the management server, switching device, and backup server (such as a second server) in the server cluster. Referring to Figure 7, taking the interaction flow between the management server, switching device, and second server as an example, the method includes the following steps S701 to S706.

[0224] S701, the management server responds to the failure of the first server in the first supernode while performing the first task by sending a switch command to the switching device.

[0225] Here, the first supernode can be any one of multiple supernodes. The first server can be any one of multiple computing servers connected to the switching device within the first supernode. The first task refers to the task currently being executed by the first server, such as a data synchronization task.

[0226] In this embodiment, the switching instruction is used to indicate the communication link between the second server and the other computing servers within the first supernode, excluding the first server. It is understood that if the first server is not malfunctioning, the communication link between the second server and the other computing servers within the first supernode is disconnected; in this case, the port in the switching device used to connect to the second server is not connected to the port used to connect to the other computing servers within the first supernode.

[0227] In some embodiments, before sending a switchover command to the switching device, the management server also determines a second server from among multiple backup servers in the server resource pool. The second server is one of the multiple backup servers.

[0228] This means that if any computing server in any supernode of the server cluster fails, a backup server can be selected from the multiple backup servers in the server cluster as the second server to replace the first server and continue to execute the first task.

[0229] In some possible implementations, the process of determining a second server from multiple backup servers may be as follows: determine a backup server that meets preset conditions from multiple backup servers as the second server.

[0230] The preset conditions include at least one of the following: being in an idle state, being in a healthy state, having a load value less than the load threshold, and having a memory capacity greater than the capacity threshold.

[0231] Idle state means the server is not performing any tasks at the current moment. Healthy state means the server is operating normally at the current moment, without any faults, risks, or viruses. Load value less than the load threshold means the server is undertaking a low workload during operation, such as processing fewer requests than the preset number, or the server resource utilization rate is lower than the preset utilization rate. Memory capacity greater than the capacity threshold means the server has a large amount of remaining memory space, such as more than the preset capacity.

[0232] It is worth noting that in some other embodiments, the management server may also determine a second server from multiple backup servers based on other information of the backup servers, and this application embodiment does not limit this.

[0233] S702, The switching device receives a switching command from the management server.

[0234] S703. Based on the switching command, the switching device establishes a communication link between the second server and the other computing servers in the first supernode, excluding the first server.

[0235] In some embodiments, the switching device connects the port used to connect the second server to the port used to connect the other computing servers in the first supernode besides the first server, so as to establish a communication link between the second server and the other computing servers in the first supernode besides the first server.

[0236] The above steps S701 to S703 describe the process by which the management server controls the switching device to connect the communication links between the second server and the other computing servers within the first supernode, excluding the first server. It is worth noting that in some embodiments, the management server can also disconnect the communication links between the first server and the other computing servers within the first supernode, such as by controlling the switch within the first supernode, to avoid affecting the other computing servers due to a failure of the first server.

[0237] In some embodiments, after executing S703, the switching device may send a connectivity message to the management server. This connectivity message is used to notify the management server that the communication link between the second server and the remaining computing servers in the first supernode (excluding the first server) has been successfully established. Upon receiving the connectivity message, the management server, in response to the successful establishment of the communication link between the second server and the remaining computing servers in the first supernode (excluding the first server), executes S704.

[0238] S704, the management server sends the task information of the first task to the second server.

[0239] The task information is used by the second server to execute the first task. For example, the task information may include the task content of the task to be processed.

[0240] S705, the second server receives task information from the management server for the first task.

[0241] S706, the second server executes the first task based on the task information.

[0242] The technical solution provided in this application embodiment allows for the selection of a backup server from multiple backup servers in a server cluster as a second server to replace the first server and continue executing the first task when any computing server within any supernode in the server cluster fails. This achieves a backup server pooling effect, enabling multiple computing servers within different supernodes to share the server resources of multiple backup servers. This reduces the required redundant backup server resources while ensuring the stability and reliability of the server cluster, and improves the utilization rate of server resources, thereby avoiding idle and wasted server resources.

[0243] In this embodiment, the port switching function of the switching device enables the pooling of multiple backup servers, allowing computing servers within multiple supernodes to share the server resources of multiple backup servers. The system architecture of the server cluster and the task execution method based on the server cluster are described in detail below based on the following three server backup architectures.

[0244] Server Backup Architecture 1

[0245] For example, Figure 8 is a schematic diagram of a server backup architecture provided in an embodiment of this application. Referring to Figure 8, the switching device is specifically used to connect multiple computing servers within each supernode through multiple switches within each supernode.

[0246] In this embodiment, the multiple backup servers within the server resource pool are other computing servers identical to the compute servers. That is, the multiple backup servers are additional compute servers deployed within the server cluster, and these backup servers can be centrally deployed within the server resource pool, as shown in the shared backup pool in Figure 8. Both the multiple compute servers within the supernode and the multiple backup servers within the shared backup pool need to be connected to the cluster's main network.

[0247] The number of switching devices can be one or more; Figure 8 shows an example with two switching devices. One end of each switching device connects to multiple backup servers, and the other end connects to multiple switches within each supernode. As shown in Figure 8, each switching device connects to each backup server and then to switches within different supernodes.

[0248] In some embodiments, the number of switching devices is related to one or more of the following: the number of ports on the switching devices themselves, the number of backup servers, the number of supernodes in the interconnect domain, and the interconnect domain bandwidth of the supernodes.

[0249] The number of ports on the switching device itself refers to the number of ports configured on the switching device. For example, taking an OXC device as an example, the OXC device itself can have 128 or 256 ports. The number of backup servers and the number of supernodes within the interconnect domain can be determined according to preset reliability requirements. For example, different reliability requirements can correspond to different numbers of backup servers and different numbers of supernodes. The interconnect domain bandwidth of a supernode refers to the bandwidth provided by the high-bandwidth network to which the supernode is connected. Typically, the interconnect domain bandwidth of a supernode is related to the number of switches deployed within the supernode.

[0250] For example, based on the number of supernodes within the interconnection domain and the interconnection domain bandwidth of the supernodes, the total number of switches within all supernodes in the interconnection domain can be determined. Furthermore, by determining the sum of the total number of switches within all supernodes in the interconnection domain and the number of backup servers, the number of devices that the switching device needs to connect can be calculated. Finally, by dividing the number of devices that the switching device needs to connect by the number of ports on the switching device itself, the number of switching devices that need to be deployed can be obtained.

[0251] It is worth noting that in other embodiments, other methods may be used to determine the number of switching devices, and this application does not limit this method.

[0252] Within a supernode, one end of each switch is used to connect multiple computing servers, and the other end of each switch is used to connect switching devices.

[0253] The switch may include compute ports and backup ports. Compute ports are used to connect multiple compute servers to enable communication between them and perform data synchronization tasks. Backup ports are used to connect to switching devices, which in turn connect to backup servers.

[0254] In server backup architecture one, the management server is specifically used to send switching instructions to the switching devices. The switching instructions are used to indicate the communication links between the second server and multiple switches in the first supernode.

[0255] In server backup architecture one, the switching device is specifically used to: receive switching instructions from the management server, and based on the switching instructions, connect the communication links between the second server and multiple switches in the first supernode.

[0256] The task execution method based on the server backup architecture shown in Figure 8 is similar to that in Figure 7 and will not be repeated here. The only difference lies in the content indicated by the switching instruction; specifically, it indicates the communication link between the second server and the multiple switches within the first supernode. Understandably, if the first server is functioning correctly, the communication link between the second server and the multiple switches within the first supernode is disconnected. At this time, the port in the switching equipment used to connect the second server is not connected to the port used to connect the multiple switches within the first supernode. After establishing the communication link between the second server and the multiple switches within the first supernode, the established communication link allows the second server to communicate with the other computing servers within the first supernode (excluding the first server) via the multiple switches within the first supernode, thereby executing the first task.

[0257] In the server backup architecture shown in Figure 8 above, multiple backup servers are concentrated in a shared backup pool, which also contains a set of switching devices. The switching devices deployed in the shared backup pool pool pool the multiple backup servers, enabling multiple backup servers to be used by multiple supernodes. Each supernode can arbitrarily use one or more backup servers from the shared backup pool.

[0258] For example, Figure 9 is an exemplary schematic diagram of a server backup architecture one provided in an embodiment of this application. Referring to Figure 9, taking a scenario in which 12 supernodes (each supernode includes 28 computing servers) share 4 backup servers as an example, the server backup architecture one shown in Figure 9 is illustrated.

[0259] The server resource pool can be a shared backup pool as shown in Figure 9. Four backup servers can be centrally deployed in this shared backup pool, including Backup Server 1, Backup Server 2, ..., Backup Server 4 as shown in Figure 9. Taking a number of switching devices of eight as an example, the switching devices can include the eight OXC devices shown in Figure 9: OXC-1, OXC-2, ..., OXC-8. The number of switching devices can be obtained based on the calculation method shown in Figure 8 above, and will not be elaborated further.

[0260] Both the compute servers within a supernode and the backup servers within a shared backup pool can include multiple accelerator cards and one or more switch boards for interconnection. See Figure 9, which illustrates an example of a compute server containing eight accelerator cards and one switch board, and a backup server containing eight accelerator cards and one switch board.

[0261] Understandably, the size of a supernode can be determined based on all the compute cards within a high-bandwidth interconnect domain. Referring to Figure 9, which shows an example with 28 compute servers and 8 accelerator cards per server, the supernode size would be 28 * 8 = 224 cards.

[0262] In some embodiments, each accelerator card is connected to one port of a switch board to facilitate data transmission and reception. Furthermore, each switch board is connected to one port of a switch (the compute port shown in Figure 9) to facilitate interconnection with other compute servers within the supernode. Referring to Figure 9, taking a compute server containing 8 accelerator cards and a supernode containing 8 switches as an example, a switch board can be configured with 16 ports, of which 8 ports are used to connect the 8 accelerator cards and 8 ports are used to connect the 8 switches.

[0263] For example, within a supernode as shown in Figure 9, the switch may include 28 compute ports and 4 backup ports, totaling 32 ports. The 28 compute ports are used to connect 28 compute servers within the supernode, and the 4 backup ports are used to connect backup servers in a shared backup pool via an OXC device, as shown in Figure 9 (×4), meaning four physical lines are used for connection.

[0264] For example, for the eight OXC devices (OXC-1, OXC-2, ..., OXC-8) shown in Figure 9, each OXC device can have 52 ports. Four ports are used to connect to the four backup servers in the shared backup pool, and 48 ports are used to connect to the switches in the 12 supernodes (each switch includes four backup ports). It's worth noting that Figure 9 uses the example where the number of switches in a supernode is the same as the number of OXC devices in the shared backup pool (e.g., eight). In this case, one OXC device can be connected to one switch, meaning one OXC device connects to the four backup ports of one switch. In other possible implementations, the number of OXC devices in the shared backup pool can be different, such as more or fewer. Similarly, the number of switches in a supernode can be different, such as more or fewer. It is understood that, in principle, the goal is to ensure that each backup server can connect to the spare ports of each switch via an OXC device.

[0265] It is worth noting that Figure 9 illustrates the deployment of a shared backup pool using an example of 8 OXC devices with 52 ports. In reality, OXC devices may have more ports, such as 128 or 256 ports, and the number of OXC devices required in the shared backup pool can be reduced accordingly. For example, using a 128-port OXC device, only 4 OXC devices need to be deployed in the shared backup pool shown in Figure 9.

[0266] In this embodiment, the OXC device is used to select one or more backup servers and interconnect the switches within the supernode where the faulty server is located, thereby enabling high-bandwidth interconnection between the backup server and the supernode where the faulty server is located. This allows the backup servers in the shared backup pool to be used by all supernodes within the server cluster. Figure 9 shows an example of 12 supernodes sharing 4 backup servers. Each supernode can flexibly use one or more backup servers in the shared backup pool depending on the fault situation.

[0267] Understandably, during normal operation, the compute servers within a supernode are used to perform primary tasks such as data synchronization, while backup servers serve as redundant backups of the compute servers or perform lower-priority tasks. In some embodiments, when a compute server within a supernode fails, the backup server can suspend its current lower-priority tasks and take over from the failed server to continue performing primary tasks such as data synchronization.

[0268] Based on the example architecture 1 of server backup shown in Figure 9, the process of task execution method may include the following ① to ⑤.

[0269] ① Normal operation: Compute servers 1 to 28 within each supernode are all operating normally. Taking the first task as a data synchronization task as an example, compute servers 1 to 28 within each supernode perform the data synchronization task through the switch within the supernode and the cluster network.

[0270] ② Server Failure: Taking the failure of a computing server within supernode 1 as an example, if computing server 1 fails, the management server can detect the failure of computing server 1 and then confirm the start of the backup server to restore the data synchronization process.

[0271] ③ Backup server allocation: The management server obtains the status information of the backup servers in the shared backup pool and dynamically allocates backup servers in the shared backup pool based on the status information of the backup servers. For example, it confirms that backup server 1 will be used to replace computing server 1.

[0272] ④ Backup Server Switchover: The management server issues OXC switchover commands to OXC-1 to OXC-8 in the shared backup pool to control OXC-1 to OXC-8 to connect the ports connected to Backup Server 1 to the ports connected to all switches in SuperNode 1, thereby establishing a communication link between Backup Server 1 and SuperNode 1. In other words, OXC-1 to OXC-8 establish connections upwards to Backup Server 1 and downwards to switches 1 to 8 in SuperNode 1.

[0273] ⑤ Task Recovery: If the routing between compute server 2 and compute server 28 and backup server 1 within supernode 1 is connected, the network topology can be rebuilt according to task requirements. Furthermore, the management server can send the data synchronization task information to backup server 1. Backup server 1 receives the task information from the management server and then takes over the data synchronization task from compute server 1.

[0274] The server backup architecture shown in Figures 8 and 9 above provides a pooled shared backup architecture for computing servers. Multiple backup servers are centrally deployed in a shared backup pool. OXC devices are added to the shared backup pool to connect the switches within the supernodes and the backup servers within the shared backup pool, thereby pooling the backup servers and allowing multiple supernodes to use the server resources within the shared backup pool. In this way, while ensuring the stability and reliability of the server cluster, the number of backup servers can be significantly reduced, for example, by more than 60%.

[0275] Server Backup Architecture 2

[0276] For example, Figure 10 is a schematic diagram of a second server backup architecture provided in an embodiment of this application. Referring to Figure 10, the switching devices include a first switching device and a second switching device.

[0277] In this setup, each supernode corresponds to a group of first-level switching devices, which may include one or more first-level switching devices. See Figure 10; each supernode deploys a group of first-level switching devices.

[0278] The first switching device is used to connect multiple compute servers and multiple switches within the corresponding supernode. The first switching device is also used to connect to the second switching device. One end of the first switching device connects to multiple compute servers, another end connects to multiple switches, and the remaining end connects to the second switching device. Referring to Figure 10, the first switching device connects to multiple compute servers and the second switching device within the supernode, and is connected to multiple switches within the supernode.

[0279] The second switching device is used to connect to the first switching device corresponding to each supernode. The second switching device is also used to connect to multiple backup servers. Specifically, one end of the second switching device connects to multiple backup servers, and the other end connects to the first switching devices within multiple supernodes. Referring to Figure 10, the second switching device connects to multiple backup servers within a shared backup pool and connects to the first switching devices within different supernodes.

[0280] In this embodiment, the multiple backup servers within the server resource pool are other computing servers identical to the compute servers. That is, the multiple backup servers are additional compute servers deployed within the server cluster, and these backup servers can be centrally deployed within the server resource pool, as shown in the shared backup pool in Figure 10. Both the multiple compute servers within the supernode and the multiple backup servers within the shared backup pool need to be connected to the cluster network.

[0281] The number of first switching devices can be one or more, as shown in Figure 10, which uses one first switching device as an example.

[0282] In some embodiments, the number of first switching devices is related to the number of ports of the first switching device itself, the number of computing servers, the number of supernodes in the interconnection domain, and the interconnection domain bandwidth of the supernodes. The calculation process for the number of first switching devices is similar to the calculation process for the number of switching devices shown in Figure 8 above, and will not be repeated here.

[0283] In some embodiments, the first switching device includes a computing port and a backup port. The computing port connects multiple computing servers to enable communication between them, thereby performing data synchronization tasks between the multiple computing servers. The backup port connects to a second switching device to connect a backup server. Furthermore, the first switching device also includes a switching port to connect multiple switches to enable communication between the multiple computing servers based on the multiple switches.

[0284] The number of second switching devices can be one or more. Figure 10 shows an example with two second switching devices.

[0285] In some embodiments, the number of second switching devices is related to the number of ports of the second switching devices themselves, the number of backup servers, the number of supernodes in the interconnection domain, and the interconnection domain bandwidth of the supernodes. The calculation process for the number of second switching devices is similar to the calculation process for the number of switching devices shown in Figure 8 above, and will not be repeated here.

[0286] In server backup architecture 2, the management server is specifically used to: send a first switch command to the first switching device corresponding to the first supernode, and send a second switch command to the second switching device.

[0287] In server backup architecture two, the first switching device corresponding to the first supernode is used to: receive a first switchover command from the management server; based on the first switchover command, disconnect the communication link between the first server and multiple switches within the first supernode, and connect the first communication link between the second switching device and multiple switches within the first supernode.

[0288] In server backup architecture two, the second switching device is used to: receive a second switchover command from the management server; and establish a second communication link between the second server and the first switching device based on the second switchover command.

[0289] The following describes the flow of the task execution method based on server backup architecture two, based on Figure 11. Figure 11 is a schematic flowchart of a task execution method based on server backup architecture two provided in an embodiment of this application. Referring to Figure 11, the method includes S1101 to S1109.

[0290] S1101. In response to a failure occurring while the first server within the first supernode is performing the first task, the management server sends a first switch command to the first switching device corresponding to the first supernode.

[0291] Here, the first switching device corresponding to the first supernode refers to a group of first switching devices deployed within the first supernode. In some embodiments, the first supernode and the first switching devices corresponding to the first supernode are associated.

[0292] The first switching instruction is used to instruct the disconnection of the communication link between the first server and multiple switches within the first supernode, and to connect the first communication link between the second switching device and multiple switches within the first supernode.

[0293] Understandably, if the first server is functioning correctly, the communication link between the first server and the multiple switches within the first supernode is active. In this case, the port on the first switch used to connect to the first server is connected to the port on the first switch used to connect to the multiple switches within the first supernode. Conversely, the first communication link between the second switch and the multiple switches within the first supernode is disconnected. In this case, the port on the first switch used to connect to the second switch is not connected to the port on the first switch used to connect to the multiple switches within the first supernode.

[0294] S1102, The management server sends a second switching command to the second switching device.

[0295] The second switching instruction is used to indicate the second communication link connecting the second server and the first switching device.

[0296] Understandably, if the first server does not malfunction, the second communication link between the second server and the first switching device is disconnected. At this time, the port in the second switching device used to connect to the second server is not connected to the port in the first switching device used to connect to the first supernode.

[0297] It is worth noting that the execution order of sending the first handover instruction to the first switching device corresponding to the first supernode in S1101 and sending the second handover instruction to the second switching device in S1102 is not limited. For example, in some embodiments, the second handover instruction may be sent to the second switching device first, and then the first handover instruction may be sent to the first switching device corresponding to the first supernode. Furthermore, in some embodiments, the first handover instruction may be sent to the first switching device corresponding to the first supernode simultaneously, and the second handover instruction may be sent to the second switching device. This application does not limit this approach.

[0298] S1103, The first switching device corresponding to the first supernode receives the first switching instruction from the management server.

[0299] S1104. The first switching device corresponding to the first supernode disconnects the communication link between the first server and multiple switches within the first supernode based on the first switching instruction, and connects the first communication link between the second switching device and multiple switches within the first supernode.

[0300] In some embodiments, the first switching device corresponding to the first supernode disconnects the port used to connect to the first server from the port used to connect to multiple switches within the first supernode, and connects the port used to connect to the second switching device to the port used to connect to multiple switches within the first supernode, so as to establish a first communication link between the second switching device and the multiple switches within the first supernode.

[0301] S1105, The second switching device receives the second switching instruction from the management server.

[0302] S1106. The second switching device connects the second server and the first switching device via a second communication link based on the second switching instruction.

[0303] In some embodiments, the second switching device connects the port used to connect the second server to the port used to connect the first switching device within the first supernode, thereby establishing a second communication link between the second server and the first switching device within the first supernode.

[0304] S1101 to S1106 above describe the process by which the management server controls the switching equipment to connect the communication links between the second server and the other computing servers within the first supernode, excluding the first server, in the event of a failure. After connecting the first and second communication links, the connected communication links enable the second server to communicate with the other computing servers within the first supernode, excluding the first server, via the second switching equipment, the first switching equipment, and multiple switches within the first supernode, thereby executing the first task.

[0305] In some embodiments, after executing S1104, the first switching device may send a connectivity message to the management server, which notifies the management server that the first communication link has been successfully connected. After executing S1106, the second switching device may send a connectivity message to the management server, which notifies the management server that the second communication link has been successfully connected. Upon receiving the connectivity message, the management server, in response to the successful connection of the first and second communication links, executes S1107.

[0306] S1107. The management server sends the task information of the first task to the second server.

[0307] S1108, The second server receives the task information of the first task from the management server.

[0308] S1109, The second server executes the first task based on the task information.

[0309] The contents of S1107 to S1109 are the same as those of S704 to S706 in Figure 7 above, and will not be repeated here.

[0310] In the second server backup architecture described above, on one hand, multiple backup servers are centralized in a shared backup pool. A second set of switching devices (i.e., a second set of switching devices) is added to this shared backup pool to connect the backup servers. This pooling of backup servers through the second set of switching devices allows multiple supernodes to utilize them, with each supernode able to use one or more backup servers from the shared backup pool. On the other hand, by adding a first set of switching devices (i.e., a first set of switching devices) within a supernode to connect the compute servers, backup servers, and switches within the supernode, the choice of which compute server / backup server to communicate with via the switch can be flexibly adjusted based on the failure status within the supernode. Furthermore, compared to the first server backup architecture, the switches in the second architecture do not require backup ports. Considering that switching devices are easier to scale up to a larger number of ports than switches, backup server connections do not occupy additional ports on the switch but rather use ports on the switching device. This allows for the connection of a larger number of compute servers to the switch.

[0311] For example, Figure 12 is an exemplary schematic diagram of a second server backup architecture provided in an embodiment of this application. Referring to Figure 12, taking a scenario where 12 supernodes (each supernode includes 32 computing servers) share 4 backup servers as an example, the second server backup architecture shown in Figure 12 is illustrated.

[0312] The server resource pool can be a shared backup pool as shown in Figure 12. Four backup servers can be centrally deployed in the shared backup pool as shown in Figure 12, including backup server 1, backup server 2, ..., backup server 4 as shown in Figure 12.

[0313] Taking a first set of 8 switching devices as an example, the first set of switching devices can include the 8 OXC devices (OXC-1, OXC-2, ..., OXC-8) within the supernode shown in Figure 12. Taking a second set of 8 switching devices as an example, the second set of switching devices can include the 8 OXC devices (OXC-1, OXC-2, ..., OXC-8) within the shared backup pool shown in Figure 12. The number of the first and second switching devices can be obtained based on the calculation method shown in Figure 8 above, and will not be elaborated further.

[0314] For the compute servers within the supernode and the backup servers within the shared backup pool, the connections between the accelerator cards and the switching boards are the same as shown in Figure 9, and will not be described again.

[0315] Understandably, the size of a supernode can be determined based on all the compute cards within a high-bandwidth interconnect domain. Referring to Figure 12, which shows an example with 32 compute servers and 8 accelerator cards per server, the supernode size would be 32 * 8 = 256 cards.

[0316] Compared to the server backup architecture one shown in Figure 9, server backup architecture two does not require occupying switch ports. Instead, it deploys large-port OXC devices to utilize more ports, thus enabling the connection of more computing servers. This allows for the deployment of more computing servers within the supernode, such as the 32 computing servers shown in Figure 12, thereby increasing the scale of the supernode.

[0317] For example, for the eight OXC devices (OXC-1, OXC-2, ..., OXC-8) within the supernode shown in Figure 12, each OXC device can have 68 ports. Specifically, 32 compute ports are used to connect to the 32 compute servers within the supernode, 4 backup ports are used to connect to the 4 backup servers in the shared backup pool (specifically, connected via OXC devices in the shared backup pool, as shown in Figure 12 ×4, i.e., using 4 physical lines), and 32 ports are used to connect to the 32 ports of a switch within the supernode. It is understood that the switch shown in Figure 12, with 32 ports, is used to connect the corresponding OXC devices within the supernode.

[0318] In this embodiment, OXC-1, OXC-2, ..., OXC-8 within the supernode are used to establish communication connections between different compute servers, backup servers, and the supernode switch. During normal operation, OXC-1, OXC-2, ..., OXC-8 within the supernode are each connected to multiple compute servers, enabling data communication between the compute servers and the switch. In some embodiments, when a compute server within the supernode fails, the OXC devices within the supernode can switch the optical path to connect the backup server to the switch within the supernode, thereby enabling data communication between the backup server and other compute servers within the supernode.

[0319] For example, the eight OXC devices OXC-1, OXC-2, ..., OXC-8 in the shared backup pool shown in Figure 12 are similar to the eight OXC devices OXC-1, OXC-2, ..., OXC-8 shown in Figure 9 above, and will not be described again.

[0320] In this embodiment, on the one hand, pooling of backup servers is achieved by adding a group of OXC devices within the shared backup pool. On the other hand, by also adding a group of OXC devices within the supernode, pooling is achieved without additionally occupying switch ports, which is beneficial for increasing the scale of the supernode.

[0321] Based on the example architecture 2 of server backup shown in Figure 12, the task execution method process may include the following ① to ⑤.

[0322] ① Normal Operation: The OXC devices within each supernode connect the 32 compute ports to the switching ports of the 32 switches. At this time, compute servers 1 to 32 within each supernode operate normally. Taking the first task as a data synchronization task as an example, compute servers 1 to 32 within each supernode perform the data synchronization task through the switches within the supernode and the cluster network.

[0323] ② Server Failure: Taking the failure of a computing server within supernode 1 as an example, if computing server 1 fails, the management server can detect the failure of computing server 1 and then confirm the start of the backup server to restore the data synchronization process.

[0324] ③ Backup server allocation: The management server obtains the status information of the backup servers in the shared backup pool and dynamically allocates backup servers in the shared backup pool based on the status information of the backup servers. For example, it confirms that backup server 1 will be used to replace computing server 1.

[0325] ④ Backup Server Switchover: The management server issues OXC switchover commands to OXC-1 to OXC-8 within supernode 1 to disconnect the ports connecting to compute server 1 from the ports connecting to all switches within supernode 1, and to connect the ports connecting to all switches within supernode 1 to the ports connecting to OXC-1 to OXC-8 within the shared backup pool. Furthermore, the management server issues OXC switchover commands to OXC-1 to OXC-8 within the shared backup pool to connect the ports connecting to backup server 1 from the ports connecting to OXC-1 to OXC-8 within supernode 1, thus establishing a communication link between backup server 1 and supernode 1.

[0326] ⑤ Task Recovery: If the routing between compute server 2 and compute server 32 and backup server 1 within supernode 1 is established, the network topology can be rebuilt according to task requirements. Furthermore, the management server can send the data synchronization task information to backup server 1. Backup server 1 receives the task information from the management server and then takes over the data synchronization task from compute server 1.

[0327] In the server backup architecture two shown in Figures 10 and 12 above, a pooled shared backup architecture for computing servers is provided. Multiple backup servers are centrally deployed in a shared backup pool. OXC devices are added to the shared backup pool, and OXC devices are also added within the supernodes. This pooling of backup servers through OXC devices allows multiple supernodes to use the server resources within the shared backup pool. Furthermore, it does not occupy switch ports within the supernodes, enabling the deployment of a larger number of computing servers. Thus, while ensuring the stability and reliability of the server cluster, the number of backup servers can be significantly reduced, by more than 60%, and the scale of the supernodes can be increased.

[0328] Server Backup Architecture 3

[0329] For example, Figure 13 is a schematic diagram of a server backup architecture three provided in an embodiment of this application. Referring to Figure 13, there are multiple sets of switching devices, and these sets of switching devices are interconnected. That is to say, the physical links between the multiple sets of switching devices are established, i.e., the communication links are connected.

[0330] One set of switching devices is used to connect compute servers belonging to the same group within different supernodes to multiple switches within those supernodes. In other words, one set of switching devices corresponds to one set of compute servers. It's understood that the number of sets of switching devices is the same as the number of sets of compute servers. Thus, because multiple sets of switching devices are interconnected, and each set connects not only to one set of compute servers within a different supernode but also to the switches within that supernode, physical connectivity between different supernodes is achieved.

[0331] Multiple backup servers include compute servers identified as belonging to the same group within different supernodes. This means that compute servers identified as belonging to the same group within different supernodes serve as backups for each other. In other words, for any one compute server in a group, all other compute servers in that group, except the current compute server, can serve as backups for that current compute server.

[0332] In some embodiments, compute servers associated with identifiers within different supernodes constitute a group.

[0333] The identifier can be a number, serial number, identity identification number (ID), etc., used to uniquely identify the computing server.

[0334] In some possible implementations, the identifiers are associated, which may be that the identifiers are the same or similar.

[0335] For example, taking the identifier as number and the identifier association as identical identifier, computing servers with the same number in different supernodes form a group. Referring to Figure 13, computing servers with number 1 in different supernodes can form a group, computing servers with number 2 can form a group, ..., computing servers with number N can form a group. Accordingly, switching device group 1 can be used to connect computing servers with number 1 in different supernodes, switching device group 2 can be used to connect computing servers with number 2 in different supernodes, and so on, switching device group N can be used to connect computing servers with number N in different supernodes.

[0336] It is worth noting that Figure 13 uses a single computing server with the same number within different supernodes as an example. In other embodiments, two or more computing servers with the same number within different supernodes can form a group. For example, computing servers numbered 1 and 2 within different supernodes can form a group, or computing servers numbered 1, 2, and 3 within different supernodes can form a group. This application does not limit this.

[0337] For example, taking device type identifiers as an example and identifier association as identifier similarity as an example, computing servers with similar device type identifiers within different supernodes can form a group. For example, computing servers of image and video processing type can form a group, computing servers of natural language processing type can form a group, and so on. Accordingly, switching device group 1 can be connected to computing servers of image and video processing type, and switching device group 2 can be connected to computing servers of natural language processing type.

[0338] In server backup architecture three, the management server is specifically used to send switching instructions to the switching devices in the switching device group corresponding to the first server.

[0339] In server backup architecture three, the switching devices within the switching device group corresponding to the first server are used to: receive switching instructions from the management server; based on the switching instructions, disconnect the communication links between the first server and multiple switches within the first supernode, and establish a third communication link between the second server and multiple switches within the first supernode. The second server is one of the remaining computing servers belonging to the same group as the first server.

[0340] The following describes the flow of the task execution method based on server backup architecture three, based on Figure 14. Figure 14 is a schematic flowchart of a task execution method based on server backup architecture three provided in an embodiment of this application. Referring to Figure 14, the method includes S1401 to S1406.

[0341] S1401. In response to a failure occurring while the first server within the first supernode is performing the first task, the management server sends a switching instruction to the switching devices within the switching device group corresponding to the first server.

[0342] The management server can determine the switching device group corresponding to the first server based on the first server's identifier, and then send switching instructions to the switching devices within the switching device group corresponding to the first server. In some embodiments, the identifier of the first server is associated with the switching device group corresponding to the first server.

[0343] The switching command is used to instruct the disconnection of the communication link between the first server and multiple switches within the first supernode, and to connect the third communication link between the second server and multiple switches within the first supernode.

[0344] The second server is one of the remaining computing servers belonging to the same group as the first server. In some embodiments, the management server determines a backup server that meets preset conditions from the remaining computing servers belonging to the same group as the first server as the second server.

[0345] Understandably, if the first server is functioning correctly, the communication link between the first server and the multiple switches within the first supernode is active. In this case, the port in the switching equipment used to connect to the first server is connected to the port used to connect to the multiple switches within the first supernode. The third communication link between the second server and the multiple switches within the first supernode is disconnected. In this case, the port in the switching equipment used to connect to the second server is not connected to the port used to connect to the multiple switches within the first supernode.

[0346] S1402, The switching devices in the switching device group corresponding to the first server receive the switching instruction from the management server.

[0347] S1403. The switching devices in the switching device group corresponding to the first server disconnect the communication link between the first server and multiple switches in the first supernode based on the switching instruction, and connect the third communication link between the second server and multiple switches in the first supernode.

[0348] In some embodiments, the switching devices in the switching device group corresponding to the first server disconnect the port used to connect to the first server from the port used to connect to the multiple switches in the first supernode, and connect the port used to connect to the second server to the port used to connect to the multiple switches in the first supernode, so as to establish a third communication link between the second server and the multiple switches in the first supernode.

[0349] S1401 to S1403 above describe the process by which the management server controls the switching equipment to connect the communication links between the second server and the other computing servers in the first supernode, excluding the first server, in the event of a failure. After the third communication link is established, the established third communication link enables the second server to communicate with the other computing servers in the first supernode, excluding the first server, via the switching equipment in the switching equipment group and multiple switches in the first supernode, thereby executing the first task.

[0350] In some embodiments, after executing S1403, the switching devices within the switching device group corresponding to the first server can send a connectivity message to the management server. This connectivity message is used to notify the management server that the third communication link has been successfully connected. Upon receiving the connectivity message, the management server, in response to the successful connection of the third communication link, executes S1404.

[0351] S1404, The management server sends the task information of the first task to the second server.

[0352] S1405, The second server receives the task information of the first task from the management server.

[0353] S1406, The second server executes the first task based on the task information.

[0354] The contents of S1404 to S1406 are the same as those of S704 to S706 in Figure 7 above, and will not be repeated here.

[0355] In the server backup architecture described above, a set of switching devices is added between the compute servers and switches in different supernodes, and these switching devices are physically connected to each supernode. Compute servers with the same number within each supernode (e.g., compute server numbered 1 in supernodes 1 to N) serve as backups for each other, eliminating the need for additional backup servers and greatly reducing the waste of backup servers. For example, if compute server 1 in supernode 1 fails, it can be replaced by compute server 1 in supernode 2 by adjusting the port of the switching device.

[0356] Furthermore, in server backup architecture three, the server cluster also includes a switch resource pool, which is used to provide multiple backup switches.

[0357] In some embodiments, each group of switching devices includes multiple switching devices that are interconnected. One switching device is used to connect compute servers identified as belonging to the same group within different supernodes to switches identified as belonging to the same group within different supernodes. That is, one switching device corresponds to a group of switches.

[0358] Multiple backup switches include switches identified as belonging to the same group within different supernodes. This means that switches identified as belonging to the same group within different supernodes serve as backups for each other. In other words, for any switch in a group, all other switches in that group, except the current switch, can serve as backups for it.

[0359] In some embodiments, switches associated with identifiers within different supernodes constitute a group.

[0360] The identifier can be a number, serial number, identity identification number (ID), etc., used to uniquely identify the switch.

[0361] In some possible implementations, the identifiers are associated, which may be that the identifiers are the same or similar.

[0362] For example, taking the identification as a number and the identification association as the same identification, switches with the same number within different supernodes can form a group. For example, switches numbered 1 form a group, switches numbered 2 form a group, and so on. Accordingly, switch device 1 can be connected to switch numbered 1, and switch device 2 can be connected to switch numbered 2. Similarly, switches numbered 1 and 2 form a group, switches numbered 3 and 4 form a group, and so on. Accordingly, switch device 1 can be connected to switches numbered 1 and 2, and switch device 2 can be connected to switches numbered 3 and 4.

[0363] For example, taking the identifier as a switch type identifier and the identifier association as an identifier similarity, switches with similar switch type identifiers within different supernodes can form a group. For example, electrical switches form a group, optical switches form a group, etc. Accordingly, switching device 1 can be connected to an electrical switch, and switching device 2 can be connected to an optical switch.

[0364] In server backup architecture three, the management server is also used to: respond to a failure of the first switch in the first supernode while performing the second task, send a switching command to the switching device corresponding to the first switch, and send the task information of the second task to the second switch.

[0365] In server backup architecture three, the switching device corresponding to the first switch is used to: receive switching instructions from the management server; based on the switching instructions, disconnect the communication links between the first switch and multiple computing servers within the first supernode, and connect the fourth communication link between the second switch and multiple computing servers within the first supernode.

[0366] In server backup architecture 3, the second switch is used to: receive task information for the second task from the management server, and execute the second task based on the task information.

[0367] The following describes the flow of the task execution method based on server backup architecture three, based on Figure 15. Figure 15 is a schematic flowchart of another task execution method based on server backup architecture three provided by an embodiment of this application. Referring to Figure 15, the method includes S1501 to S1506.

[0368] S1501. In response to a failure of the first switch within the first supernode while performing the second task, the management server sends a switching command to the corresponding switching device of the first switch.

[0369] Here, the first switch refers to any one of the multiple switches connected to the switching device within the first supernode. The second task refers to the task currently being performed by the first switch, such as a data forwarding task.

[0370] The switching command is used to instruct the disconnection of the communication link between the first switch and multiple computing servers within the first supernode, and to connect the fourth communication link between the second switch and multiple computing servers within the first supernode.

[0371] The second switch is one of the remaining switches belonging to the same group as the first switch. In some embodiments, the management server determines a backup switch that meets preset conditions from the remaining switches belonging to the same group as the first switch as the second switch. The preset conditions set for the backup switch are similar to those set for the backup server and will not be described again.

[0372] Understandably, when the first switch is functioning correctly, the communication link between the first switch and the multiple computing servers within the first supernode is active. In this case, the port in the switching equipment used to connect to the first switch is connected to the port used to connect to the multiple computing servers within the first supernode. The fourth communication link between the second switch and the multiple computing servers within the first supernode is disconnected. In this case, the port in the switching equipment used to connect to the second switch is not connected to the port used to connect to the multiple computing servers within the first supernode.

[0373] S1502, The switching device corresponding to the first switch receives the switching command from the management server.

[0374] S1503. The switching device corresponding to the first switch, based on the switching command, disconnects the communication link between the first switch and multiple computing servers in the first supernode, and connects the fourth communication link between the second switch and multiple computing servers in the first supernode.

[0375] In some embodiments, the switching device corresponding to the first switch disconnects the port used to connect the first switch from the port used to connect multiple computing servers within the first supernode, and connects the port used to connect the second switch from the port used to connect multiple computing servers within the first supernode, so as to establish a fourth communication link between the second switch and the multiple computing servers within the first supernode.

[0376] The above steps S1501 to S1503 describe the process by which the management server controls the switching equipment to connect the communication link between the second switch and the first supernode in the event of a failure. After the fourth communication link is connected, the connected fourth communication link supports communication between the second switch and multiple computing servers within the first supernode via the switching equipment.

[0377] In some embodiments, after executing S1503, the switching device corresponding to the first switch can send a connectivity message to the management server. This connectivity message is used to notify the management server that the fourth communication link has been successfully connected. Upon receiving the connectivity message, the management server, in response to the successful connection of the fourth communication link, executes S1504.

[0378] S1504. The management server sends the task information for the second task to the second switch.

[0379] S1505, the second switch receives task information for the second task from the management server.

[0380] S1506, the second switch executes the second task based on the task information.

[0381] S1404 to S1406 are similar to S704 to S706 in Figure 7, and will not be described again.

[0382] In the embodiment shown in Figure 15 above, a backup protection scheme for switches is provided, which does not require the deployment of additional new switches. It can reduce the required redundant backup switch resources while ensuring the stability and reliability of the server cluster, thus avoiding the idleness and waste of switch resources.

[0383] For example, Figure 16 is an exemplary schematic diagram of a server backup architecture three provided in an embodiment of this application. Referring to Figure 16, taking the example of computing servers with the same number in different supernodes backing each other up, and switches with the same number in different supernodes backing each other up, 12 supernodes (each supernode includes 32 computing servers) are shown. It is possible to achieve mutual backup of computing servers numbered 1, 2, ..., 32 among the 12 supernodes, and it is also possible to achieve mutual backup of switches numbered 1, 2, ..., 32 among the 12 supernodes.

[0384] In the server backup architecture shown in Figure 16, 32 sets of switching devices are added between the compute servers and switches of different supernodes. Taking the number of the first set of switching devices as 8 as an example, each set of switching devices includes 8 OXC devices as shown in Figure 16: OXC-1, OXC-2, ..., OXC-8. The number of switching devices can be obtained based on the calculation method shown in Figure 8 above, and will not be repeated here.

[0385] In this configuration, each switch in switch group 1 can be used to connect to a compute server numbered 1 in different supernodes, each switch in switch group 2 can be used to connect to a compute server numbered 2 in different supernodes, and so on, with each switch in switch group 32 being used to connect to a compute server numbered 32 in different supernodes.

[0386] Furthermore, taking switching device group 1 as an example, OXC-1 in switching device group 1 can be used to connect switches numbered 1 in different supernodes, OXC-2 in switching device group 1 can be used to connect switches numbered 2 in different supernodes, and so on, OXC-8 in switching device group 1 can be used to connect switches numbered 8 in different supernodes.

[0387] For example, consider adding 32 groups of OXC devices, with 8 OXC devices in each group, for a total of 256 OXC devices, between the compute server and the switch. Each OXC device can have 24 ports. 12 ports are used to connect compute servers with the same ID within 12 supernodes, and 12 ports are used to connect switches with the same ID within 12 supernodes.

[0388] In this setup, all eight OXC devices in switching equipment group 1 are connected uplink to the compute server numbered 1 within the 12 supernodes. OXC-1 in switching equipment group 1 is connected downlink to the switch numbered 1 within the 12 supernodes; OXC-2 in switching equipment group 1 is connected downlink to the switch numbered 2 within the 12 supernodes; and so on, with OXC-8 in switching equipment group 1 connected downlink to the switch numbered 8 within the 12 supernodes. The connection methods of the OXC devices in other switching equipment groups to the compute servers and switches are similar to those in switching equipment group 1 and will not be described further.

[0389] Understandably, the 8 OXC devices in switch group 1 are used to achieve mutual backup among the 12 compute servers numbered 1 in the 12 supernodes, the 8 OXC devices in switch group 2 are used to achieve mutual backup among the 12 compute servers numbered 2 in the 12 supernodes, and so on, with 8 OXC devices in switch group 32 used to achieve mutual backup among the 12 compute servers numbered 32 in the 12 supernodes.

[0390] For the compute servers within the supernodes, compute server numbered 1 within the 12 supernodes connects to the 8 OXC devices in switch group 1 through its 8 outgoing ports; similarly, compute server numbered 32 within the 12 supernodes connects to the 8 OXC devices in switch group 32 through its 8 outgoing ports.

[0391] For the switches within a supernode, the 12 switches numbered 1 within the supernode connect to 32 OXC devices numbered 1 within the group through their own 32 outgoing ports, and so on. The 12 switches numbered 32 within the supernode connect to 32 OXC devices numbered 32 within the group through their own 32 outgoing ports.

[0392] For each group of OXC devices shown in Figure 16, the number of ports of the OXC device is 24, of which 12 ports are connected to the computing server in the supernode and 12 ports are connected to the switch in the supernode.

[0393] Figure 16 illustrates an example of OXC device deployment, using a 24-port OXC device and 32 groups of 8 OXC devices per group. In reality, OXC devices may have more ports, such as 128 or 256 ports, thus reducing the number of OXC devices required in the shared backup pool. For example, with a 48-port OXC device, only 16 groups of 8 OXC devices need to be deployed in the server cluster shown in Figure 16, totaling 128 OXC devices. In this case, the 8 OXC devices in group 1 provide mutual protection between the 24 compute servers numbered 1 and 2 within the 12 supernodes, and so on. Similarly, the 8 OXC devices in group 16 provide mutual protection between the 24 compute servers numbered 31 and 32 within the 12 supernodes.

[0394] In this embodiment, OXC-1, OXC-2, ..., OXC-8 within each group are used to establish communication connections between different compute servers, backup servers, and supernode switches. During normal operation, 256 OXC devices are responsible for connecting compute servers 1-32 within each supernode with switches 1-8 within the supernode, enabling the 32 compute servers within the supernode to operate normally through the switches. In some embodiments, when a compute server within a supernode fails, for example, compute server 1 fails, compute server 1 of supernode 2 can be used as a backup server. Then, OXC devices 1-8 within group 1 disconnect from compute server 1 within supernode 1 and establish a connection with compute server 1 within supernode 2, enabling the backup server to connect with the switch within supernode 1, thereby achieving data communication between the backup server and other compute servers within the supernode.

[0395] Based on the example architecture 3 of server backup shown in Figure 16, the task execution method process may include the following ① to ⑤.

[0396] ① Normal Operation: The 256 OXC devices are responsible for connecting compute servers 1-32 in each supernode with switches 1-8 in supernode 1. At this time, compute servers 1-32 in each supernode are operating normally. Taking the first task as a data synchronization task as an example, compute servers 1-32 in each supernode perform data synchronization tasks through switches 1-8 in the supernode and the cluster network.

[0397] ② Server Failure: Taking the failure of a computing server within supernode 1 as an example, if computing server 1 fails, the management server can detect the failure of computing server 1 and then confirm the start of the backup server to restore the data synchronization process.

[0398] ③ Backup server allocation: The management server obtains the status information of the computing servers in the server cluster and dynamically allocates backup servers based on the status information of the computing servers. For example, it confirms that computing server 1 in supernode 2 will be used to replace computing server 1 in supernode 1.

[0399] ④ Backup Server Switchover: The management server issues OXC switchover commands to the eight OXC devices in Group 1 to control OXC-1 to OXC-8 in Group 1 to disconnect the port connecting to compute server 1 in supernode 1 from the ports connecting to multiple switches in supernode 1, and to control OXC-1 to OXC-8 in Group 1 to connect the port connecting to compute server 1 in supernode 2 to the ports connecting to multiple switches in supernode 1, thereby establishing a communication link between compute server 1 in supernode 1 and supernode 2. It is understood that the connections between OXC-1 to OXC-8 in Group 1 and the switches remain unchanged at this time.

[0400] ⑤ Task Recovery: If the routing between compute server 2 and compute server 32 within supernode 1 and compute server 1 within supernode 2 is established, the network topology can be reconstructed according to task requirements. Furthermore, the management server can send the data synchronization task information to compute server 2 within supernode 2. Compute server 2 within supernode 2 receives the task information from the management server and then replaces compute server 1 within supernode 1 to execute the data synchronization task.

[0401] In the server backup architecture three shown in Figures 13 and 16 above, a pooled shared backup architecture for computing servers is provided. By deploying an OXC device layer between the computing servers and switches in the supernodes and establishing physical connections between the various supernodes, the computing servers within multiple supernodes can back each other up, eliminating the need for additional backup servers.

[0402] It should be noted that the above description is for the purpose of more clearly explaining the task execution method described in the embodiments of this application, and should not be construed as a limitation on the specific implementation of this application.

[0403] The above mainly describes the solutions provided by the embodiments of this application from the perspective of processing flow. Correspondingly, the embodiments of this application also provide a task execution device for implementing the various methods described above. This task execution device can be one of the methods described above, or include the aforementioned devices, or be a usable component. It is understood that, in order to achieve the above functions, the task execution device includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0404] This application embodiment can divide the task execution device into functional modules according to the above method embodiment. For example, each function can be divided into a separate functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be understood that the module division in this application embodiment is illustrative and is only a logical functional division. In actual implementation, there may be other division methods.

[0405] For example, Figure 17 is a schematic diagram of a task execution device provided in an embodiment of this application. Referring to Figure 17, the task execution device includes a control module 1701 and a sending module 1702. Wherein:

[0406] Control module 1701 is used to execute S701 shown in FIG7 above, or S1101 to S1102 shown in FIG11 above, or S1401 shown in FIG14 above.

[0407] The sending module 1702 is used to execute S704 shown in FIG7, S1107 shown in FIG11, or S1404 shown in FIG14.

[0408] In some possible implementations, the control module 1701 is also used to execute S1501 shown in FIG15 above.

[0409] In some possible implementations, the sending module 1702 is also used to perform S1504 as shown in FIG15 above.

[0410] For example, Figure 18 is a schematic diagram of another task execution device provided in an embodiment of this application. Referring to Figure 18, the task execution device includes a communication module 1801. Wherein:

[0411] The connection module 1801 is used to execute S702 to S703 shown in FIG7, or S1103 to S1106 shown in FIG11, or S1402 to S1403 shown in FIG14.

[0412] In some possible implementations, the communication module 1801 is also used to perform S1502 to S1503 as shown in FIG15 above.

[0413] For a detailed description of the above-mentioned optional methods, please refer to the foregoing method embodiments, which will not be repeated here. Furthermore, the explanation of any of the task execution devices provided above and the description of their beneficial effects can be found in the corresponding method embodiments described above, and will not be repeated here.

[0414] As an example, referring to Figure 6, some or all of the functions implemented in the control module 1701 and the sending module 1702 in the task execution device shown in Figure 17 can be implemented by the processor 601 in Figure 6 executing the computer execution instructions in the memory 602 in Figure 6.

[0415] In this embodiment, the task execution device is presented as an integrated unit divided into functional modules. Here, "module" can refer to a specific ASIC, circuitry, a processor and memory executing one or more software or firmware programs, integrated logic circuitry, and / or other devices that can provide the aforementioned functions. In a simplified embodiment, those skilled in the art will recognize that the task execution device can take the form of a server as shown in Figure 6.

[0416] For example, the processor 601 in the server shown in Figure 6 can call the computer execution instructions stored in the memory 602 to enable the server to execute the task execution method in the above method embodiment.

[0417] As an example, referring to Figure 5, some or all of the functions implemented in the communication module 1801 of the task execution device shown in Figure 18 can be implemented by the signal processor in Figure 5. In a simple embodiment, those skilled in the art will realize that the task execution device can take the form of the OXC device shown in Figure 5. For example, the signal processor in the OXC device shown in Figure 5 can execute the task execution method in the above method embodiment.

[0418] Since the task execution device provided in this application embodiment can execute the above-described task execution method, the technical effects it can achieve can be referred to the above-described method embodiment, and will not be repeated here.

[0419] It should be understood that one or more of the above modules or units can be implemented by software, hardware, or a combination of both. When any of the above modules or units are implemented by software, the software exists as computer program instructions and is stored in memory. The processor can be used to execute the program instructions and implement the above method flow. The processor can be built into a SoC (System-on-a-Chip) or ASIC, or it can be a separate semiconductor chip. In addition to the core that executes software instructions for computation or processing, the processor may further include necessary hardware accelerators, such as field-programmable gate arrays (FPGAs), PLDs (Programmable Logic Devices), or logic circuits that implement dedicated logic operations.

[0420] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a microprocessor, digital signal processing (DSP) chip, microcontroller unit (MCU), artificial intelligence processor, ASIC, SoC, FPGA, PLD, application-specific digital circuit, hardware accelerator, or non-integrated discrete device, which can run the necessary software or perform the above method flow independently of software.

[0421] Optionally, embodiments of this application also provide a server (e.g., the server may be a chip or a chip system), the server including a processor for implementing the methods executed by the server in any of the above method embodiments. In one possible design, the server further includes a memory. The memory is used to store necessary program instructions and data, and the processor can call the program code stored in the memory to instruct the server to execute the methods in any of the above method embodiments. Of course, the memory may not be present in the server. When the server is a chip system, it may be composed of chips or may include chips and other discrete devices; embodiments of this application do not specifically limit this.

[0422] This application also provides a computer-readable storage medium storing computer-executable instructions. When the computer-executable instructions are run on a server, the server executes the method performed by any of the task execution devices provided above.

[0423] For explanations of the relevant content and descriptions of the beneficial effects in any of the computer-readable storage media provided above, please refer to the corresponding embodiments described above, which will not be repeated here.

[0424] This application also provides a chip. This chip integrates a control circuit for implementing the functions of the aforementioned task execution device and one or more ports. Optionally, the functions supported by this chip can be referred to above, and will not be repeated here. Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by a program instructing related hardware. This program can be stored in a computer-readable storage medium. The aforementioned storage medium can be a read-only memory, random access memory, etc. The aforementioned processing unit or processor can be a central processing unit, a general-purpose processor, an application-specific integrated circuit (ASIC), a microprocessor (digital signal processor, DSP), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof.

[0425] This application also provides a computer program product containing computer-executable instructions, which, when executed on a server, cause the server to perform any of the methods described in the above embodiments. The computer program product includes one or more computer-executable instructions. When these instructions are loaded and executed on the server, all or part of the flow or function according to the embodiments of this application is generated. The server may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device.

[0426] Computer-executable instructions can be stored in or transmitted from one computer-readable storage medium to another. For example, computer-executable instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. A computer-readable storage medium can be any available medium that a server can access, or it can contain one or more data storage devices such as servers or data centers that can be integrated with media. Available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state disks (SSDs)).

[0427] It should be noted that the devices for storing computer instructions or computer programs provided in the embodiments of this application, such as but not limited to the memory, computer-readable storage medium and communication chip, are all non-transitory.

[0428] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product.

[0429] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, the disclosure, and the appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple instances. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.

[0430] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the spirit and scope of this application. Accordingly, this specification and drawings are merely exemplary illustrations of this application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from the spirit and scope of this application. Thus, if such modifications and modifications of this application fall within the scope of the claims of this application and their equivalents, this application is also intended to include such modifications and modifications.

Claims

1. A server cluster, characterized in that, It includes a management server, multiple supernodes, switching equipment, and a server resource pool, wherein each supernode includes multiple computing servers, and the server resource pool is used to provide multiple backup servers; wherein, The management server is communicatively connected to the multiple supernodes, the switching device, and the server resource pool. The switching device is used to connect the multiple computing servers within each supernode, and the switching device is also used to connect the multiple backup servers within the server resource pool; The management server is configured to: respond to a failure of the first server within the first supernode while executing a first task, control the switching device to connect the communication link between the second server and the remaining computing servers within the first supernode (excluding the first server), and send task information of the first task to the second server; the first supernode is any one of the plurality of supernodes, the first server is any one of the plurality of computing servers within the first supernode connected to the switching device, and the second server is one of the plurality of backup servers; The switching device is used to: connect the communication link between the second server and the other computing servers in the first supernode, excluding the first server; The second server is configured to: receive task information of the first task from the management server; and execute the first task based on the task information.

2. The server cluster according to claim 1, characterized in that, Each supernode also includes multiple switches, each of which is used to connect multiple computing servers within the corresponding supernode; The switching device is specifically used to connect the multiple computing servers within each supernode through the multiple switches within each supernode; The management server is specifically used to: send a switching instruction to the switching device, wherein the switching instruction is used to indicate the communication link connecting the second server and multiple switches within the first supernode; The switching device is specifically used for: receiving the switching instruction from the management server; and, based on the switching instruction, establishing communication links between the second server and multiple switches within the first supernode.

3. The server cluster according to claim 2, characterized in that, The switch includes a computing port and a backup port. The computing port is used to connect the multiple computing servers, and the backup port is used to connect the switching device.

4. The server cluster according to claim 1, characterized in that, The switching equipment includes a first switching device and a second switching device; wherein... Each supernode corresponds to a group of first switching devices, and each supernode also includes multiple switches; the first switching devices are used to connect the multiple computing servers within the corresponding supernode to the multiple switches, and the first switching devices are also used to connect to the second switching devices; The second switching device is used to connect to the first switching device corresponding to each supernode, and the second switching device is also used to connect to the multiple backup servers; The management server is specifically used for: Send a first switching instruction to the first switching device corresponding to the first supernode. The first switching instruction is used to indicate that the communication link between the first server and multiple switches in the first supernode be disconnected, and the first communication link between the second switching device and multiple switches in the first supernode be connected. Send a second switching instruction to the second switching device, the second switching instruction being used to indicate the connection of a second communication link between the second server and the first switching device; The first switching device corresponding to the first supernode is used to: receive the first switching instruction from the management server; based on the first switching instruction, disconnect the communication link between the first server and multiple switches in the first supernode, and connect the first communication link between the second switching device and multiple switches in the first supernode; The second switching device is used to: receive the second switching instruction from the management server; and based on the second switching instruction, establish a second communication link between the second server and the first switching device.

5. The server cluster according to claim 4, characterized in that, The first switching device includes a computing port and a backup port. The computing port is used to connect the plurality of computing servers, and the backup port is used to connect the second switching device.

6. The server cluster according to any one of claims 1-5, characterized in that, The multiple backup servers in the server resource pool are other computing servers that are the same as the computing server.

7. The server cluster according to claim 1, characterized in that, The switching devices are in multiple groups, and the multiple groups of switching devices are interconnected. One set of switching devices is used to connect computing servers identified as belonging to the same group within different supernodes to multiple switches within different supernodes; the multiple backup servers include computing servers identified as belonging to the same group within different supernodes; The management server is specifically used for: A switching instruction is sent to the switching devices in the switching device group corresponding to the first server. The switching instruction is used to indicate that the communication link between the first server and multiple switches in the first supernode is disconnected, and the third communication link between the second server and multiple switches in the first supernode is connected. The second server is one of the other computing servers in the same group as the first server. The switching devices in the switching device group corresponding to the first server are used to: receive the switching instruction from the management server; based on the switching instruction, disconnect the communication link between the first server and multiple switches in the first supernode, and connect the third communication link between the second server and multiple switches in the first supernode, wherein the second server is one of the other computing servers belonging to the same group as the first server.

8. The server cluster according to claim 7, characterized in that, The computing servers associated with the identifiers within different supernodes form a group.

9. The server cluster according to claim 7 or 8, characterized in that, The server cluster also includes a switch resource pool, which is used to provide multiple backup switches. Each group of switching equipment includes multiple switching devices, which are interconnected. One of the switching devices is used to connect computing servers whose identifiers belong to the same group within different supernodes to switches whose identifiers belong to the same group within different supernodes. The multiple backup switches include switches whose identifiers belong to the same group within different supernodes. The management server is also used for: In response to a failure of the first switch within the first supernode while performing the second task, a switching instruction is sent to the switching device corresponding to the first switch. The switching instruction is used to instruct the disconnection of the communication link between the first switch and multiple computing servers within the first supernode, and to connect the fourth communication link between the second switch and multiple computing servers within the first supernode. The second switch is one of the remaining switches belonging to the same group as the first switch. Send the task information of the second task to the second switch; The switching device corresponding to the first switch is used to: receive the switching instruction from the management server; based on the switching instruction, disconnect the communication link between the first switch and multiple computing servers in the first supernode, and connect the fourth communication link between the second switch and multiple computing servers in the first supernode; The second switch is used to: receive task information of the second task from the management server; The second task is executed based on the task information.

10. The server cluster according to claim 9, characterized in that, Switches associated with identifiers within different supernodes form a group.

11. The server cluster according to any one of claims 1-10, characterized in that, The management server is also used for: From the multiple backup servers, determine the backup server that meets the preset conditions as the second server; The preset conditions include at least one of the following: being in an idle state, being in a healthy state, having a load value less than a load threshold, and having a memory capacity greater than a capacity threshold.

12. The server cluster according to any one of claims 1-11, characterized in that, The switching equipment is an optical cross-connect (OXC) device or an optical path switching (OCS) device.

13. A task execution method, characterized in that, The method, applied to a management server in a server cluster, includes: In response to a failure of the first server within the first supernode in the server cluster while executing a first task, the switching device is controlled to establish a communication link between the second server and the remaining computing servers within the first supernode, excluding the first server. The first supernode is any one of multiple supernodes in the server cluster, and the first server is any one of multiple computing servers within the first supernode connected to the switching device. The switching device is used to connect multiple computing servers within each supernode, and also to connect multiple backup servers within a server resource pool. The second server is one of the multiple backup servers. The task information of the first task is sent to the second server, and the task information is used by the second server to execute the first task.

14. The method according to claim 13, characterized in that, The multiple backup servers are other computing servers that are the same as the computing server; The control switching device connects the communication link between the second server and the other computing servers within the first supernode, excluding the first server, including: Send a switching instruction to the switching device, the switching instruction being used to indicate the communication link connecting the second server and multiple switches within the first supernode; The communication link enables the second server to communicate with other computing servers within the first supernode, excluding the first server, via multiple switches within the first supernode.

15. The method according to claim 13, characterized in that, The multiple backup servers are other computing servers that are the same as the computing server; The control switching device connects the communication link between the second server and the other computing servers within the first supernode, excluding the first server, including: Send a first switching instruction to the first switching device corresponding to the first supernode. The first switching instruction is used to indicate that the communication link between the first server and multiple switches in the first supernode be disconnected, and the first communication link between the second switching device and multiple switches in the first supernode be connected. Send a second switching instruction to the second switching device, the second switching instruction being used to indicate the connection of a second communication link between the second server and the first switching device; The first communication link and the second communication link enable the second server to communicate with other computing servers in the first supernode, excluding the first server, via the second switching device, the first switching device, and multiple switches within the first supernode.

16. The method according to claim 13, characterized in that, The multiple backup servers include computing servers identified as belonging to the same group within different supernodes; The control switching device connects the communication link between the second server and the other computing servers within the first supernode, excluding the first server, including: A switching instruction is sent to the switching devices in the switching device group corresponding to the first server. The switching instruction is used to indicate that the communication link between the first server and multiple switches in the first supernode is disconnected, and the third communication link between the second server and multiple switches in the first supernode is connected. The second server is one of the other computing servers in the same group as the first server. The third communication link enables the second server to communicate with the other computing servers in the first supernode, excluding the first server, via the switching devices in the switching device group and multiple switches in the first supernode.

17. The method according to claim 16, characterized in that, The computing servers associated with the identifiers within different supernodes form a group.

18. The method according to claim 16 or 17, characterized in that, The server cluster also includes a switch resource pool, which provides multiple backup switches, including switches belonging to the same group within different supernodes; the method further includes: In response to a failure of the first switch within the first supernode while performing a second task, a switching command is sent to the switching device corresponding to the first switch. The switching command instructs the disconnection of the communication link between the first switch and multiple computing servers within the first supernode, and the connection of a fourth communication link between the second switch and multiple computing servers within the first supernode. The second switch is one of the remaining switches belonging to the same group as the first switch. The fourth communication link enables the second switch to communicate with multiple computing servers within the first supernode via the switching device. The task information of the second task is sent to the second switch, and the task information is used by the second switch to execute the second task.

19. The method according to claim 18, characterized in that, Switches associated with identifiers within different supernodes form a group.

20. The method according to any one of claims 13-19, characterized in that, Before the control switching device establishes a communication link between the second server and the remaining computing servers within the first supernode (excluding the first server), the method further includes: From the multiple backup servers, determine the backup server that meets the preset conditions as the second server; The preset conditions include at least one of the following: being in an idle state, being in a healthy state, having a load value less than a load threshold, and having a memory capacity greater than a capacity threshold.

21. The method according to any one of claims 13-20, characterized in that, The switching equipment is an optical cross-connect (OXC) device or an optical path switching (OCS) device.

22. A task execution method, characterized in that, A switching device applied in a server cluster, the switching device being used to connect multiple computing servers within each supernode of the server cluster, and the switching device also being used to connect multiple backup servers within a server resource pool of the server cluster, the method comprising: In the event of a failure of the first server within the first supernode in the server cluster, a communication link is established between the second server and the remaining computing servers within the first supernode, excluding the first server. The first supernode is any one of the multiple supernodes in the server cluster, and the first server is any one of the multiple computing servers within the first supernode connected to the switching device. The second server is one of the multiple backup servers.

23. The method according to claim 22, characterized in that, The multiple backup servers are other computing servers that are the same as the computing server; The communication link connecting the second server and the other computing servers within the first supernode (excluding the first server) includes: Receive a switchover command from the management server in the server cluster; Based on the switching command, a communication link is established between the second server and multiple switches within the first supernode; the communication link enables the second server to communicate with other computing servers within the first supernode, excluding the first server, via multiple switches within the first supernode.

24. The method according to claim 22, characterized in that, The multiple backup servers are other computing servers identical to the computing server; the switching equipment includes a first switching device and a second switching device; The communication link connecting the second server and the other computing servers within the first supernode (excluding the first server) includes: The first switching device corresponding to the first supernode receives a first switching instruction from the management server in the server cluster; based on the first switching instruction, the communication link between the first server and multiple switches in the first supernode is disconnected, and the first communication link between the second switching device and multiple switches in the first supernode is connected. The second switching device receives a second switching instruction from the management server in the server cluster; based on the second switching instruction, a second communication link is established between the second server and the first switching device. The first communication link and the second communication link enable the second server to communicate with other computing servers in the first supernode, excluding the first server, via the second switching device, the first switching device, and multiple switches within the first supernode.

25. The method according to claim 22, characterized in that, The multiple backup servers include computing servers identified as belonging to the same group within different supernodes; The communication link connecting the second server and the other computing servers within the first supernode (excluding the first server) includes: The switching device in the switching device group corresponding to the first server receives a switching instruction from the management server in the server cluster; Based on the switching instruction, the communication link between the first server and multiple switches in the first supernode is disconnected through the switching device in the switching device group corresponding to the first server, and the third communication link between the second server and multiple switches in the first supernode is connected. The second server is one of the other computing servers in the same group as the first server. The third communication link enables the second server to communicate with the other computing servers in the first supernode, excluding the first server, via the switching devices in the switching device group and multiple switches in the first supernode.

26. The method according to claim 22 or 25, characterized in that, The server cluster also includes a switch resource pool, which provides multiple backup switches, including switches belonging to the same group within different supernodes; the method further includes: In the event of a failure of the first switch within the first supernode, a switching instruction from the management server in the server cluster is received through the switching device corresponding to the first switch. Based on the switching instruction, the switching device corresponding to the first switch disconnects the communication link between the first switch and multiple computing servers in the first supernode, and connects the fourth communication link between the second switch and multiple computing servers in the first supernode. The second switch is one of the other switches in the same group as the first switch. The fourth communication link enables the second switch to communicate with multiple computing servers within the first supernode via the switching device.

27. The method according to any one of claims 22-26, characterized in that, The switching equipment is an optical cross-connect (OXC) device or an optical path switching (OCS) device.

28. A task execution device, characterized in that, The device is used as a management server in a server cluster, and includes: A control module is configured to, in response to a failure of a first server within a first supernode in the server cluster while executing a first task, control a switching device to establish a communication link between a second server and the remaining computing servers within the first supernode, excluding the first server. The first supernode is any one of multiple supernodes in the server cluster, and the first server is any one of multiple computing servers within the first supernode connected to the switching device. The switching device is used to connect multiple computing servers within each supernode, and also to connect multiple backup servers. The second server is one of the multiple backup servers. The sending module is used to send the task information of the first task to the second server, and the task information is used by the second server to execute the first task.

29. A task execution device, characterized in that, A switching device used in a server cluster, the switching device being used to connect multiple computing servers within each supernode of the server cluster, and the switching device also being used to connect multiple backup servers within a server resource pool of the server cluster, the device comprising: The connectivity module is used to establish a communication link between a second server and the remaining computing servers within the first supernode (excluding the first server) in the server cluster in the event of a failure of the first server within the first supernode. The first supernode is any one of the multiple supernodes in the server cluster, the first server is any one of the multiple computing servers within the first supernode connected to the switching device, and the second server is one of the multiple backup servers.

30. A server, characterized in that, The method includes a memory and a processor, the memory and the processor being connected; the memory is used to store computer-executable instructions; the processor is used to invoke the computer-executable instructions to perform the method as described in any one of claims 13-21.

31. A switching device, characterized in that, Includes a signal processor, the signal processor being configured to perform the method as described in any one of claims 22-27.

32. A computer-readable storage medium, characterized in that, Includes computer execution instructions, which, when executed on a server, cause the server to perform the method as described in any one of claims 13-21.

33. A computer program product, characterized in that, Includes computer-executed instructions that, when executed on a server, cause the server to perform the method as described in any one of claims 13-21.