WO2023246689A1 - 计算系统及通信方法 - Google Patents

计算系统及通信方法 Download PDF

Info

Publication number
WO2023246689A1
WO2023246689A1 PCT/CN2023/101032 CN2023101032W WO2023246689A1 WO 2023246689 A1 WO2023246689 A1 WO 2023246689A1 CN 2023101032 W CN2023101032 W CN 2023101032W WO 2023246689 A1 WO2023246689 A1 WO 2023246689A1
Authority
WO
WIPO (PCT)
Prior art keywords
switching
chip
node
computing
nodes
Prior art date
Application number
PCT/CN2023/101032
Other languages
English (en)
French (fr)
Inventor
高俊恩
李晓初
夏中俊
袁保军
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023246689A1 publication Critical patent/WO2023246689A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip

Definitions

  • the present application relates to the field of computers, and in particular to computing systems and communication methods.
  • the bandwidth that the switch can provide to the computing chip is also limited.
  • the switching capacity of the switch is 12.8Tbps, which can provide 64 200Gb ports. Calculated based on 32 ports downlink, 1
  • each computing chip can only be allocated 50Gb of bandwidth.
  • the 50Gb bandwidth will limit the performance of the computing chip and become a performance bottleneck for the computing chip. If the number of computing chips connected to the switch is reduced to achieve the bandwidth required by the computing chips, too few computing chips will lead to a decrease in the overall parallel computing capability of the computer cluster.
  • This application provides a computing system and a communication method to solve the problem of bottlenecks in the computing power of computer clusters.
  • the computing system can be a high-density integrated cabinet architecture.
  • the cabinet where the computing system is located is not only used to place convergence nodes and switching nodes, but also to implement communication connections between different convergence nodes and switching nodes.
  • computing systems include frame servers and cabinet servers.
  • frame servers can include rack servers, blade servers and high-density servers, frame servers.
  • Frame servers usually have an open structure, and the convergence nodes and switching nodes in each computing system can be placed in the same frame.
  • blade servers and high-density servers have higher computing density and can save more hardware space, but have smaller storage capabilities. Therefore, the required server type can be selected based on the actual application scenario.
  • the cabinet server can be a whole cabinet server, and the cabinet server is a fully enclosed or It is a semi-closed structure, and the same cabinet server can include one or more computing systems including converged nodes and switching nodes.
  • the connector includes a high-speed connector, and the high-speed connector realizes orthogonal connection between the first fusion node and the first switching node by twisting a 90-degree angle.
  • the network topology between multiple computing chips, at least one first switching chip and multiple first switching nodes includes a network topology without a central switching node and a network topology with a central switching node.
  • various groups in the Dragonfly network can be connected in an all-to-all manner.
  • This type of network is also called a dragonfly+ network.
  • the so-called full interconnection means that each group is connected to other groups in the Dragonfly network.
  • the dragonfly+ network group is larger and supports more groups.
  • the group uses a connection method with as few hops as possible, usually full interconnection or dimensionality.
  • the flat butterfly structure can further shorten the link length, thereby providing low-latency communication.
  • the Torus network includes multiple nodes. Each node can be the above-mentioned computing system. There are loopback links (waraparound links or toroidal boundaries) between each node. The existence of loopback links makes the nodes in the torus network no longer located. The difference between topological center or edge is that each node has two adjacent nodes in each dimension, so that there can be multiple forwarding paths between any two nodes. The reliability, switching capacity and scalability of the network are very good. high.
  • the data packet forwarding between computing systems needs to pass through the switching node in each computing system.
  • the forwarding path may pass through one or more switching nodes, which is not specifically limited in this application.
  • a fat tree network is a large-scale non-blocking network built through a large number of low-performance switches and multi-layer networks.
  • a fat tree network can include multiple clusters (pods) and multiple core switches connecting the pods.
  • Each pod includes multiple layer 1 switches and multiple layer 2 switches.
  • Each layer 1 switch is connected to one or more computing chips.
  • the layer 1 switch is used to implement data communication between computing chips.
  • Each layer 2 switch is connected to a Or multiple first-tier switches.
  • the second-tier switches are used to realize data communication between the first-tier switches.
  • Each core switch is connected to one or more pods, and the core switches are used to realize data communication between pods.
  • core switches can also form multi-layer sub-networks, and the data communication between each layer of sub-networks is implemented by the previous layer of sub-networks, and so on, so that there can exist between every two computing nodes in the fat tree network.
  • the fat tree network is a non-blocking network technology that uses a large number of switching chips to build a large-scale non-blocking network. The bandwidth theory of this network from bottom to top does not converge.
  • There are many paths for data communication and there are always paths that can Let the communication bandwidth reach the required bandwidth to further solve the problem of computing core
  • the performance of the chip is limited by the network bandwidth and the performance of the computer cluster is improved.
  • the number of multiple converged nodes and multiple switching nodes in the computing system is based on the bandwidth requirements of the computing chip, the number of ports and switching capacity of the first switching chip, the number of ports of the first switching node, and the number of switching nodes. At least one of the exchange capacities is determined.
  • the convergence node can be deployed in the first box, and the switching node can be deployed in the second box.
  • the box can refer to a chassis or other device that has placement and fixing accessories, supports and protects various components in the chassis.
  • the box can include a shell, a bracket, various switches on the panel, indicator lights, etc.
  • the box can be made of a combination of steel plates and plastics, which is not specifically limited in this application.
  • the size of the first box and the second box, the number of boxes that can be installed in the computing system, and the parallelism of the computing system required by the user can be combined.
  • Various environmental conditions in actual application scenarios such as processing power determine the number of second computing chips in each switching node and the number of computing chips and first switching chips in each fusion node.
  • the number of boxes that can be installed in the computing system refers to the number of boxes that can be placed in the cabinet or rack where the computing system is located.
  • the above implementation method determines the number of convergence nodes and switching nodes in the computing system based on the bandwidth requirements of the computing chip, the number of ports and switching capacity of the first switching chip, and the number of ports and switching capacity of the first switching node.
  • the network thus formed The scale not only ensures the available bandwidth of each computing chip and the scale of the entire computing system, but also has multiple parallel paths between each computing chip, so the network has good fault tolerance and can be reasonably diverted within the pod to avoid overload. question.
  • the network composed of the first switching chip and the second switching chip in the computing system may include multiple switching planes.
  • a part of the first switching chip and a part of the second switching chip are responsible for the data communication of the first switching plane.
  • the first switching chip and another part of the second switching chip are responsible for data communication of the second switching plane.
  • the first switching plane and the second switching plane may be network-isolated switching planes.
  • a two-layer or above fat tree network can be formed through the cabinets provided by this application, and each network can be The switching chip allocates the corresponding switching plane, so that the user can use the first switching plane to realize data communication of service 1, and use the second switching plane to realize data communication of service 2.
  • the computing system may also include more switching planes, such as a third switching plane, a fourth switching plane, etc., and each switching plane may also include more first switching chips and second switching planes.
  • the switching chip is not specifically limited in this application.
  • the first switching chip and the second switching chip can generate a routing table through a forwarding algorithm according to their respective connection relationships, or mac address table.
  • the routing table or mac address table may include multiple entries. Each entry may represent a forwarding path. Each entry may include at least a source address, a destination address and a corresponding next hop address. Section 1 After a switching chip receives the data packet sent by the computing chip, it can query the routing table or mac address table to obtain the forwarding path of the data packet and determine the next hop address based on the source address and destination address carried in the data packet. Then forward the data packet to the next hop address.
  • the MAC address table can be generated by relying on switch forwarding algorithms such as ARP.
  • the source address and destination address can be MAC addresses.
  • the routing table can be generated through routing algorithms such as RIP and BGP.
  • the above-mentioned source address and destination address can be IP addresses, which will not be specified in this application. limited.
  • the forwarding path recorded in the routing table or mac address table is determined based on the connection relationship between the first switching chip and the computing chip.
  • each first switching chip can establish communication connections with all computing chips, and communication between computing chips within each fusion node can pass through any first switching chip within the same fusion node.
  • 120 realizes that the forwarding path of data packets between computing chips within each converged node may include any first switching chip 120 .
  • Each switching node establishes communication connections with all fusion nodes through connectors, so that data communication between each fusion node can be achieved through any second switching chip, and the forwarding path of data packets between each fusion node can include any third Two switching chips.
  • each first switching chip can establish a communication connection with some computing chips.
  • the data communication between multiple computing chips inside the fusion node can determine the forwarding path according to the first switching chip connected to it. If the sending and receiving parties are connected If the first switching chip is the same as the first switching chip, then the first switching chip can realize data communication between the first switching chip and some computing chips through the routing table.
  • the forwarding path of the data message may include the source address, the same first switching chip as mentioned above. The address of the chip and the destination address.
  • the forwarding path of the message may include the source address, the address of the first switching chip 1, the address of the second switching chip 1, the address of the first switching chip 2 and the destination address, where the first switching chip 1 and the computing chip where the source address is located.
  • the first switching chip 2 is connected to the computing chip where the destination address is located, and the second switching chip 1 is connected to the first switching chip 1 and the first switching chip 2 .
  • the sending and receiving parties are connected to different first switching chips, and there is a direct connection between the two first switching chips, then data communication can be achieved through the two first switching chips connected to the sending and receiving parties, and the forwarding path of the message can be It includes the source address, the first switching chip 1, the first switching chip 2 and the destination address.
  • each computing chip is connected to only one first switching chip, then the data message generated by the computing chip can be directly sent to the first switching chip connected to it. If each computing chip is connected to multiple first switching chips, connected, then after the computing chip generates the data packet, it can send the data packet to the first switching chip with better network conditions according to the network status fed back by at least one first switching chip connected to it to implement packet forwarding, or the
  • the computing system may also include a management node.
  • the management node may determine the first switching chip to forward the data message based on load balancing or other network management algorithms. This application does not make a specific limitation.
  • the computing chip may also determine the first switching chip to forward the data message based on the information carried in the data message.
  • identification select the first switching chip connected to it that can process the first switching chip carrying the identification to implement data packet forwarding.
  • the identification can be the identification of the first forwarding plane, then only the first forwarding plane's Only one switching chip can forward the data message, which is not specifically limited in this application.
  • the system can increase the bandwidth allocated to each computing chip by reducing the number of computing chips connected to the first switching chip, and expand the bandwidth by increasing the number of first switching chips.
  • Computer cluster size thereby solving the problem of computer cluster performance bottlenecks.
  • the fusion node is placed in the horizontal direction.
  • the number of switching nodes can be increased in the horizontal direction, and the first box where the fusion node is located can be adaptively increased.
  • the length of the box enables the expanded first box and a larger number of switching nodes to be connected through backplane-less orthogonal connectors.
  • the number of fusion nodes can be increased vertically, and the length of the second box where the switching node is located can be adaptively increased, so that the expanded second box can be connected to a larger number of fusion nodes through backplane-less orthogonal connectors. .
  • the fusion nodes are placed vertically and the exchange nodes are placed horizontally, then the number of nodes can be exchanged in the vertical direction and the number of fusion nodes can be increased in the horizontal direction, which will not be described here.
  • the fusion node and the switching node are orthogonally connected.
  • the scale of the computing system is expanded, only the number of switching nodes or fusion nodes needs to be expanded horizontally or vertically, making the computing system provided by this application highly scalable and implementable. high.
  • the computing system may include one or more symmetrical multi-processing (SMP) systems, and each fusion node may also include one or more SMP systems.
  • SMP symmetrical multi-processing
  • the SMP system refers to a set of processors assembled on a server, and the processor set includes multiple CPUs.
  • each processor shares memory and other resources on a server, such as a shared bus structure, and the workload can be evenly distributed among all available processors. That is to say, an SMP system corresponds to an OS domain and multiple computing chips.
  • These computing chips can be computing chips in the same fusion node or in different fusion nodes. This application does not make specific limitations.
  • the computing chips in each SMP system can be flexibly combined according to the business requirements of the actual application scenario, so that the computing chips provided by this application
  • the system can meet the user's needs for multiple SMP systems and improve the user experience.
  • a communication method is provided.
  • the method is applied to a computing system.
  • the computing system includes multiple fusion nodes and multiple switching nodes.
  • the first switching node among the multiple switching nodes is coupled to the first fusion node through a connector.
  • the first switching node is used to implement communication connections between the first fusion node and other fusion nodes among the plurality of fusion nodes.
  • the first fusion node among the plurality of fusion nodes includes a plurality of computing chips and at least one first switching chip, at least A first switching chip is used to implement communication connections between multiple computing chips.
  • the method includes the following steps: the first computing chip of the first fusion node generates a data message, wherein the destination address of the data message is the second computing chip. The address of the chip, the first fusion node forwards the data packet according to the address of the fusion node where the second computing chip is located.
  • a first switching node among the plurality of switching nodes is coupled to the first fusion node through a connector, and a plurality of computing chips in the first fusion node are connected to the first switching chip.
  • the number of computing chips connected to the first switching chip When the number is reduced, by increasing the number of first switching chips, the number of computing chips in the entire computing system can also be increased.
  • each computing chip By reducing the number of computing chips connected to each first switching chip, each computing chip can be allocated The bandwidth is increased, thereby increasing the size of the computer cluster and increasing the available bandwidth of each computing chip, thus solving the problem of computer cluster performance bottlenecks.
  • connection method between multiple convergence nodes and multiple switching nodes is an orthogonal connection
  • the connectors include backplane-less orthogonal connectors or optical blind plug connectors.
  • the network topology between multiple convergence nodes and multiple switching nodes includes a network topology without a central switching node and a network topology with a central switching node.
  • the number of convergence nodes and switching nodes in the computing system is determined based on the bandwidth requirements of the computing chip, the number of ports and switching capacity of the first switching chip, and the number of ports and switching capacity of the first switching node. .
  • At least one first switching chip includes a first switching chip of a first switching plane and a first switching chip of a second switching plane
  • the first switching node includes a plurality of second switching chips
  • a plurality of second switching chips includes a plurality of second switching chips.
  • the second switching chip includes a second switching core of the first switching plane. The chip and the second switching chip of the second switching plane, the first switching plane and the second switching plane undertake different services.
  • the first switching plane and the second switching plane are network-isolated switching planes, or the first switching plane and the second switching plane use different communication protocols.
  • the fusion node includes a computing unit and a first switching unit, where the computing unit is used to generate a data message, where the data message
  • the source address is the address of the first computing chip in the fusion node
  • the destination address is the address of the second computing chip
  • the first switching unit is used to forward the data packet according to the address of the fusion node where the second computing chip is located.
  • a first switching node among the plurality of switching nodes is coupled to the first fusion node through a connector, and a plurality of computing chips in the first fusion node are connected to the first switching chip.
  • the number of computing chips connected to the first switching chip When the number is reduced, by increasing the number of first switching chips, the number of computing chips in the entire computing system can also be increased.
  • each computing chip By reducing the number of computing chips connected to each first switching chip, each computing chip can be allocated The bandwidth is increased, thereby increasing the size of the computer cluster and increasing the available bandwidth of each computing chip, thus solving the problem of computer cluster performance bottlenecks.
  • connection method between multiple convergence nodes and multiple switching nodes is an orthogonal connection
  • the connectors include backplane-less orthogonal connectors or optical blind plug connectors.
  • the connector includes a high-speed connector, and the high-speed connector realizes orthogonal connection between multiple fusion nodes and multiple switching nodes by twisting a 90-degree angle.
  • the network topology is a network topology without a central switching node
  • communication connections between multiple computing systems are implemented through switching nodes
  • the network topology is a network topology with a central switching node
  • the communication connection between multiple computing systems is realized through the central switching node.
  • At least one first switching chip includes a first switching chip of a first switching plane and a first switching chip of a second switching plane
  • the first switching node includes a plurality of second switching chips
  • a plurality of second switching chips and a plurality of second switching chips.
  • the two switching chips include a second switching chip of the first switching plane and a second switching chip of the second switching plane.
  • the first switching plane and the second switching plane undertake different services.
  • the first switching plane and the second switching plane are network-isolated switching planes, or the first switching plane and the second switching plane use different communication protocols.
  • a switching node in a fourth aspect, can be applied to a computing system.
  • the computing system includes multiple fusion nodes and multiple switching nodes.
  • the first switching node among the multiple switching nodes is connected to the first fusion node through a connector.
  • a first switching node among the plurality of switching nodes is coupled to the first fusion node through a connector, and a plurality of computing chips in the first fusion node are connected to the first switching chip.
  • the number of computing chips connected to the first switching chip When the number is reduced, by increasing the number of first switching chips, the number of computing chips in the entire computing system can also be increased.
  • each computing chip By reducing the number of computing chips connected to each first switching chip, each computing chip can be allocated The bandwidth is increased, thereby increasing the size of the computer cluster and increasing the available bandwidth of each computing chip, thus solving the problem of computer cluster performance bottlenecks.
  • connection mode between multiple convergence nodes and multiple switching nodes is orthogonal connection
  • the connectors include backless Board orthogonal connector or optical blind mating connector.
  • the connector includes a high-speed connector, and the high-speed connector realizes orthogonal connection between multiple fusion nodes and multiple switching nodes by twisting a 90-degree angle.
  • the network topology is a network topology without a central switching node
  • communication connections between multiple computing systems are implemented through switching nodes
  • the network topology is a network topology with a central switching node
  • the communication connection between multiple computing systems is realized through the central switching node.
  • the number of convergence nodes and switching nodes in the computing system is determined based on the bandwidth requirements of the computing chip, the number of ports and switching capacity of the first switching chip, and the number of ports and switching capacity of the first switching node. .
  • At least one first switching chip includes a first switching chip of a first switching plane and a first switching chip of a second switching plane
  • the first switching node includes a plurality of second switching chips
  • a plurality of second switching chips and a plurality of second switching chips.
  • the two switching chips include a second switching chip of the first switching plane and a second switching chip of the second switching plane.
  • the first switching plane and the second switching plane undertake different services.
  • the first switching plane and the second switching plane are network-isolated switching planes, or the first switching plane and the second switching plane use different communication protocols.
  • a computing device in a sixth aspect, includes a processor and a memory.
  • the memory is used to store codes.
  • the processor is used to execute the codes to implement the functions of the operation steps performed by the fusion node described in the second aspect.
  • a communication device in an eighth aspect, includes a processor and a memory.
  • the memory is used to store codes, and the processor is used to execute the codes to implement the functions of the operation steps performed by the switching node as described in the second aspect.
  • a tenth aspect provides a computer cluster, including multiple computing systems. There are communication connections between the multiple computing systems to collaboratively process tasks. Each computing system in the multiple calculations can be the computing system described in the first aspect. Communication connections between each computing system are implemented through switching nodes within each computing system.
  • the network topology between multiple computing systems may be the network topology without a central switching node mentioned above, such as a dragonfly (dragonfly or dragonfly+) network, a torus network (torus), and so on.
  • a computer storage medium stores instructions, which when run on a computer, cause the computer to execute the methods described in the above aspects.
  • Figure 1 is a schematic structural diagram of a computing system provided by this application.
  • Figure 2 is a schematic structural diagram of a computing system provided by this application in an application scenario
  • Figure 3 is a schematic diagram of the connection relationship between a convergence node and a switching node provided by this application;
  • Figure 4 is a schematic structural diagram of a four-layer fat tree network provided by this application.
  • Figure 5 is a schematic structural diagram of a computing system provided by this application in an application scenario
  • Figure 6 is a schematic structural diagram of a computing system provided by this application in an application scenario
  • Figure 8 is a schematic flowchart of the steps of a communication method provided by this application in another application scenario
  • Figure 9 is a schematic structural diagram of a computing system provided by this application.
  • Figure 10 is a schematic structural diagram of a computing system provided by this application.
  • this application provides a computing system including multiple fusion nodes and multiple switching nodes.
  • the first fusion node among the multiple fusion nodes includes multiple computing nodes.
  • the chip and at least one first switching chip, the at least one first switching chip is used to implement communication connections between multiple computing chips, and the first switching node is used to implement communication between the first fusion node and other fusion nodes among the multiple fusion nodes.
  • Communication connection wherein a first switching node among the plurality of switching nodes is coupled to the first fusion node through a connector, and a plurality of computing chips in the first fusion node are connected to the first switching chip.
  • coupling is used to indicate that the first switching node is directly connected to the first fusion node through a connector, or coupling is used to indicate that the first switching node is indirectly connected to the first fusion node through a connector.
  • the number of computing chips connected to the first switching chip decreases, by increasing the number of first switching chips, the number of computing chips in the entire computing system can be increased, while the number of computing chips connected to each first switching chip can be reduced. After the number is increased, the bandwidth that can be allocated to each computing chip can be increased, thereby expanding the scale of the computer cluster and increasing the available bandwidth of each computing chip, thereby solving the problem of computer cluster performance bottlenecks.
  • the computing system can be a high-density integrated cabinet architecture.
  • the cabinet where the computing system is located is not only used to place fusion nodes and switching nodes, but also to implement communication connections between different fusion nodes and switching nodes.
  • computing systems include frame servers and cabinet servers.
  • frame servers can include rack servers, blade servers and high-density servers, frame servers.
  • Frame servers usually have an open structure, and the convergence nodes and switching nodes in each computing system can be placed in the same frame.
  • blade servers and high-density servers have higher computing density and can save more hardware space, but have smaller storage capabilities. Therefore, the required server type can be selected based on the actual application scenario.
  • the cabinet server can be a whole cabinet server.
  • the cabinet server has a fully enclosed or semi-enclosed structure.
  • the same cabinet server can include one or more computing systems including fusion nodes and switching nodes.
  • the frame server can also be stored in a cabinet server.
  • multiple frame servers can be placed in one cabinet server.
  • the server as a cabinet server as an example, that is, the convergence node and the switching node in the computing system are placed in the same cabinet.
  • FIG. 1 is a schematic structural diagram of a computing system 400 provided by this application.
  • the computing system is any server in a computer cluster. Specifically, it can be a cabinet server or a frame server.
  • the computing system is a cabinet server, that is, a first cabinet 400 .
  • the first cabinet 400 may include a first box 100 and a second box 200 .
  • the first box 100 and the second box Communication connections can be established between entities 200 through links 300.
  • the number of the first cabinet 400, the first box 100, and the second box 200 may be one or more, and is not specifically limited in this application.
  • the first cabinet 400 may also include a power module, a management module, a fan, etc., which are not specifically limited in this application.
  • the box can refer to the chassis or other box that has the function of placing and fixing accessories, supporting and protecting various accessories in the chassis.
  • the box can include shells, brackets, various switches on the panel, indicator lights, etc.
  • the box body can be made of a combination of steel plate and plastic, which is not specifically limited in this application.
  • each first box 100 includes a fusion node 110
  • each second box 200 includes a switching node 210 .
  • the fusion node 110 protected by the first box 100 is a computing device with computing capabilities.
  • the computing device can serve as a computing node in a computing system cluster and provide computing capabilities for the computing system cluster.
  • the fusion node 110 at least includes chips and interfaces, and may also include more components according to actual application scenarios, such as motherboards, memory, hard disks, radiators, graphics cards, PCIe, etc., which are not specifically limited in this application.
  • the chip of the fusion node 110 may include a computing chip 130 and a first switching chip 120, where the number of computing chips 130 and first switching chips 120 may be one or more.
  • the computing chip 130 may be a chip that processes computing tasks in a computing system cluster, such as a central processing unit (CPU), an image processing unit (GPU), or a neural network processor (neural-network processing unit, NPU). ), data processing unit (DPU), etc., this application does not make specific limitations.
  • the computing chip 130 may be a computing chip used when processing services in a cluster in application scenarios such as HPC and AI, or may be a memory chip used by storage nodes in a distributed storage scenario, which is not specifically limited in this application.
  • the first switching chip 120 may store a routing table (routing table) or a media access control (mac) address table.
  • the routing table or mac address table may include multiple entries. Each entry It can represent a forwarding path. Each entry can include at least a source address, a destination address and a corresponding next hop address.
  • the first switching chip 120 can According to the source address and destination address carried in the data packet, query the routing table or mac address table to obtain the forwarding path of the data packet, determine the next hop address, and then forward the data packet to the next hop address.
  • a first switching chip 120 can also be connected to part of the computing chips 130.
  • the first box includes computing chips 1 to 32, and also includes the first switching chip 1 and the first switching chip 2. Then the first switching chip 1 can establish a communication connection with the computing chips 1 to 16 , and the first switching chip 2 can establish a communication connection with the computing chips 17 to 32 .
  • the number of computing chips 130 connected to each first switching chip 120 may be determined based on the bandwidth requirements of the computing chips in the first box 100, as well as the number of ports and switching capacity of the first switching chip. For example, the bandwidth requirement of the computing chip is 100Gb.
  • the switching capacity of the first switching chip is 12.8Tbps and can provide 32 downlink ports.
  • first switching chip 120 and the computing chip 130 are in the same box.
  • a communication connection can be established between the first switching chip 120 and the computing chip 130 through a bus inside the computing device, such as a fast peripheral component interconnection.
  • Standard Peripheral Component Interconnect Express, PCIe
  • EISA extended industry standard architecture
  • unified bus unified bus, Ubus or UB
  • CXL computer express link
  • cache consistency Internet protocol cache coherent interconnect for accelerators, CCIX
  • the orthogonal connection between the switching node 210 and the fusion node 110 can reduce the length of the link 300 between the switching node 210 and the fusion node 110, thereby reducing the cable connection error rate caused by the excessive number of cables or optical fibers, and at the same time Reduce cable or fiber loss.
  • the electrical connection mainly realizes the communication connection between the fusion node 110 and the switching node 210 through electrical connectors.
  • the electrical connector here is a backplane-less orthogonal connector.
  • the backplane-less orthogonal connector can make The switching node 210 and the fusion node 110 are directly orthogonally connected. They are not connected through cables or optical fibers, but are directly coupled to each other, thereby avoiding a high cable connection error rate due to too many cables or optical fibers. , the problem of high cable or optical fiber loss.
  • the electrical connection can also be achieved by combining an electrical connector with a cable to realize the communication connection between the convergence node 110 and the switching node 210 .
  • the electrical connector here is a high-speed connector with a backplane.
  • This connection method requires the use of a small amount of cables. The cables are first used to realize the flexible connection between the switching node 210, the convergence node 110 and the high-speed connector, and then the high-speed connection is The switch is twisted 90 degrees to realize an orthogonal connection between the switching node 210 and the fusion node 110, making the switching node 210 and the fusion node 110 almost directly orthogonal. Since the number of cables is reduced, the problem of the number of cables or optical fibers can be reduced. Too much leads to problems such as high cable connection error rate and high cable or optical fiber loss.
  • a cabinet can install 256 computing chips, and the user requires the bandwidth of the computing chip 130 to be at least 200Gb, and the selected first switching chip 120 and the second switching chip 220 both have a switching capacity of 12.8Tbps, which can provide 64 200Gb ports and 32 downlink ports.
  • the entire first cabinet 400 requires 9,600 200Gb ports.
  • each first switching chip 120 can be connected to up to 32 computing chips 130, and each second switching chip 220 is connected to at least 8 first switching chips 120, thereby realizing a computer cluster of 256 computing chips, and each computing chip The available bandwidth is 200Gb.
  • the switching node 210 and the convergence node 110 are connected using orthogonal connectors without backplanes.
  • No cables or optical fibers are used, which can reduce the number and length of cables. This can not only reduce signal loss, but also avoid The problem of high connection error rate caused by too many cables, or the problem of photoelectric conversion delay overhead caused by too many optical fibers.
  • the first switching chip and the second switching chip can generate a routing table or a mac address table through a forwarding algorithm according to their respective connection relationships.
  • the routing table or mac address table may include multiple entries. Each entry may represent a forwarding path. Each entry may include at least a source address, a destination address and a corresponding next hop address.
  • the first switching chip receives After calculating the data packet sent by the chip, you can query the routing table or mac address table to obtain the forwarding path of the data packet based on the source address and destination address carried in the data packet, determine the next hop address, and then proceed to the next step. The hop address forwards the data packet.
  • the MAC address table can be generated by relying on switch forwarding algorithms such as ARP.
  • the source address and destination address can be MAC addresses.
  • the routing table can be generated through routing algorithms such as RIP and BGP.
  • the above-mentioned source address and destination address can be IP addresses, which will not be specified in this application. limited.
  • each first switching chip 120 can establish a communication connection with part of the computing chips 130.
  • the data communication between multiple computing chips inside the fusion node can determine the forwarding path according to the first switching chip connected to it. If the sending and receiving parties The same first switching chip is connected, then the first switching chip 120 can realize data communication between the first switching chip 120 and part of the computing chip 130 through the routing table,
  • the forwarding path of the data message may include the source address, the same address of the first switching chip mentioned above, and the destination address.
  • each computing chip can be connected to a first switching chip, and then the data message generated by the computing chip can be directly sent to the first switching chip connected to it; in some embodiments, each computing chip can also be connected to a first switching chip. At least one first switching chip is connected, and then after the computing chip generates the data message, it can send the data message to the first switching chip with better network conditions based on the network conditions fed back by at least one connected first switching chip to implement reporting.
  • the first cabinet 400 may also include a management node, and the management node may determine the first switching chip to forward the data message based on load balancing or other network management algorithms, which is not specifically limited in this application; or, a computing chip It is also possible to select the first switching chip connected to the data message based on the identifier carried in the data message and to be able to process the first switching chip carrying the identifier to implement forwarding of the data message.
  • the identifier can be the identifier of the first forwarding plane. Then only the first switching chip of the first forwarding plane can forward the data message, which is not specifically limited in this application.
  • connection relationship between the internal chips of the nodes and between the chips and connectors is not drawn inside the switching node 210 and the fusion node 110
  • the switching node 210 and the fusion node 110 can be as follows: The foregoing description of the connection relationship between chips within the node encapsulates the connection relationship inside the box.
  • communication connections can be established between the computing chip inside the fusion node 110 and the first switching chip, and between the first switching chip and the connector, and between the second switching chip inside the switching node 210 and the connector.
  • the communication connection can be established through a bus, which can be a PCIe bus, an EISA bus, a UB bus, a CXL bus, a CCIX bus, etc., which is not specifically limited in this application.
  • the first switching chip 120 is responsible for data communication between the computing chips 130 within the same fusion node 110
  • the second switching chip 220 in the switching node 210 is responsible for data communication between the computing chips 130 in different fusion nodes 110 of data communication.
  • the specific process by which the first switching chip 120 implements data communication between computing chips 130 in the same node and in different nodes will be described below with reference to FIG. 3 .
  • Figure 3 is a schematic diagram of the connection relationship between a fusion node and a switching node provided by this application.
  • Fusion node 1 and fusion node 16 in Figure 3 are two fusion nodes among the 16 fusion nodes in Figure 2, and switching node 1 in Figure 3 is the eight switching nodes in Figure 2.
  • the computing chip C1 and the computing chip C2 in the fusion node 1 are connected to the first switching chip L12, the first switching chip L12 is connected to the link 300, and the second switching chip L23 in the switching node 1 is connected to the link. 300 is connected, the first switching chip L14 of the fusion node 16 is connected to the link 300, and the first switching chip L14 is connected to the computing chip C3.
  • the routing table or mac address table in each first switching chip can record multiple forwarding paths. The rules of this forwarding path can be as follows.
  • the data communication can be carried out through the first switching chip L12 in the fusion node 1.
  • the forwarding path of the data packet sent by the computing chip C1 to the computing chip C2 As follows: the computing chip C1 sends the data packet to the first switching chip L12, and the first switching chip L12 forwards the data packet to the computing chip C2, thereby realizing data communication between computing chips in the same fusion node.
  • computing Chip C1 may first send the data message to the first switching chip L12, the first switching chip L12 sends the data message to the second switching chip L23 in switching node 1, and the second switching chip L23 then forwards the data message to The first switching chip L11 of the fusion node 1 forwards the data packet to the computing chip C4.
  • the forwarding path of the data packet sent by the computing chip C1 to the computing chip C2 is: the computing chip C1 can first forward the data packet Sent to the first switching chip L12, the first switching chip L12 forwards the data message to the first switching chip L11, and the first switching chip L11 forwards the data message to the computing chip C4.
  • the sending end computing chip and the receiving end computing chip There can be multiple overhead lines between For the same path, the routing table or mac address table on the sending end's local computing chip can determine the optimal forwarding path through load balancing and other algorithms. The sending end's computing chip can query the local routing table to obtain the optimal forwarding path, avoiding network Congestion.
  • the first switching chip L12 inside the fusion node 1, the second switching chip L23 inside the switching node 1, and the switching chip L23 inside the fusion node 16 can be used.
  • the first switching chip L14 implements data communication.
  • the computing chip C1 can first send the data message to the first switching chip L12, the first switching chip L12 can forward the data message to the second switching chip L23 on the switching node 1, and the second switching chip L23 can The data packet is forwarded to the first switching chip L14 on the convergence node 16, and the first switching chip L14 can forward the data packet to the computing chip C3 in the node.
  • the data communication between the converged nodes can be realized through any second switching chip on any switching node, for example, through any second switching chip in the switching node 8. Specifically, it can be combined with the second switching chip in each switching node. The workload of the chip determines the appropriate second switching chip. Alternatively, the user can also set some switching nodes to be responsible for the data communication of some fusion nodes. There is no specific limit in the application.
  • Figure 3 does not show all the connection relationships between the computing chip and the first switching chip in the converged node, does not show all the connection relationships between the first switching chip and the link 300, and does not show all the connection relationships between the first switching chip and the link 300.
  • the connection relationship between all the second switching chips and the link 300 can be connected to some or all of the first switching chips in the fusion node 1.
  • All the second switching chips in the fusion node 1 One switching chip can be connected to the link 300, and all second switching chips in the switching node 1 can be connected to the link 300.
  • all first switching chips of the convergence node 16 can be connected to the connector.
  • the first cabinet 400 includes multiple convergence nodes 110 and multiple switching nodes 210. These convergence nodes 110 and switching nodes 210 may form an interconnection network.
  • the network topology of the interconnection network may include a centerless switching. Node network topology and network topology with central switching nodes. The following explains the network topology without a central switching node and the network topology with a central switching node respectively.
  • the interconnection network does not include other switch cabinets, but only includes the above-mentioned computing system (such as the first cabinet 400). Data communication is realized between multiple computing systems through the switching node 210.
  • the interconnection network also includes other switch cabinets, which are used to implement data communication between multiple computing systems.
  • the switch cabinet here is the above-mentioned central switching node.
  • the network topology without a central switching node may include, but is not limited to, a dragonfly (dragonfly or dragonfly+) network, a torus network, etc.
  • the network topology with a central switching node may include, but is not limited to, a fat tree (fat tree). -tree) network, this application does not make specific limitations.
  • various groups in the Dragonfly network can be connected in an all-to-all manner.
  • This type of network is also called a dragonfly+ network.
  • the so-called full interconnection means that each group is connected to other groups in the Dragonfly network.
  • the dragonfly+ network group is larger and supports more groups.
  • the group uses a connection method with as few hops as possible, usually full interconnection or dimensionality.
  • the flat butterfly structure can further shorten the link length, thereby providing low-latency communication.
  • the Torus network includes multiple nodes. Each node can be the first cabinet 400 mentioned above. There are loopback links (waraparound links or toroidal boundaries) between each node. The existence of loopback links makes the nodes in the torus network no longer There is a difference between being located at the center or edge of the topology. Each node has two adjacent nodes in each dimension, so that there can be multiple forwarding paths between any two nodes, which improves the reliability, switching capacity and scalability of the network. All very high.
  • core switches can also form multi-layer sub-networks, and the data communication between each layer of sub-networks is implemented by the previous layer of sub-networks, and so on, so that there can exist between every two computing nodes in the fat tree network.
  • the fat tree network is a non-blocking network technology that uses a large number of switching chips to build a large-scale non-blocking network. The bandwidth theory of this network from bottom to top does not converge.
  • There are many paths for data communication and there are always paths that can Let the communication bandwidth reach the required bandwidth, further solve the problem that the performance of computing chips is limited by network bandwidth, and improve the performance of computer clusters.
  • each first cabinet 400 can establish a communication connection with one or more central switching nodes. Data messages between the first cabinets 400 Forwarding needs to be implemented through one or more of the above central switching nodes.
  • the interconnection network composed of multiple first cabinets 400 may also include multiple second cabinets. These cabinets may be switch cabinets, and each second cabinet may include multiple third switching chips. Each second cabinet is used to implement communication connections between multiple first cabinets.
  • the first switching chip and the computing chip in the first cabinet 400 can form the first layer network in the fat tree network
  • the second switching chip and the first switching chip can form the first layer network in the fat tree network.
  • the second layer network, the third switching chip and the second switching chip can form the third layer network in the fat tree network.
  • the third switching chips can also form a multi-layer network to form the third layer of the fat tree network. network, layer 4 network, etc. This application does not limit the number of network layers composed of the third switching chip.
  • the fat tree network builds a large-scale non-blocking network by using a large number of switching chips.
  • the fat tree network has the advantage that the bandwidth theory from bottom to top does not converge, due to the number of switching chips and complex connection relationships , will lead to too many cables or optical fibers in the network, which will easily lead to problems such as difficulty in cable connection, connection errors, and large photoelectric conversion losses.
  • the first layer network and The second layer network is packaged in the same cabinet, and the computing chip and the first switching chip L1 are in the first box, and one or more second switching chips L2 are in the second box.
  • each fusion node includes a computing chip and a first switching chip L1
  • each second box includes a second switching chip L2.
  • each first cabinet includes b first boxes and c second boxes.
  • Each second cabinet includes d third switching chips L3 and e third switching chips L4, and the computer cluster includes m first cabinets and n first cabinets.
  • FIG. 4 is for illustration, and this application does not refer to the number of computing chips and the number of first switching chips L1 in the first box, the number of second switching chips L2 in the second box, the number of first switching chips in the first cabinet.
  • the number of the box and the second box, the number of the third switching chip L3 and the fourth switching chip L4 in the second box, and the number of the first cabinet and the second cabinet are limited.
  • the number of layers of the fat tree network and the number of switching chips in each layer of the network can be determined based on the bandwidth required by each computing chip, the number of ports that each switching chip can provide, and the switching capacity, which is not specifically limited in this application.
  • each computing chip is connected to each first switching chip L1, and each first switching chip L1 It is connected to each second switching chip L2, each second switching chip L2 is connected to each third switching chip L3, and each third switching chip L3 is connected to each third switching chip L4.
  • FIG. 4 is for illustration.
  • each computing chip can also be connected to part of the first switching chip L1, and each second switching chip can also be connected to part of the third switching chip L3.
  • the switching chip L3 can also be connected to some third switching chips L4 to ensure that each computing chip can communicate with other computing chips in the computer cluster.
  • the first switching plane and the second switching plane bear different services.
  • user service 1 uses the first switching plane
  • service 2 uses the second switching plane, thereby avoiding network delays caused by service conflicts.
  • the computer cluster can provide users with greater bandwidth capabilities and improve user efficiency. Use experience.
  • FIG 5 is a schematic structural diagram of a computing system provided by this application in an application scenario.
  • the computing system is a cabinet server, such as the first cabinet 400.
  • the cabinet includes two switching planes.
  • the cabinet includes 16 convergence nodes and 10 switching nodes.
  • Each convergence node It includes 8 computing chips and 3 first switching chips, among which the first switching chip L11-1 and the first switching chip L12-1 belong to the first switching plane, and the first switching chip L11-2 belongs to the second switching plane.
  • Each switching node includes four second switching chips, among which switching nodes 1 to 8 belong to the first switching plane, and switching nodes 9 and 10 belong to the second switching plane.
  • the fusion nodes are placed in the horizontal direction and the switching nodes are placed in the vertical direction.
  • the fusion nodes can also be placed in the vertical direction and the switching nodes are placed in the horizontal direction. This application does not make specific limitations.
  • first box and the second box can be directly inserted into the backplane-less orthogonal connector for connection without using cables or optical fibers. Therefore, a cabinet including multiple first boxes and second boxes can be greatly reduced in size. The number of cables or optical fibers avoids the problem of incorrect cable connection and reduces the transmission loss of cables and light.
  • the second switching chip of the first switching plane and the second switching chip of the second switching plane are packaged in different second boxes.
  • the second box may also include multiple A second switching chip of a switching plane, for example, the second switching chips L1 and L2 in switching node 1 are switching chips of the first switching plane, and the second switching chips L3 and L4 are switching chips of the second switching plane.
  • the second switching chips L1 and L2 in switching node 1 are switching chips of the first switching plane
  • the second switching chips L3 and L4 are switching chips of the second switching plane.
  • different switching planes can be encapsulated in different second boxes. If the user does not need the switching plane for network isolation, but needs different switching planes to undertake different services. Or, if different switching planes run different communication protocols, the different switching planes can be encapsulated in the same second box, saving more hardware resources.
  • Step S720 The first switching chip 1 forwards the first data packet to the computing chip 2.
  • step S710 and step S720 describe the data communication process within the fusion node
  • steps S730 to S760 describe the step process of the communication method between computing chips in different fusion nodes. If the computing chip 1 does not need to perform data communication with the computing chips in other fusion nodes, steps S730 to S760 may not be performed; if the computing chip 1 does not need to perform data communication with the computing chips in the same fusion node, step S710 may not be performed. and step S720, directly execute steps S730 to step S760; of course, the computing chip 1 can also execute steps S730 to step S760 first and then execute step S710 and step S720, which is not specifically limited in this application.
  • Step S740 The first switching chip 1 forwards the second data packet to the second switching chip 1 in the switching node 1.
  • each second switching chip in each fusion node can establish communication connections with all first switching chips. In this way, there are many paths for data communication. No matter which computing chip can find the communication bandwidth to meet the required bandwidth communication path. Therefore, the second switching chip 1 may be determined by the switching node 1 based on the idle status of all second switching chips in the node.
  • the first switching chip in each fusion node has established a communication connection with each second switching chip, and the second switching chip 1 is connected to the first switching chip 1 and the first switching chip 2, so the second switching chip 1 is connected to the first switching chip 1 and the first switching chip 2.
  • Chip 1 may forward the second data packet to the convergence node 2 where computing chip 3 is located based on the address of computing chip 3 carried in the second data packet.
  • the first switching chip inside the convergence node can forward the second data message to the computing chip 3 in the same node according to the address of the computing chip 3 carried in the received second data message.
  • the above-mentioned computing chip 1 may be the computing chip C1 in the embodiment of FIG. 3, the computing chip 3 may be the computing chip C3 in the embodiment of FIG. 3, and the first switching chip 1 may be the first switching chip 1 in the embodiment of FIG. 3.
  • Switch chip L12, the first switch chip 2 may be the first switch chip L14 in the embodiment of FIG. 3, and the second switch chip 1 may be the second switch chip L23 in the embodiment of FIG. 3.
  • steps S730 to S760 Reference may be made to the step flow of data communication between the computing chip C1 and the computing chip C3 in the embodiment of FIG. 3 , which will not be repeated here.
  • each first switching chip in the converged node can be connected to all the computing chips in the same node, or each first switching chip can be connected to some computing chips. In this case, a transmission error may occur.
  • the computing chip 1 at the end and the computing chip 4 as the receiving end are respectively connected to different first switching chips. The communication method between computing chips in the same fusion node in this case will be described below with reference to Figure 8 .
  • FIG 8 is a schematic flowchart of the steps of a communication method provided by this application in another application scenario.
  • the computing chip at the sending end and the computing chip at the receiving end are connected to different first switching chips, such as As shown in Figure 8, the method may include the following steps:
  • Step S810 The computing chip 1 sends a third data message to the first switching chip 1, where the destination address of the third data message is the address of the computing chip 4.
  • the computing chip 4 and the computing chip 1 are the computing nodes in the fusion node 1. chip, and the computing chip 1 is connected to the first switching chip 1, and the computing chip 4 is connected to the first switching chip 2.
  • Step S820 The first switching chip 1 forwards the third data packet to the second switching chip 1 of the switching node 1.
  • each second switching chip can establish a communication connection with each first switching chip, and the first switching chip 1 can connect the first switching chip 1 to the first switching chip 2.
  • the third data message is forwarded to the second switching chip 1 , and the second switching chip 1 forwards the third data message to the first switching chip 2 .
  • Step S830 The second switching chip 1 forwards the third data packet to the first switching chip 2.
  • Step S840 The first switching chip 2 forwards the third data message to the computing chip 4.
  • the above-mentioned first switching chip 1 may be the first switching chip L12 in FIG. 3
  • the first switching chip 2 may be the first switching chip L11 in FIG. 3
  • the computing chip 1 may be the computing chip in FIG. 3 C1
  • the computing chip 4 may be the computing chip C4 in FIG. 3
  • the second switching chip 1 may be the second switching chip L23 in FIG. 3.
  • the description of the above steps S810 to S840 may refer to the computing chip in the embodiment of FIG. 3. The steps of data communication between C1 and computing chip C4 will not be repeated here.
  • the data communication between the sending end and the receiving end can be through the The first switching chip realizes; if the computing chip of the sending end and the computing chip of the receiving end are connected to different first switching chips, then the sending end can forward the data message to the second switching chip through the first switching chip connected to it.
  • the second switching chip then forwards the data message to the first switching chip connected to the receiving end, and then forwards the data message to the receiving end through the first switching chip connected to the receiving end.
  • the communication methods described in Figures 7 and 8 are communication methods when the computer cluster is a two-layer fat tree network. If the computer cluster forms a fat tree network with more than two layers, such as the four-layer fat tree shown in Figure 4 network, at this time data communication between different cabinets can also be realized through the third switching chip.
  • the second switching chip (not specifically limited in this application), then passes through the third switching chip L3-1 in the second cabinet 1 (of course it can also be any third switching chip in any second cabinet), and then passes through the first cabinet
  • the second switching chip L2-1 of the second box 1 in m (it can also be any second switching chip in the first cabinet m), finally passes through the first switching chip of the first box 1 in the first cabinet m L1-1, and finally transmitted to the computing chip 1 in the first box 1 in the first cabinet m.
  • the two can achieve data communication through the directly connected first switching chip; if there is no common directly connected third switching chip between the two, One switching chip, then data communication is achieved through the second switching chip directly connected to the first switching chip connected to each other; if there is no second switching chip directly connected to the first switching chip connected to the two, then the data communication can be realized.
  • each switching plane has a corresponding first switching chip and a second switching chip. If the number of network layers of the computer cluster is two or more , each switching plane also has a corresponding third switching chip.
  • the computing chip uses different switching planes for data communication, data communication can be achieved through the first switching chip, the second switching chip and the third switching chip corresponding to the switching plane.
  • the communication method please refer to the relevant description of the communication method shown in Figures 7 and 8, and the details will not be repeated here.
  • the switching chips of different switching planes are not connected and are not shared; if the user does not require network isolation, but just wants different switching planes to process different services or use different communication protocol, then the switching chips of different switching planes can be connected or shared, and the data packets generated by the computing chip can carry the identification of the switching plane, for example, using When the first switching plane performs data communication, the data packet generated by the computing chip can carry the identification of the first switching plane. In this way, when the first switching chip receives the data packet, it can determine whether to forward it based on the identification. If If the switching chip of the second switching plane receives the data packet carrying the identifier of the first switching plane, the switching chip may not process the data packet.
  • the communication process within the computing system can refer to the description of the embodiments in Figures 7 and 8, and will not be repeated here.
  • this application provides a communication method that is applied to a computer cluster.
  • the computer cluster includes multiple first cabinets.
  • Each first cabinet includes multiple convergence nodes and multiple switching nodes.
  • the plurality of convergence nodes include
  • the first fusion node includes a plurality of computing chips and at least one first switching chip.
  • the at least one first switching chip is used to realize communication connections between the plurality of computing chips.
  • the first switching node is used to realize the communication between the first fusion node and the plurality of computing chips.
  • FIG. 9 is a schematic structural diagram of a computing system provided by this application.
  • the computing system 1000 may be the computing system described in the embodiments of FIG. 1 and FIG. 8 .
  • the computing system 1000 may include a switching node 210 and a fusion node 110, where,
  • the switching node 210 includes a second switching unit 221
  • the fusion node 110 includes a computing unit 131 and a first switching unit 121
  • the plurality of fusion nodes 110 are coupled to the plurality of switching nodes 210 through connectors.
  • the number of fusion nodes 110 and switching nodes 210 may be multiple, and this application does not specifically limit it.
  • the computing unit 131 of the fusion node 110 is used to process computing tasks and generate data packets, where the source address of the data packet is the address of the first computing chip in the fusion node, and the destination address is the address of the second computing chip. ;
  • the first switching unit 121 of the fusion node 110 when the second computing chip is the computing chip in the fusion node, forwards the data message to the destination address through the first switching chip in the fusion node; the first switching unit 121 uses When the second computing chip is a computing chip outside the fusion node, the data packet is forwarded to the first switching node, so that the first switching node forwards the data packet to the destination address.
  • the computing unit 131 can be implemented by the computing chip 130 in the embodiment of FIG. 1 to FIG. 8 , and the computing unit 131 can execute steps S710 and S730 in the embodiment of FIG. 7 and step S810 in the embodiment of FIG. 8 .
  • the first switching unit 121 can be implemented by the first switching chip 120 in the embodiment of FIGS. 1 to 8 .
  • the first switching unit 121 may perform steps S720, S740, and S760 in the embodiment of FIG. 7, and may also perform steps S820 and S840 in the embodiment of FIG. 8.
  • the second switching unit 221 can be implemented by the second switching chip 220 in the embodiment of FIGS. 1 to 8 , and the second switching unit 221 can perform step S750 in the embodiment of FIG. 7 and step S830 in the embodiment of FIG. 8 .
  • the second switching unit 221 of the switching node 210 is configured to receive a data packet sent by the first switching chip of the first fusion node among the plurality of fusion nodes 110.
  • the source address of the data packet is the first switch of the first fusion node.
  • the address of the chip, the destination address is the address of the second computing chip in the second fusion node; the second switching unit 221 is used to forward the data message to the first switching chip of the second fusion node 110 for the first switching chip
  • the data packet is forwarded to the second computing chip, where the second convergence node 110 includes the first switching chip and the computing chip.
  • connection mode between the convergence node 110 and the switching node 210 is an orthogonal connection
  • the connector includes a backplane-less orthogonal connector or an optical blind plug connector.
  • the connector includes a high-speed connector, and the high-speed connector realizes orthogonal connection between the fusion node and the first switching node by twisting a 90-degree angle.
  • the convergence node 110 includes a first switching chip of the first switching plane and a first switching chip of the second switching plane; a first switching unit 121, configured to carry the first switching plane in the data packet. when the data packet carries the identification of the second switching plane, forward the data packet through the first switching chip of the first switching plane; the first switching unit 121 is configured to forward the data packet through the first switching chip of the second switching plane when the data packet carries the identification of the second switching plane.
  • the chip forwards data messages;
  • the first switching plane and the second switching plane are network-isolated switching planes; or the first switching plane and the second switching plane bear different services; or the first switching plane and the second switching plane Planes use different communication protocols.
  • the network topology between the multiple convergence nodes 110 and the multiple switching nodes 210 includes a network topology without a central switching node and a network topology with a central switching node.
  • the network topology without a central switching node may include but is not limited to dragonfly network, dragonfly+ network, torus network, etc.
  • the network topology with a central switching node may include but is not limited to a fat tree network.
  • the switching node when the network topology is a network topology without a central switching node, the switching node is used to implement communication connections between multiple computing systems; when the network topology is a network topology with a central switching node In the structure, the communication connection between multiple computing systems is realized through the central switching node.
  • the number of convergence nodes and switching nodes in the computing system is determined based on the bandwidth requirements of the computing chip, the number of ports and switching capacity of the first switching chip, and the number of ports and switching capacity of the first switching node. .
  • FIG 10 is a schematic structural diagram of a computing system provided by this application.
  • the computing system 10000 can be the computing system in the embodiment of Figures 1 to 9, such as the first cabinet 400 in Figures 1 to 9, wherein the computing system 10000 includes a plurality of computing devices 1000 and a plurality of communication devices 2000.
  • the computing device 1000 includes a computing chip 1001, a storage unit 1002, a storage medium 1003, a communication interface 1004, and a first switching chip 1007.
  • the chip 1007 communicates through the bus 1005, and also communicates through other means such as wireless transmission.
  • the computing device 1000 also includes multiple computing chips, such as the computing chip 1001 and the computing chip 1006 shown in FIG. 10 .
  • Each of these computing chips can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
  • a processor here refers to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • the first switching chip 1007 is a switching chip of the switch and is composed of at least one general-purpose processor.
  • the switching chip may be an ASIC, a PLD, or a combination thereof.
  • the above PLD is CPLD, FPGA, GAL or any combination thereof.
  • the first switching chip 1007 can execute software or firmware programs stored in the storage unit 1002 to implement data communication between computing chips in the computing device 1000 .
  • the computing device 1000 also includes at least one first switching chip, such as the first switching chip 1007 and the first switching chip 1008 shown in FIG. 6 .
  • the storage unit 1002 is used to store program codes, and is controlled and executed by the computing chip 1001 to execute the processing steps of the computing chip in any of the above embodiments in FIGS. 1 to 9 .
  • the program code includes one or more software units, and the one or more software units are the computing units in the embodiment of FIG. 9 , where the computing unit is used to process computing tasks and generate data messages.
  • the computing unit is used to execute step S710, step S730 and their optional steps in the embodiment of FIG. 7, and step S810 and its optional steps in the embodiment of FIG. 8.
  • the storage unit 1002 is also used to store program codes, and is controlled and executed by the first switching chip 1007 to execute the processing steps of the first switching chip in any of the above embodiments in FIGS. 1 to 9 .
  • the program code includes one or more software units.
  • the one or more software units are the first switching unit in the embodiment of FIG. 9, where the first switching unit is used when the destination address of the data message is within the convergence node. When calculating the address of the chip, the data communication request is forwarded to the destination address.
  • the first switching unit is also used to forward the data message to the switching node when the destination address of the data message is the address of the computing chip outside the fusion node. For switching nodes to forward data packets to the destination address.
  • the first switching unit is used to perform step S720, step S740, step S760 and their optional steps in the embodiment of Figure 7, and step S820, step S840 and their optional steps in the embodiment of Figure 8, which will not be described again here. .
  • the communication device 2000 includes a second switching chip 2001, a storage unit 2002, a storage medium 2003 and a communication interface 2004, Among them, the second switching chip 2001, the storage unit 2002, the storage medium 2003 and the communication interface 2004 communicate through the bus 2005, and can also communicate through other means such as wireless transmission.
  • the second switching chip 2001 is a switching chip of the switch and is composed of at least one general-purpose processor.
  • the switching chip may be an ASIC, a PLD, or a combination thereof.
  • the above PLD is CPLD, FPGA, GAL or any combination thereof.
  • the communication device 2000 includes a plurality of second switching chips 2001, such as the second switching chip 2001 and the second switching chip 2006 shown in FIG. 10 .
  • the storage unit 2002 is used to store program codes, and is controlled and executed by the second switching chip 2001 to execute the processing steps of the second switching chip in any of the above embodiments in FIGS. 1 to 9 .
  • the program code includes one or more software units, and the one or more software units are the second switching unit in the embodiment of Figure 9, wherein the second switching unit is used to receive the first fusion node among the plurality of fusion nodes.
  • the data packet sent by the first switching chip is forwarded to the first switching chip of the second fusion node, so that the first switching chip of the second fusion node forwards the data packet to the second computing chip, where,
  • the source address of the data message is the address of the first computing chip of the first fusion node, and the destination address is the address of the second computing chip of the second fusion node.
  • the second switching unit is used to perform step S740, step S750 and their optional steps in the embodiment of Figure 7, and is also used to perform step S830 and its optional steps in the embodiment of Figure 8, which will not be described again here.
  • Storage unit 1002 and storage unit 2002 include read-only memory, random access memory, volatile memory, or non-volatile memory, or both volatile and non-volatile memory.
  • non-volatile memory is read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (erasable PROM, EPROM), and electrically erasable programmable read-only memory (ROM).
  • ROM read-only memory
  • PROM programmable ROM
  • EPROM erasable programmable read-only memory
  • ROM electrically erasable programmable read-only memory
  • Memory electrically EPROM, EEPROM
  • Volatile memory is random access memory (RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • Double data rate synchronous dynamic random access memory double data date SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
  • synchronous link dynamic random access memory direct Memory bus random access memory
  • direct rambus RAM direct rambus RAM, DR RAM
  • hard disk hard disk
  • U disk universal serial bus, USB
  • flash flash
  • SD card secure digital memory Card, SD card
  • memory stick etc.
  • the hard disk is a hard disk drive (hard disk drive, HDD) , solid state disk (SSD), mechanical hard disk (HDD), etc., this application does not make specific limitations.
  • Storage medium 1003 and storage medium 2003 are carriers for storing data, such as hard disk (hard disk), U disk (universal serial bus, USB), flash memory (flash), SD card (secure digital memory Card, SD card), memory stick, etc. etc.
  • the hard disk can be a hard disk drive (HDD), a solid state disk (SSD), a mechanical hard disk (mechanical hard disk, HDD), etc., and this application does not limit it in detail.
  • the communication interface 1004 and the communication interface 2004 are wired interfaces (such as Ethernet interfaces), internal interfaces (such as high-speed serial computer expansion bus (Peripheral Component Interconnect express, PCIe) bus interface), wired interfaces (such as Ethernet interfaces) or wireless Interface (such as a cellular network interface or using a wireless LAN interface) for communicating with other servers or units.
  • wired interfaces such as Ethernet interfaces
  • internal interfaces such as high-speed serial computer expansion bus (Peripheral Component Interconnect express, PCIe) bus interface
  • wired interfaces such as Ethernet interfaces
  • wireless Interface such as a cellular network interface or using a wireless LAN interface
  • Bus 2005 and bus 1005 are Peripheral Component Interconnect Express (PCIe) bus, or extended industry standard architecture (EISA) bus, unified bus (unified bus, Ubus or UB), computer quick link (compute express link, CXL), cache coherent interconnect for accelerators, CCIX, etc.
  • PCIe Peripheral Component Interconnect Express
  • EISA extended industry standard architecture
  • unified bus unified bus, Ubus or UB
  • computer quick link compute express link
  • CXL cache coherent interconnect for accelerators
  • Bus 2005 and bus 1005 are divided into address bus, data bus, control bus, etc.
  • bus 2005 and the bus 1005 also include a power bus, a control bus, a status signal bus, etc.
  • various buses are labeled as bus 2005 and bus 1005 in the figure.
  • the first switching chip 1007 in the computing device 1000 is coupled to the second switching chip 2001 in the communication device 2000 through a connector, and each second switching chip 2001 is connected to each first switching chip 1007 through a connector.
  • Orthogonal connection is used to establish a communication connection.
  • the above-mentioned connectors include but are not limited to backplane-less orthogonal connectors, optical blind plug connectors and high-speed connectors.
  • the high-speed connector needs to first use cables to realize the flexible connection between the computing device 1000, the communication device 2000 and the high-speed connector, and then twist the high-speed connector 90 degrees to realize the orthogonal connection between the switching node 210 and the convergence node 110. connect.
  • FIG. 10 is only one possible implementation manner of the embodiment of the present application.
  • the computing system 10000 may also include more or fewer components, which is not limited here.
  • contents not shown or described in the embodiments of the present application please refer to the relevant explanations in the embodiments of FIGS. 1 to 9 , and will not be described again here.
  • Embodiments of the present application provide a computer cluster, which includes multiple computing systems shown in Figure 10. There are communication connections between the multiple computing systems to collaboratively process tasks. Among them, each computing system can establish a communication connection with the central switching node (such as the second cabinet in the aforementioned content). Each central switching node is used to implement communication connections between computing systems.
  • the network topology between multiple computing systems and multiple central switching nodes can be the network topology with central switching nodes in the aforementioned content, such as Fat Tree Network.
  • Embodiments of the present application provide another computer cluster, including multiple computing systems shown in Figure 10. There are communication connections between the multiple computing systems to collaboratively process tasks. Communication connections between each computing system are implemented through switching nodes within each computing system. Among them, the network topology between multiple computing systems can be the network topology without a central switching node as mentioned above, such as Dragonfly network, Dragonfly+ network or Torus network, etc. For contents not shown or described in the embodiments of the present application, please refer to the relevant explanations in the embodiments of FIGS. 1 to 9 , and will not be described again here.
  • the embodiment of the present application also provides a computing device.
  • the computing device includes a processor and a power supply circuit.
  • the power supply circuit is used to supply power to the processor.
  • the processor is used to implement the integration node in the embodiments shown in Figures 1 to 9. Function to perform action steps.
  • the above embodiments are implemented in whole or in part by software, hardware, firmware or any other combination.
  • the above-described embodiments are implemented in whole or in part in the form of a computer program product.
  • a computer program product includes at least one computer instruction.
  • the computer is a general-purpose computer, a special-purpose computer, a computer network, or other programming device.
  • Computer instructions are stored in or transmitted from one computer-readable storage medium to another, e.g., from a website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic cable) , digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) means to transmit to another website, computer, server or data center.
  • Computer-readable storage media are any media that can be accessed by a computer or data storage nodes such as servers and data centers that contain at least one media collection.
  • the media used is magnetic media (for example, floppy disk, hard disk, tape), optical media (for example, high-density digital video disc (DVD)), or semiconductor media.
  • the semiconductor medium is SSD.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种计算系统及通信方法,涉及计算机领域。该计算系统包括多个融合节点和多个交换节点,多个融合节点中第一融合节点包括多个计算芯片和至少一个第一交换芯片,至少一个第一交换芯片用于实现多个计算芯片之间的通信连接,以及,多个交换节点中第一交换节点通过连接器与第一融合节点耦接,第一交换节点用于实现第一融合节点与多个融合节点中其他融合节点之间的通信连接。交换芯片和计算芯片就近部署,多个融合节点和交换节点之间采用正交连接和数据两级交换的方式,构建高性能、大带宽、低时延的高密系统。

Description

计算系统及通信方法
本申请要求于2022年06月23日提交中国专利局、申请号为202210719934.5、申请名称为“一种计算集群系统”的中国专利申请的优先权,本申请要求于2022年08月30日提交中国专利局、申请号为202211049150.2、申请名称为“计算系统及通信方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机领域,尤其涉及计算系统及通信方法。
背景技术
带宽和时延是网络通信的两个关键指标,对于包括多个计算设备的计算集群而言,带宽和时延决定了计算集群系统的性能。特别是对于高性能计算(high performance computing,HPC)、人工智能(artificial intelligent,AI)等带宽、时延敏感类应用场景,需要计算设备中各个计算芯片协作完成计算任务,各个计算芯片之间存在大量的通信量,所以,大带宽、低时延的通信可以有效提升计算机集群的处理性能。
通常情况下,HPC和AI等计算密集型应用往往需要多个计算设备共同参与数据处理,计算设备间通过交换机进行通信,而由于计算设备数量较多,实际部署中,通常需要设置多个交换机,且通过较长的物理网线实现不同计算设备和交换机之间的通信连接。实际应用中,交换机的性能越强,设备间通信的距离越短,越容易实现计算机集群的大带宽、低时延通信。而交换机的性能常常通过交换容量来衡量,一台交换机的交换容量越高,所能处理数据的能力就越强,但是设计成本也会越高。交换机的交换容量又称为背板带宽或者交换带宽,是交换机接口处理器或者接口卡和数据总线之间所能吞吐的最大数据量,其单位为Gbps或者Tbps,其中Gbps为千兆位,Tbps为百万兆位。
但是,由于交换机的交换容量有限,交换机能够给计算芯片提供的带宽也是有限的,举例来说,交换机的交换容量为12.8Tbps,可以提供64个200Gb的端口,按照32个端口下行来算,1个交换机连接128颗计算芯片时,每个计算芯片只能分配到50Gb的带宽,而一些处理能力较强的计算芯片,50Gb的带宽会限制计算芯片的性能,成为计算芯片的性能瓶颈。如果减少与交换机连接的计算芯片数量以达到计算芯片所需的带宽时,计算芯片数量过少又会导致计算机集群整体的并行计算能力下降,事实上,随着HPC技术和AI技术的不断发展,128颗计算芯片的计算机集群已经不能满足要求,因此计算芯片的数量需求再不断增加的背景条件下,交换机提供的带宽又受限,使得计算机集群的算力出现瓶颈。
发明内容
本申请提供了计算系统及通信方法,用于解决计算机集群的算力出现瓶颈的问题。
第一方面,提供了一种计算系统,该计算系统包括多个融合节点和多个交换节点,多个融合节点中第一融合节点包括多个计算芯片和至少一个第一交换芯片,至少一个第一交换芯片用于实现多个计算芯片之间的通信连接,以及,多个交换节点中第一交换节点通过连接器与第一融合节点耦接,第一交换节点用于实现第一融合节点与多个融合节点中其他融合节点之间的通信连接。
多个交换节点中的第一交换节点通过连接器与第一融合节点耦接,第一融合节点中的多个计算芯片与第一交换芯片连接,交换芯片和计算芯片就近部署,多个融合节点和交换节点之间采用正交连接和数据两级交换的方式,构建高性能、大带宽、低时延的高密计算系统。此外,为了提升计算系统的算力,也可以通过增加第一交换芯片的数量的方式,满足计算芯片的数量增加所带来的带宽需求,由此提高每个计算芯片的可用带宽,进一步提升整个计算系统的性能。
可选地,计算系统可以是一种高密的框柜一体架构,计算系统所在机柜不仅仅用于放置融合节点和交换节点,还用于实现不同融合节点和交换节点的通信连接。具体地,计算系统包括机框式服务器和机柜式服务器。其中,机框式服务器可包括机架服务器、刀片服务器和高密服务器,机框式服务器。机框式服务器通常为敞开式结构,每个计算系统内的融合节点和交换节点可以放置于同一个机框内。刀片服务器和高密服务器相比机架服务器的计算密度更高,能够节省更多的硬件空间,但是存储能力较小,因此可以根据实际的应用场景选择所需的服务器类型。机柜式服务器可以是整机柜服务器,机柜式服务器是全封闭式或 者半封闭式结构,同一机柜式服务器中可包括一个或多个包括融合节点和交换节点的计算系统。
在一些实施例中,机框式服务器也可以存放于机柜式服务器中,换句话说,一个机柜柜式服务器中可放置多个机框式服务器。
在一可能的实现方式中,第一融合节点和第一交换节点之间的连接方式为正交连接,连接器包括无背板正交连接器或者光盲插连接器。
可选地,无背板正交连接器可以使得交换节点和融合节点直接正交连接,二者之间不通过线缆或者光纤连接,而是直接对接耦接的方式,从而避免由于线缆或者光纤数量过多造成线缆连接错误率高、线缆或者光纤损耗高的问题。光盲插连接器通过光信号的方式实现二者之间的正交连接,光信号可通过密集型光波复用(DWDM:Dense Wavelength Division Multiplexing)、高密光纤连接器的技术进一步提升交换节点和融合节点之间的通信带宽,从而进一步提高每个计算芯片可使用的带宽,使得计算机集群可以扩展更大规模,提高计算机集群的性能。
在一可能的实现方式中,连接器包括高速连接器,高速连接器通过扭转90度角实现第一融合节点和第一交换节点之间的正交连接。
利用线缆实现交换节点、融合节点以及高速连接器之间的柔性连接,然后将高速连接器扭转90度,使得交换节点和融合节点几近于直接正交,且所需的线缆长度很少,由于线缆长度减少,因此可以减轻由于线缆或者光纤长度过多造成线缆连接错误率高、线缆或者光纤损耗高的问题。
在一可能的实现方式中,多个计算芯片、至少一个第一交换芯片和多个第一交换节点之间的网络拓扑结构包括无中心交换节点的网络拓扑结构和有中心交换节点的网络拓扑结构。
可选地,在网络拓扑结构是无中心交换节点的网络拓扑结构时,交换节点用于实现多个计算系统之间的通信连接,在网络拓扑结构是有中心交换节点的网络拓扑结构时,多个计算系统之间的通信连接通过中心交换节点实现。
可选地,无中心交换节点的网络拓扑结构可包括但不限于蜻蜓(dragonfly或者dragonfly+)网络、环状网络(torus)等,有中心交换节点的网络拓扑结构可包括但不限于胖树(fat-tree)网络。
其中,dragonfly包括多个组,每个组实际是一种实现组内通信的子网络,这里的每个组可以是上述第一机柜。每个组之间通过链路连接,并且组间链路相对较窄,类似于蜻艇的宽大身体和窄小翅膀,因此称为蜻艇网络。换句话说,上述计算系统之间通过链路连接,通过计算系统内部的交换节点实现计算系统之间的数据通信。应理解,由于蜻蜓网络包括的各个组之间采用窄链路,能够很大程度减少全局链路的数量,降低组网成本。
进一步地,蜻蜓网络的各个组之间可以采用全互连(all to all)方式进行连接,该种网络也称作dragonfly+网络,所谓全互连是指每个组与该蜻蜓网络的其他组中的每一个组之间至少有一个直连链路,dragonfly+网络组规模更大,支持连接的组数也更多,组内采用跳步数尽可能少的连接方式,通常为全互连或维扁平蝴蝶的结构,如此可以进一步缩短链路长度,从而实现提供低延迟通信。
Torus网络包括多个节点,每个节点可以是上述计算系统,每个节点之间存在环回链路(waraparound links或者toroidal boundaries),环回链路的存在使得torus网络中的节点不再有位于拓扑中心或者边缘的区别,每一节点在每一维度上均具有两个相邻节点,使得任意两个节点之间可以存在多条转发路径,网络的可靠性、交换容量和可扩展性都很高。
具体实现中,上述无中心交换节点的网络拓扑结构中,即dragonfly网络、dragonfly+网络和torus网络中,计算系统之间的数据报文转发需要通过每个计算系统中的交换节点,数据报文的转发路径上可能会经过一个或者多个交换节点,本申请不作具体限定。
胖树网络是一种通过大量低性能的交换机和多层网络来构建出的大规模无阻塞网络,通常情况下,胖树网络可包括多个集群(pod)和连接pod的多个核心交换机,每个pod包括多个一层交换机和多个二层交换机,每个一层交换机连接一个或者多个计算芯片,一层交换机用于实现计算芯片之间的数据通信,每个二层交换机连接一个或者多个一层交换机,二层交换机用于实现一层交换机之间的数据通信,每个核心交换机连接一个或者多个pod,核心交换机用于实现pod之间的数据通信。当然,核心交换机之间也可以组成多层子网络,每层子网络之间的数据通信由上一层子网络实现,以此类推,使得胖树网络中的每两个计算节点之间可以存在多条并行路径,因此网络的容错性能良好,并且可以在pod内合理分流,避免过载问题。应理解,胖树网络是一种无阻塞网络技术,使用大量的交换芯片构建出大规模无阻塞网络,该网络从下到上的带宽理论不收敛,数据通信的路径非常多,总有路径能让通信带宽达到需求带宽,进一步解决计算芯 片的性能受网络带宽限制的问题,提高计算机集群的性能。
具体实现中,上述有中心交换节点的网络拓扑结构中,即胖树网络中,每个计算系统可以与一个或者多个中心交换节点建立通信连接,计算系统之间的数据报文转发需要通过上述一个或者多个中心交换节点实现。
应理解,多个融合节点以及多个交换节点所组成的网络拓扑结构还可包其他常用的带宽、时延敏感类的大规模网络拓扑结构,这里不一一举例说明,本申请不作具体限定。
上述实现方式,本申请提供的计算系统中的多个融合节点以及多个交换节点可以根据实际应用场景中的业务需求,选择合适的网络拓扑结构建立融合节点和交换节点之间的通信连接,使得本申请提供的计算系统落地简单,可实施性强,适用场景广泛。
在一可能的实现方式中,计算系统中的多个融合节点和多个交换节点的数量是根据计算芯片的带宽需求、第一交换芯片的端口数量和交换容量、第一交换节点的端口数量和交换容量中至少一种确定的。
可选地,融合节点可以部署于第一盒体中,交换节点部署于第二盒体中,其中,盒体可以指的是机箱或者其他具有放置和固定配件、拥有承托和保护机箱内各个配件作用的一个盒体,盒体可包括外壳、支架、面板上的各种开关、指示灯等等,盒体可以是钢板和塑料结合制作而成,本申请不作具体限定。
进一步地,确定计算系统中的融合节点和交换节点的数量之后,可以再结合第一盒体和第二盒体的尺寸、计算系统中可安装的盒体数量以及用户所需的计算系统的并行处理能力等等实际应用场景中的各种环境条件,确定每个交换节点中第二计算芯片的数量以及每个融合节点中计算芯片和第一交换芯片的数量。其中,计算系统中可安装的盒体数量指的是计算系统所在的机柜或者机架中能够放置的盒体的数量。
上述实现方式,根据计计算芯片的带宽需求、第一交换芯片的端口数量和交换容量、第一交换节点的端口数量和交换容量确定计算系统中的融合节点和交换节点的数量,这样组成的网络规模不仅能够保证每个额计算芯片的可用带宽和整个计算系统的规模,而且每个计算芯片之间都拥有多条并行路径,因此网络的容错性能良好,并且可以在pod内合理分流,避免过载问题。
在一可能的实现方式中,至少一个第一交换芯片包括第一交换平面的第一交换芯片和第二交换平面的第一交换芯片,第一交换节点包括多个第二交换芯片,多个第二交换芯片包括第一交换平面的第二交换芯片和第二交换平面的第二交换芯片,第一交换平面和第二交换平面承担不同的业务。
简单来说,计算系统内的第一交换芯片和第二交换芯片所组成的网络可包括多个交换平面,一部分第一交换芯片和一部分第二交换芯片负责第一交换平面的数据通信,另一部分第一交换芯片和另一部分第二交换芯片负责第二交换平面的数据通信。应理解,上述第一交换平面和第二交换平面并不是指定本申请的技术方案只支持2个交换平面,而是想表达本申请的技术方案支持不同的交换平面,实际还可以支持两个以上的交换平面,具体可根据实际的应用场景确定交换平面的数量。
可选地,第一交换平面和第二交换平面承担不同的业务。举例来说,用户业务1使用第一交换平面,业务2使用第二交换平面,从而避免业务冲突导致的网络延迟,通过多个交换平面使得计算机集群可以为用户提供更大的带宽能力,提高用户使用体验。
可选地,第一交换平面和第二交换平面可以是网络隔离的交换平面。具体地,出于业务安全的考虑,为了实现用户的业务1和业务2的网络隔离,避免出现网络安全的问题,可以通过本申请提供的机柜组成二层或以上的胖树网络,并为各个交换芯片分配对应的交换平面,使得用户可以使用第一交换平面实现业务1的数据通信,使用第二交换平面实现业务2的数据通信,两个交换平面之间不会进行数据通信,即,第一交换平面的第一交换芯片和第二交换芯片不会处理第二交换平面的数据报文,第二交换平面的第一交换芯片和第二交换芯片不会处理第一交换平面的数据报文,从而实现第一交换平面和第二交换平面的网络隔离。应理解,上述举例用于说明,本申请不作具体限定。
可选地,第一交换平面和第二交换平面使用不同的通信协议。举例来说,业务1需要使用通信协议1,业务2需要使用通信协议2,使用本申请提供的机柜,并为各个交换芯片分配对应的交换平面,第一交换平面使用通信协议1处理业务1,第二交换平面使用通信协议2处理业务2,应理解,上述举例用于说明,本申请不作具体限定。
可以理解的,计算芯片可以根据业务需求连接不同交换平面的第一交换芯片,不同交换平面的第一交换芯片之间不存在通信连接,不同交换平面的第二交换芯片之间也不存在通信连接,从而可以实现不同交换平面的网络隔离,不同交换平面可以承担不同的业务,使用不同的通信协议,更大程度满足用户的多样化需求,提高用户的使用体验。
可选地,根据用户需求,计算系统内还可以包括更多的交换平面,比如第三交换平面、第四交换平面等等,每个交换平面还可以包括更多的第一交换芯片和第二交换芯片,本申请不作具体限定。
上述实现方式,计算系统内的多个第一交换芯片和多个第二交换芯片可以分配各自对应的交换平面,使得计算系统内可以承担多个交换平面的网络通信,满足用户的网络隔离需求、多个业务处理需求以及多种通信协议的需求,使得本申请提供的计算系统的适用场景更加广泛,提高用户的使用体验。
在一可能的实现方式中,计算芯片、第一交换芯片、第二交换芯片建立通信连接之后,第一交换芯片和第二交换芯片可按照各自之间的连接关系,通过转发算法生成路由表或者mac地址表,该路由表或者mac地址表可包括多个表项,每个表项可代表一种转发路径,每个表项至少可包括源地址、目的地址以及对应的下一跳地址,第一交换芯片接收到计算芯片发送的数据报文后,可根据数据报文中携带的源地址和目的地址,查询路由表或者mac地址表来获取数据报文的转发路径,确定下一跳地址,然后向下一跳地址转发该数据报文。
其中,如果第一交换芯片或者第二交换芯片为二层交换机(链路层交换机)的交换芯片时,可依靠ARP等交换机转发算法生成mac地址表,源地址和目的地址可以是mac地址,如果第一交换芯片或者第二交换芯片为三层交换机(网络层交换机)的交换芯片时,可通过RIP、BGP等路由算法生成路由表,上述源地址和目的地址可以是IP地址,本申请不作具体限定。
其中,路由表或者mac地址表中记录的转发路径是根据第一交换芯片与计算芯片之间的连接关系确定的。
可选地,每个融合节点中,每个第一交换芯片可以与全部计算芯片建立通信连接,每个融合节点内部的计算芯片之间的通信可通过同一个融合节点内部的任意第一交换芯片120实现,每个融合节点内部的计算芯片之间的数据报文的转发路径可包括任意第一交换芯片120。每个交换节点通过连接器与全部融合节点建立通信连接,使得每个融合节点之间可通过任意第二交换芯片实现数据通信,每个融合节点之间的数据报文的转发路径可包括任意第二交换芯片。
可选地,每个第一交换芯片可以与部分计算芯片建立通信连接,融合节点内部的多个计算芯片之间的数据通信可以根据与其相连的第一交换芯片确定转发路径,如果收发双方连接了相同的第一交换芯片,那么,第一交换芯片可通过路由表实现第一交换芯片和部分计算芯片之间的数据通信,该数据报文的转发路径可包括源地址、上述相同的第一交换芯片的地址以及目的地址。
如果收发双方连接了不同的第一交换芯片,且这两个第一交换芯片之间没有直连,那么可通过与各自连接的第一交换芯片相连的第二交换芯片实现其数据通信,该报文的转发路径可包括源地址,第一交换芯片1的地址,第二交换芯片1的地址,第一交换芯片2的地址以及目的地址,其中,第一交换芯片1与源地址所在的计算芯片相连,第一交换芯片2与目的地址所在的计算芯片相连,第二交换芯片1与第一交换芯片1和第一交换芯片2相连。
如果收发双方连接了不同的第一交换芯片,且这两个第一交换芯片之间有直连,那么可通过收发双方相连的两个第一交换芯片实现数据通信,该报文的转发路径可包括源地址、第一交换芯片1、第一交换芯片2以及目的地址。
简单来说,如果每个计算芯片只与一个第一交换芯片相连,那么计算芯片生成的数据报文可以直接发送给与其相连的第一交换芯片,如果每个计算芯片与多个第一交换芯片相连,那么计算芯片生成数据报文之后,可以根据与其相连的至少一个第一交换芯片反馈的网络状况,将数据报文发送给网络状况更好的第一交换芯片实现报文转发,或者,该计算系统也可包括管理节点,管理节点可根据负载均衡或者其他网络管理算法确定转发该数据报文的第一交换芯片,本申请不做具体限定,或者,计算芯片也可以根据数据报文中携带的标识,选择与其相连的第一交换芯片中,能够处理携带有该标识的第一交换芯片实现数据报文转发,比如该标识可以是第一转发平面的标识,那么只有第一转发平面的第一交换芯片才能转发该数据报文,本申请不作具体限定。
上述实现方式,在不影响数据报文传输的情况下,该系统可以通过减少第一交换芯片所连接的计算芯片数量使得每个计算芯片可分配的带宽增加,通过增加第一交换芯片的数量扩大计算机集群规模,从而解决计算机集群性能瓶颈的问题。
在一可能的实现方式中,如果增加交换节点的数量,在融合节点水平方向放置,交换节点垂直方向放置时,可以在水平方向增加交换节点的数量,并适应性增加融合节点所在的第一盒体的长度,使得扩展后的第一盒体和更多数量的交换节点能够通过无背板正交连接器进行连接。同理,如果增加融合节点的数量, 可以垂直方向增加融合节点的数量,并适应性增加交换节点所在的第二盒体的长度,使得扩展后的第二盒体可以和更多数量的融合节点通过无背板正交连接器进行连接。
当然,如果融合节点垂直方向放置,交换节点水平方向放置,那么可以在垂直方向交换节点的数量,在水平方向增加融合节点的数量,这里不再展开赘述。
上述实现方式,融合节点和交换节点正交连接,计算系统的规模扩大时,只需要水平或者垂直扩展交换节点或者融合节点的数量,使得本申请提供的计算系统的可扩展性高,可实施性高。
在一可能的实现方式中,计算系统可包括一个或者多个对称多处理(symmetrical multi-processing,SMP)系统,每个融合节点也可以包括一个或者多个SMP系统。其中,SMP系统是指在一个服务器上汇集了一组处理器集合,该处理器集合中包括多个CPU。且各个处理器之间共享内存和一台服务器上的其他资源,比如共享总线结构,工作负载能够均匀地分配到所有可用处理器之上。也即一个SMP系统对应一个OS域和多个计算芯片,这些计算芯片可以是同一个融合节点内的计算芯片,也可以是不同融合节点内的计算芯片,本申请不作具体限定。
示例地,一个计算系统包括16个融合节点,那么16个融合节点可以包括16个SMP系统,其中,一个融合节点对应一个SMP系统,或者,16个融合节点包括8个SMP系统,其中,2个融合节点对应一个SMP系统,或者,16个融合节点为融合节点1~融合节点16,其中,融合节点1包括2个SMP系统,融合节点2和融合节点3是一个SMP系统,融合节点4~16是一个SMP系统。上述举例用于说明,本申请不作具体限定。
上述实现方式,由于计算芯片之间通过第一交换节点和第二交换节点实现了互连,因此可以根据实际应用场景的业务需求灵活组合每个SMP系统内的计算芯片,使得本申请提供的计算系统可以满足用户多SMP系统的使用需求,提高用户的使用体验。
第二方面,提供了一种通信方法,方法应用于计算系统,计算系统包括多个融合节点和多个交换节点,多个交换节点中第一交换节点通过连接器与第一融合节点耦接,第一交换节点用于实现第一融合节点与多个融合节点中其他融合节点之间的通信连接,多个融合节点中的第一融合节点包括多个计算芯片和至少一个第一交换芯片,至少一个第一交换芯片用于实现多个计算芯片之间的通信连接,该方法包括以下步骤:第一融合节点的第一计算芯片生成数据报文,其中,数据报文的目的地址是第二计算芯片的地址,第一融合节点根据第二计算芯片所在的融合节点的地址实现数据报文的转发。
多个交换节点中的第一交换节点通过连接器与第一融合节点耦接,第一融合节点中的多个计算芯片与第一交换芯片连接,这样,即使第一交换芯片所连接的计算芯片数量减少时,通过增加第一交换芯片的数量,也可以增加整个计算系统中的计算芯片数量,而减少每个第一交换芯片所连接的计算芯片数量后,可以使得每个计算芯片可分配的带宽增加,从而在扩大计算机集群规模的同时,提高每个计算芯片的可用带宽,从而解决计算机集群性能瓶颈的问题。
在一可能的实现方式中,第一融合节点根据第二计算芯片所在的融合节点的地址实现数据报文的转发的具体步骤流程可以如下:当第二计算芯片是第一融合节点内的计算芯片时,第一融合节点通过至少一个第一交换芯片将数据报文转发至目的地址,当第二计算芯片是第二融合节点内的计算芯片时,第一融合节点向多个交换节点中的第一交换节点发送数据报文,第一交换节点向第二融合节点发送数据报文。
在一可能的实现方式中,多个融合节点和多个交换节点之间的连接方式为正交连接,连接器包括无背板正交连接器或者光盲插连接器。
在一可能的实现方式中,连接器包括高速连接器,高速连接器通过扭转90度角实现多个融合节点和多个交换节点之间的正交连接。
在一可能的实现方式中,多个融合节点和多个交换节点之间的网络拓扑结构包括无中心交换节点的网络拓扑结构和有中心交换节点的网络拓扑结构。
在一可能的实现方式中,当网络拓扑结构是无中心交换节点的网络拓扑结构时,多个计算系统之间的通信连接通过交换节点实现,当网络拓扑结构是有中心交换节点的网络拓扑结构时,多个计算系统之间的通信连接通过中心交换节点实现。
在一可能的实现方式中,计算系统中的融合节点和交换节点的数量是根据计算芯片的带宽需求、第一交换芯片的端口数量和交换容量、第一交换节点的端口数量和交换容量确定的。
在一可能的实现方式中,至少一个第一交换芯片包括第一交换平面的第一交换芯片和第二交换平面的第一交换芯片,第一交换节点包括多个第二交换芯片,多个第二交换芯片包括第一交换平面的第二交换芯 片和第二交换平面的第二交换芯片,第一交换平面和第二交换平面承担不同的业务。
在一可能的实现方式中,第一交换平面和第二交换平面是网络隔离的交换平面,或者,第一交换平面和第二交换平面使用不同的通信协议。
第三方面,提供了一种融合节点,该融合节点可应用于计算系统,该计算系统包括多个融合节点和多个交换节点,多个交换节点中第一交换节点通过连接器与第一融合节点耦接,第一交换节点用于实现第一融合节点与多个融合节点中其他融合节点之间的通信连接,多个融合节点中的第一融合节点包括多个计算芯片和至少一个第一交换芯片,至少一个第一交换芯片用于实现多个计算芯片之间的通信连接,该融合节点包括计算单元和第一交换单元,其中,计算单元用于生成数据报文,其中,数据报文源地址是该融合节点内的第一计算芯片的地址,的目的地址是第二计算芯片的地址,第一交换单元用于根据第二计算芯片所在的融合节点的地址实现数据报文的转发。
多个交换节点中的第一交换节点通过连接器与第一融合节点耦接,第一融合节点中的多个计算芯片与第一交换芯片连接,这样,即使第一交换芯片所连接的计算芯片数量减少时,通过增加第一交换芯片的数量,也可以增加整个计算系统中的计算芯片数量,而减少每个第一交换芯片所连接的计算芯片数量后,可以使得每个计算芯片可分配的带宽增加,从而在扩大计算机集群规模的同时,提高每个计算芯片的可用带宽,从而解决计算机集群性能瓶颈的问题。
在一可能的实现方式中,第一交换单元用于当第二计算芯片是第一融合节点内的计算芯片时,第一融合节点通过至少一个第一交换芯片将数据报文转发至目的地址,当第二计算芯片是第二融合节点内的计算芯片时,第一融合节点向多个交换节点中的第一交换节点发送数据报文,第一交换节点向第二融合节点发送数据报文。
在一可能的实现方式中,多个融合节点和多个交换节点之间的连接方式为正交连接,连接器包括无背板正交连接器或者光盲插连接器。
在一可能的实现方式中,连接器包括高速连接器,高速连接器通过扭转90度角实现多个融合节点和多个交换节点之间的正交连接。
在一可能的实现方式中,多个融合节点和多个交换节点之间的网络拓扑结构包括无中心交换节点的网络拓扑结构和有中心交换节点的网络拓扑结构。
在一可能的实现方式中,当网络拓扑结构是无中心交换节点的网络拓扑结构时,多个计算系统之间的通信连接通过交换节点实现,当网络拓扑结构是有中心交换节点的网络拓扑结构时,多个计算系统之间的通信连接通过中心交换节点实现。
在一可能的实现方式中,计算系统中的融合节点和交换节点的数量是根据计算芯片的带宽需求、第一交换芯片的端口数量和交换容量、第一交换节点的端口数量和交换容量确定的。
在一可能的实现方式中,至少一个第一交换芯片包括第一交换平面的第一交换芯片和第二交换平面的第一交换芯片,第一交换节点包括多个第二交换芯片,多个第二交换芯片包括第一交换平面的第二交换芯片和第二交换平面的第二交换芯片,第一交换平面和第二交换平面承担不同的业务。
在一可能的实现方式中,第一交换平面和第二交换平面是网络隔离的交换平面,或者,第一交换平面和第二交换平面使用不同的通信协议。
第四方面,提供了一种交换节点,该交换节点可应用于计算系统,该计算系统包括多个融合节点和多个交换节点,多个交换节点中第一交换节点通过连接器与第一融合节点耦接,第一交换节点用于实现第一融合节点与多个融合节点中其他融合节点之间的通信连接,多个融合节点中的第一融合节点包括多个计算芯片和至少一个第一交换芯片,至少一个第一交换芯片用于实现多个计算芯片之间的通信连接,该交换节点包括第二交换单元,其中,第二交换单元用于接收第一融合节点发送的数据报文,其中,该数据报文的源地址是第一融合节点内的第一计算芯片的地址,目的地址是第二融合节点内的第二计算芯片的地址,第二交换单元还用于根据目的地址将数据报文转发至第二融合节点。
多个交换节点中的第一交换节点通过连接器与第一融合节点耦接,第一融合节点中的多个计算芯片与第一交换芯片连接,这样,即使第一交换芯片所连接的计算芯片数量减少时,通过增加第一交换芯片的数量,也可以增加整个计算系统中的计算芯片数量,而减少每个第一交换芯片所连接的计算芯片数量后,可以使得每个计算芯片可分配的带宽增加,从而在扩大计算机集群规模的同时,提高每个计算芯片的可用带宽,从而解决计算机集群性能瓶颈的问题。
在一可能的实现方式中,多个融合节点和多个交换节点之间的连接方式为正交连接,连接器包括无背 板正交连接器或者光盲插连接器。
在一可能的实现方式中,连接器包括高速连接器,高速连接器通过扭转90度角实现多个融合节点和多个交换节点之间的正交连接。
在一可能的实现方式中,多个融合节点和多个交换节点之间的网络拓扑结构包括无中心交换节点的网络拓扑结构和有中心交换节点的网络拓扑结构。
在一可能的实现方式中,当网络拓扑结构是无中心交换节点的网络拓扑结构时,多个计算系统之间的通信连接通过交换节点实现,当网络拓扑结构是有中心交换节点的网络拓扑结构时,多个计算系统之间的通信连接通过中心交换节点实现。
在一可能的实现方式中,计算系统中的融合节点和交换节点的数量是根据计算芯片的带宽需求、第一交换芯片的端口数量和交换容量、第一交换节点的端口数量和交换容量确定的。
在一可能的实现方式中,至少一个第一交换芯片包括第一交换平面的第一交换芯片和第二交换平面的第一交换芯片,第一交换节点包括多个第二交换芯片,多个第二交换芯片包括第一交换平面的第二交换芯片和第二交换平面的第二交换芯片,第一交换平面和第二交换平面承担不同的业务。
在一可能的实现方式中,第一交换平面和第二交换平面是网络隔离的交换平面,或者,第一交换平面和第二交换平面使用不同的通信协议。
第五方面,提供一种计算系统,所述计算系统包括用于执行上述各个方面或各个方面的任一种可能实现方式中的通信方法的各个模块。
第六方面,提供了一种计算设备,该计算设备包括处理器和存储器,存储器用于存储代码,处理器用于执行代码实现如第二方面描述的融合节点所执行操作步骤的功能。
第七方面,提供了一种计算设备,该计算设备包括处理器和供电电路,供电电路用于为处理器供电,该处理器用于实现如第二方面描述的融合节所执行操作步骤的功能。
第八方面,提供了一种通信设备,该通信设备包括处理器和存储器,存储器用于存储代码,处理器用于执行代码实现如第二方面描述的交换节点所执行操作步骤的功能。
第九方面,提供了一种计算机集群,包括多个计算系统,多个计算系统之间存在通信连接,协同处理任务,多个计算中的每个计算系统可以是第一方面描述的计算系统,多个计算系统可以与中心交换节点(比如前述内容中的第二机柜)建立通信连接,每个中心交换节点用于实现计算系统之间的通信连接,多个计算系统和多个中心交换节点之间的网络拓扑结构可以是前述内容中的有中心交换节点的网络拓扑结构,比如胖树网络。
第十方面,提供了一种计算机集群,包括多个计算系统,多个计算系统之间存在通信连接,协同处理任务,多个计算中的每个计算系统可以是第一方面描述的计算系统。每个计算系统之间的通信连接通过每个计算系统内部的交换节点实现。其中,多个计算系统之间的网络拓扑结构可以是前述内容中的无中心交换节点的网络拓扑结构,比如蜻蜓(dragonfly或者dragonfly+)网络、环状网络(torus)等等。
第十一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是本申请提供的一种计算系统的结构示意图;
图2是本申请提供的一种计算系统在一应用场景下的结构示意图;
图3是本申请提供的一种融合节点和交换节点的连接关系示意图;
图4是本申请提供的一种四层胖树网络的结构示意图;
图5是本申请提供的一种计算系统在一应用场景下的结构示意图;
图6是本申请提供的一种计算系统在一应用场景下的结构示意图;
图7是本申请提供的一种通信方法在一应用场景下的步骤流程示意图;
图8是本申请提供的一种通信方法在另一应用场景下的步骤流程示意图;
图9是本申请提供的一种计算系统的结构示意图;
图10是本申请提供的一种计算系统的结构示意图。
具体实施方式
为了解决上述交换节点交换容量有限导致计算机集群性能瓶颈的问题,本申请提供了一种计算系统,包括多个融合节点和多个交换节点,多个融合节点中的第一融合节点包括多个计算芯片和至少一个第一交换芯片,至少一个第一交换芯片用于实现多个计算芯片之间的通信连接,第一交换节点用于实现第一融合节点与多个融合节点中其他融合节点之间的通信连接,其中,多个交换节点中的第一交换节点通过连接器与第一融合节点耦接,第一融合节点中的多个计算芯片与第一交换芯片连接。其中,耦接用于指示第一交换节点通过连接器与第一融合节点直接连接,或者,耦接用于指示第一交换节点通过连接器与第一融合节点间接连接。
这样,即使第一交换芯片所连接的计算芯片数量减少时,通过增加第一交换芯片的数量,也可以增加整个计算系统中的计算芯片数量,而减少每个第一交换芯片所连接的计算芯片数量后,可以使得每个计算芯片可分配的带宽增加,从而在扩大计算机集群规模的同时,提高每个计算芯片的可用带宽,从而解决计算机集群性能瓶颈的问题。
需要说明的是:计算系统可以是一种高密的框柜一体架构,计算系统所在机柜不仅仅用于放置融合节点和交换节点,还用于实现不同融合节点和交换节点的通信连接。具体地,计算系统包括机框式服务器和机柜式服务器。其中,机框式服务器可包括机架服务器、刀片服务器和高密服务器,机框式服务器。机框式服务器通常为敞开式结构,每个计算系统内的融合节点和交换节点可以放置于同一个机框内。刀片服务器和高密服务器相比机架服务器的计算密度更高,能够节省更多的硬件空间,但是存储能力较小,因此可以根据实际的应用场景选择所需的服务器类型。机柜式服务器可以是整机柜服务器,机柜式服务器是全封闭式或者半封闭式结构,同一机柜式服务器中可包括一个或多个包括融合节点和交换节点的计算系统。
可选地,机框式服务器也可以存放于机柜式服务器中,换句话说,一个机柜柜式服务器中可放置多个机框式服务器。
为了使本申请能够被更好地理解,下文将统一以服务器为机柜式服务器为例,即计算系统内的融合节点和交换节点放置于同一个机柜内进行说明。
如图1所示,图1是本申请提供的一种计算系统400的结构示意图,该计算系统是计算机集群中的任意一台服务器,具体可以是机柜式服务器,也可以是机框式服务器,在图1所示的例子中,该计算系统为机柜式服务器,即第一机柜400,第一机柜400可包括第一盒体100和第二盒体200,第一盒体100和第二盒体200之间可通过链路300建立通信连接。其中,第一机柜400、第一盒体100、第二盒体200的数量可以是一个或者多个,本申请不作具体限定。并且,第一机柜400还可包括电源模块、管理模块、风扇等等,本申请不作具体限定。
盒体可以指的是机箱或者其他具有放置和固定配件、拥有承托和保护机箱内各个配件作用的一个盒体,盒体可包括外壳、支架、面板上的各种开关、指示灯等等,盒体可以是钢板和塑料结合制作而成,本申请不作具体限定。在本申请实施例中,每个第一盒体100包括一个融合节点110,每个第二盒体200包括一个交换节点210。
第一盒体100所保护的融合节点110是一个具有计算能力的计算设备,该计算设备可以作为计算系统集群中的一个计算节点,为计算系统集群提供计算能力。其中,融合节点110至少包括芯片和接口,还可根据实际的应用场景包括更多的组件,比如主板、内存、硬盘、散热器、显卡、PCIe等等,本申请不作具体限定。
在本申请实施例中,融合节点110的芯片可包括计算芯片130和第一交换芯片120,其中,计算芯片130以及第一交换芯片120的数量可以是一个或者多个。计算芯片130可以是计算系统集群中处理计算任务的芯片,比如中央处理器(central processing unit,CPU)、图像处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)、数据处理单元(data processing unit,DPU)等等,本申请不作具体限定。计算芯片130可以是HPC、AI等应用场景中集群内处理业务时使用的计算芯片,也可以是分布式存储场景中存储节点使用的存储芯片,本申请不作具体限定。
第一交换芯片120可以具有用于传输电信号和/或光信号,并基于规则传输数据的功能,可以为接入第一交换芯片120的任意两个计算芯片130提供独享的电信号或者光信号通路,本申请不作具体限定。
第一交换芯片120中可以存储有路由表(routing table)或者媒体存取控制位址(media access control,mac)地址表,该路由表或者mac地址表可包括多个表项,每个表项可代表一种转发路径,每个表项至少可包括源地址、目的地址以及对应的下一跳地址,第一交换芯片120接收到计算芯片130发送的数据报文后,可 根据数据报文中携带的源地址和目的地址,查询路由表或者mac地址表来获取数据报文的转发路径,确定下一跳地址,然后向下一跳地址转发该数据报文。
具体实现中,如果第一交换芯片120为二层交换机(链路层交换机)的交换芯片时,可依靠地址解析协议(address resolution protocol,ARP)等交换机转发算法生成mac地址表,源地址和目的地址可以是mac地址,如果第一交换芯片120为三层交换机(网络层交换机)的交换芯片时,可通过路由信息协议(routing information protocol,RIP)、边界网关协议(border gateway protocol,BGP)等路由算法生成路由表,上述源地址和目的地址可以是IP地址,本申请不作具体限定。
可选地,一个第一交换芯片120可以与每一个计算芯片130相连,比如第一盒体包括计算芯片1~计算芯片32,还包括第一交换芯片1和第一交换芯片2,那么第一交换芯片1可以与计算芯片1~计算芯片32建立通信连接,第一交换芯片2也与计算芯片1~计算芯片21建立通信连接。应理解,上述举例用于说明,本申请不作具体限定。
可选地,一个第一交换芯片120也可以与部分计算芯片130相连,举例来说,第一盒体包括计算芯片1~计算芯片32,还包括第一交换芯片1和第一交换芯片2,那么第一交换芯片1可以与计算芯片1~计算芯片16建立通信连接,第一交换芯片2与计算芯片17~32建立通信连接。具体实现中,可根据第一盒体100内计算芯片的带宽需求,以及第一交换芯片的端口数量、交换容量决定每个第一交换芯片120连接的计算芯片130数量。举例来说计算芯片的带宽需求为100Gb,第一交换芯片的交换容量为12.8Tbps,可以提供32个下行端口,那么每个端口最高可以提供200Gb的带宽,第一交换芯片连接的计算芯片数量不超过64个时,都可以满足计算芯片的100Gb带宽需求。进一步地,还可以结合机柜的容量、用户需求的计算机规模等其他条件进一步确定每个第一交换相连的计算芯片数量。应理解,上述举例用于说明,本申请不作具体限定。
可选地,第一交换芯片120之间也可以建立通信连接,本申请不作具体限定。
需要说明的,第一交换芯片120和计算芯片130在同一个盒体内,可选地,第一交换芯片120和计算芯片130之间可通过计算设备内部的总线建立通信连接,比如快捷外围部件互联标准(Peripheral Component Interconnect Express,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等,本申请不作具体限定。
交换节点210可以是拥有电信号或者光信号转发的网络设备,该交换节点至少包括第二交换芯片220和第二盒体,第二交换芯片220的数量可以是一个或者多个。具体实现中,交换节点210的第二盒体与融合节点110的第一盒体是不同的盒体,但是第一盒体与第二盒体部署于同一个第一机柜中。
其中,第二交换芯片220可以具有用于传输电信号和/或光信号,并基于转发规则传输数据的功能,可以为接入交换芯片的任意两个计算芯片130提供独享的电信号或者光信号通路,本申请不作具体限定。需要说明的,第一交换芯片120和第二交换芯片220可以是相同或者不同型号、类型、规格的交换芯片,具体可根据实际的应用场景选择合适的第一交换芯片120以及第二交换芯片220,第二交换芯片220也可以存储有路由表或者mac地址表,该路由表或者mac地址表可包括多个表项,每个表项可代表一种转发路径,每个表项至少可包括源地址、目的地址以及对应的下一跳地址,第二交换芯片220接收到数据报文后,可根据数据报文中携带的源地址和目的地址,查询路由表或者mac地址表来获取数据报文的转发路径,确定下一跳地址,然后向下一跳地址转发该数据报文。具体可参考前述内容中关于第一交换芯片120的描述,这里不再重复再开赘述。
作为一种可能的实现方式,计算机集群可包括一个或者多个第一机柜,每个第一机柜中可包括至少一个交换节点210以及至少一个融合节点110,每个融合节点110中包括至少一个计算芯片130以及至少一个第一交换芯片120,每个交换节点210可包括至少一个第二交换芯片220。
在本申请实施例中,融合节点110内部计算芯片的数据交换可通过同一盒体内的第一交换芯片120实现,不同融合节点110之间的数据交换可通过同一第一机柜内的交换节点210的第二交换芯片220实现,每个第一交换芯片连接多个计算芯片,每个第一交换节点连接多个第一交换芯片,这样,即使第一交换芯片所连接的计算芯片数量减少时,通过增加第一交换芯片的数量,也可以增加整个计算机集群的计算芯片数量,而减少每个第一交换芯片所连接的计算芯片数量后,可以使得每个计算芯片可分配的带宽增加,从而在扩大计算机集群规模的同时,提高每个计算芯片的可用带宽,从而解决计算机集群性能瓶颈的问题。
举例来说,仍以前述例子为例,假设一个交换芯片拥有12.8Tbps的交换容量,可以提供64个200Gb 的端口,32个端口下行端口,1个交换机连接128颗计算芯片时,每个计算芯片可用带宽只有50Gb,本申请提供的第一机柜400中,每个第一交换芯片120与32个计算芯片130相连,每个第二交换芯片220与32个第一交换芯片120相连,第一机柜400可以提供1024个200Gb的端口,集群规模从128个计算芯片130提升到了1024个计算芯片,端口带宽从50Gb提升到了200Gb,不仅扩大了计算集群的规模,还提高了每个计算芯片的带宽,解决了计算芯片性能被带宽限制的问题,提高了整个计算机集群的性能。
链路300指的是融合节点110所在的第一盒体100和交换节点210所在的第二盒体200之间的物理线路。其中,链路300可包括电连接方式和光连接方式。下面分别对两种连接方式进行解释说明。
首先,无论是使用电连接方式还是光连接方式,交换节点210和融合节点110的连接方式为正交连接,其中,正交连接指的是两个相互垂直的盒体之间的信号连通,比如融合节点110所在的第一盒体100水平放置,交换节点210所在的第二盒体200竖直放置,第一盒体100和第二盒体200之间建立通信连接,或者,第二盒体200水平放置,第一盒体100竖直放置,本申请不作具体限定。应理解,交换节点210和融合节点110通过正交连接,可以减少交换节点210和融合节点110之间链路300的长度,从而减轻由于线缆或者光纤数量过多造成线缆连接错误率,同时降低线缆或者光纤损耗。
其次,电连接主要通过电连接器的方式实现融合节点110和交换节点210之间的通信连接,这里的电连接器是无背板正交连接器,其中,无背板正交连接器可以使得交换节点210和融合节点110直接正交连接,二者之间不通过线缆或者光纤连接,而是直接对接耦接的方式,从而避免由于线缆或者光纤数量过多造成线缆连接错误率高、线缆或者光纤损耗高的问题。
可选地,电连接也可以通过电连接器和线缆(cable)结合的方式,实现融合节点110和交换节点210之间的通信连接。这里的电连接器是有背板的高速连接器,该种连接方式需要使用少量线缆,先利用线缆实现交换节点210、融合节点110以及高速连接器之间的柔性连接,然后将高速连接器扭转90度,实现交换节点210和融合节点110之间的正交连接,使得交换节点210和融合节点110几近于直接正交,由于线缆数量减少,因此可以减轻由于线缆或者光纤数量过多造成线缆连接错误率高、线缆或者光纤损耗高的问题。
最后,光连接主要通过光连接器的方式实现融合节点110和交换节点210之间的通信连接,这里的光连接器可以是光盲插连接器,光盲插连接器通过光信号的方式实现二者之间的正交连接,光信号可通过密集型光波复用(dense wavelength division multiplexing,DWDM)、高密光纤连接器的技术进一步提升交换节点210和融合节点110之间的通信带宽,从而进一步提高每个计算芯片可使用的带宽,使得计算机集群可以扩展更大规模,提高计算机集群的性能。但是光盲差连接器的成本高于无背板正交连接器,因此具体可根据实际的应用场景选择链路,以及链路300的具体实现方式。
具体实现中,交换节点210可以通过链路300与每一个融合节点110建立通信连接,使得每个融合节点之间的数据通信都可以通过任意交换节点210实现,从而使得第一机柜400内的全部计算芯片之间都可以实现通信连接。
在一实施例中,根据计算芯片130的带宽需求、第一交换芯片120的端口数量和交换容量、第一交换节点210的端口数量和交换容量中至少一种,可以确定第一机柜400中交换节点210、融合节点110的数量。然后再结合第一盒体和第二盒体的尺寸、机柜中可安装的盒体数量以及用户所需的机柜的并行处理能力等等实际应用场景中的各种环境条件,确定每个交换节点210中第二交换芯片220以及每个融合节点110中计算芯片130和第一交换芯片120的数量。
举例来说,假设一个机柜可安装256个计算芯片,用户需求计算芯片130的带宽至少为200Gb,而选择的第一交换芯片120以及第二交换芯片220均拥有12.8Tbps的交换容量,可以提供64个200Gb的端口,32个下行端口,在计算机规模为256个计算芯片的情况下,整个第一机柜400需求9600个200Gb的端口。那么每个第一交换芯片120最多可连接32个计算芯片130,每个第二交换芯片220与至少8个第一交换芯片120相连,从而实现256个计算芯片的计算机集群,并且每个计算芯片的可用带宽为200Gb。再结合实际的应用场景,确定每个交换节点中第二交换芯片的数量以及每个融合节点中第一交换芯片和计算芯片的数量,比如一个融合节点包括2个第一交换芯片和32个计算芯片,每个第一交换芯片与32个计算芯片相连,一共8个融合节点,16个第一交换芯片。每个交换节点包括4个第二交换芯片,一共4个交换节点,16个第二交换芯片,这样组成的网络规模不仅能够保证每个额计算芯片的可用带宽和整个机柜的计算机集群规模,而且每个计算芯片之间都拥有多条并行路径,因此网络的容错性能良好,并且可以在pod内合理分流,避免过载问题。
图2是本申请提供的一种计算系统在一应用场景下的结构示意图,如图2所示,该计算系统可以是图 1实施例中的第一机柜400,该机柜可包括16个融合节点110以及8个交换节点210,其中,16个融合节点110以及8个交换节点210可通过链路300建立通信连接,这里的链路300可以是上述无背板正交连接器。其中,每个融合节点110包括16个计算芯片130以及2个第一交换芯片120,每个交换节点210包括4个第二交换芯片220。
需要说明的,图2中第一机柜400中的融合节点110以及交换节点210的数量用于举例说明,融合节点110中计算芯片130以及第一交换芯片120的数量用于举例说明,交换节点210中第二交换芯片220的数量用于举例说明,本申请不作具体限定,其中,融合节点110和交换节点210的数量可根据计算芯片130的带宽需求、第一交换芯片120的端口数量和交换容量、第一交换节点210的端口数量和交换容量中至少一种来确定,还可结合融合节点110和交换节点210的网络拓扑结构来确定。
举例来说,假设第一机柜中的融合节点110以及交换节点210之间的网络拓扑为胖树网络,胖树网络是一种通过大量低性能的交换机和多层网络来构建出的大规模无阻塞网络,通常情况下,胖树网络可包括多个集群(pod)和连接pod的多个核心交换机,每个pod包括多个一层交换机和多个二层交换机,每个一层交换机连接一个或者多个计算芯片,一层交换机用于实现计算芯片之间的数据通信,每个二层交换机连接一个或者多个一层交换机,二层交换机用于实现一层交换机之间的数据通信,每个核心交换机连接一个或者多个pod,核心交换机用于实现pod之间的数据通信。其中,假设第一机柜中pod的数量为K个,那么一层交换机的数量为K/2,二层交换机的数量为(K/2)2,每个一层交换机相连的计算芯片的数量为(K/2)2,结合用户需求的计算芯片130的带宽、第一交换芯片120的端口数量和交换容量以及第一交换节点210的端口数量和交换容量,可以确定每个融合节点110以及交换节点210的数量。应理解,上述举例是以胖树网络为例进行的举例说明,在其他网络结构中可以按照其他网络结构的规则确定融合节点110以及交换节点210的数量,本申请不作具体限定。
参考图1实施例中的描述可知,每个融合节点110中的16个计算芯片130以及2个第一交换芯片120部署于同一个第一盒体100中,每个交换节点的4个第二交换芯片220部署于同一个第二盒体200中。第一盒体100和第二盒体200之间通过正交连接的方式,实现数据通信。
应理解,交换节点210和融合节点110采用无背板正交连接器的方式进行连接,不使用线缆或者光纤,可以减少线缆数量和长度,这样不仅能够降低信号损失,同时也避免了由于过多线缆导致的连接错误率高的问题,或者过多光纤导致的光电转换延时开销问题。
具体实现中,计算芯片、第一交换芯片、第二交换芯片建立通信连接之后,第一交换芯片和第二交换芯片可按照各自之间的连接关系,通过转发算法生成路由表或者mac地址表,该路由表或者mac地址表可包括多个表项,每个表项可代表一种转发路径,每个表项至少可包括源地址、目的地址以及对应的下一跳地址,第一交换芯片接收到计算芯片发送的数据报文后,可根据数据报文中携带的源地址和目的地址,查询路由表或者mac地址表来获取数据报文的转发路径,确定下一跳地址,然后向下一跳地址转发该数据报文。
其中,如果第一交换芯片或者第二交换芯片为二层交换机(链路层交换机)的交换芯片时,可依靠ARP等交换机转发算法生成mac地址表,源地址和目的地址可以是mac地址,如果第一交换芯片或者第二交换芯片为三层交换机(网络层交换机)的交换芯片时,可通过RIP、BGP等路由算法生成路由表,上述源地址和目的地址可以是IP地址,本申请不作具体限定。
其中,路由表或者mac地址表中记录的转发路径是根据第一交换芯片120与计算芯片130之间的连接关系确定的。下面对本申请中第一交换芯片120与计算芯片130之间可能的连接关系以及对应的转发路径进行解释说明。
可选地,每个融合节点110中,每个第一交换芯片120可以与全部计算芯片130建立通信连接,每个融合节点110内部的计算芯片130之间的通信可通过同一个融合节点110内部的任意第一交换芯片120实现,每个融合节点110内部的计算芯片130之间的数据报文的转发路径可包括任意第一交换芯片120。每个交换节点210通过链路300与全部融合节点110建立通信连接,使得每个融合节点110之间可通过任意第二交换芯片220实现数据通信,每个融合节点110之间的数据报文的转发路径可包括任意第二交换芯片220。
可选地,每个第一交换芯片120可以与部分计算芯片130建立通信连接,融合节点内部的多个计算芯片之间的数据通信可以根据与其相连的第一交换芯片确定转发路径,如果收发双方连接了相同的第一交换芯片,那么,第一交换芯片120可通过路由表实现第一交换芯片120和部分计算芯片130之间的数据通信, 该数据报文的转发路径可包括源地址、上述相同的第一交换芯片的地址以及目的地址。
如果收发双方连接了不同的第一交换芯片,且这两个第一交换芯片之间没有直连,那么可通过与各自连接的第一交换芯片相连的第二交换芯片实现其数据通信,该报文的转发路径可包括源地址,第一交换芯片1的地址,第二交换芯片1的地址,第一交换芯片2的地址以及目的地址,其中,第一交换芯片1与源地址所在的计算芯片相连,第一交换芯片2与目的地址所在的计算芯片相连,第二交换芯片1与第一交换芯片1和第一交换芯片2相连。
如果收发双方连接了不同的第一交换芯片,且这两个第一交换芯片之间有直连,那么可通过收发双方相连的两个第一交换芯片实现数据通信,该报文的转发路径可包括源地址、第一交换芯片1、第一交换芯片2以及目的地址。
具体实现中,每个计算芯片可以与一个第一交换芯片相连,那么计算芯片生成的数据报文可以直接发送给与其相连的第一交换芯片;在一些实施例中,每个计算芯片也可以与至少一个第一交换芯片相连,那么计算芯片生成数据报文之后,可以根据与其相连的至少一个第一交换芯片反馈的网络状况,将数据报文发送给网络状况更好的第一交换芯片实现报文转发;或者,该第一机柜400也可包括管理节点,管理节点可根据负载均衡或者其他网络管理算法确定转发该数据报文的第一交换芯片,本申请不做具体限定;或者,计算芯片也可以根据数据报文中携带的标识,选择与其相连的第一交换芯片中,能够处理携带有该标识的第一交换芯片实现数据报文转发,比如该标识可以是第一转发平面的标识,那么只有第一转发平面的第一交换芯片才能转发该数据报文,本申请不作具体限定。
需要说明的,图2所示的例子中,交换节点210和融合节点110内部虽然没有绘制出节点内部芯片之间以及芯片和连接器之间的连接关系,但是交换节点210和融合节点110可以按照前述内容中关于节点内部芯片之间连接关系的描述将连接关系封装于盒体内部。具体实现中融合节点110内部的计算芯片和第一交换芯片之间、以及第一交换芯片和连接器之间可通过总线建立通信连接,交换节点210内部的第二交换芯片和连接器之间也可以通过总线建立通信连接,该总线可以是PCIe总线,EISA总线、UB总线、CXL总线、CCIX总线等,本申请不作具体限定。
在本申请实施例中,第一交换芯片120负责同一个融合节点110内部的计算芯片130之间的数据通信,交换节点210中的第二交换芯片220负责不同融合节点110中计算芯片130之间的数据通信。下面结合图3对第一交换芯片120实现同节点内以及不同节点内的计算芯片130之间的数据通信的具体流程进行举例说明。
作为一种可能的实现方式,图3是本申请提供的一种融合节点和交换节点的连接关系示意图。图3中的融合节点1和融合节点16是图2中的16个融合节点中的两个融合节点,图3中的交换节点1是图2中的8个交换节点。
如图3所示,融合节点1内的计算芯片C1和计算芯片C2与第一交换芯片L12相连,第一交换芯片L12与链路300相连,交换节点1内的第二交换芯片L23与链路300相连,融合节点16的第一交换芯片L14与链路300相连,第一交换芯片L14与计算芯片C3相连。根据各个芯片之间的连接关系,各个第一交换芯片中的路由表或者mac地址表可以记录多条转发路径。该转发路径的规则可以如下。
在融合节点1内部的计算芯片C1和计算芯片C2进行数据通信时,可以通过融合节点1内的第一交换芯片L12进行数据通信,由计算芯片C1发送给计算芯片C2的数据报文的转发路径为:计算芯片C1将数据报文发送给第一交换芯片L12,第一交换芯片L12将数据报文转发给计算芯片C2,从而实现同一融合节点内计算芯片之间的数据通信。
在融合节点1内部的计算芯片C1和计算芯片C4进行数据通信时,两个计算芯片连接了不同的第一交换芯片,由计算芯片C1发送给计算芯片C4的数据报文的转发路径为:计算芯片C1可以先将数据报文发送给第一交换芯片L12,第一交换芯片L12将数据报文发送给交换节点1中的第二交换芯片L23,第二交换芯片L23再将数据报文转发给融合节点1的第一交换芯片L11,第一交换芯片L11再将数据报文转发给计算芯片C4。
可选地,如果第一交换芯片L11和第一交换芯片L12之间建立了通信连接,由计算芯片C1发送给计算芯片C2的数据报文的转发路径为:计算芯片C1可以先将数据报文发送给第一交换芯片L12,第一交换芯片L12将数据报文转发给第一交换芯片L11,第一交换芯片L11再将数据报文转发给计算芯片C4。
需要说明的,如果与作为发送端的计算芯片相连的第一交换芯片数量为多个,或者作为接收端的计算芯片相连的第一交换芯片数量为多个时,那么发送端计算芯片和接收端计算芯片之间可以存在多条开销不 同的路径,发送端本地的计算芯片上的路由表或者mac地址表可以通过负载均衡等算法确定最优转发路径,发送端的计算芯片可以查询本地的路由表获得该最优转发路径,避免网路拥堵。
在融合节点1的计算芯片C1和融合节点16的计算芯片C3进行数据通信时,可以通过融合节点1内部的第一交换芯片L12、交换节点1内部的第二交换芯片L23以及融合节点16内部的第一交换芯片L14实现数据通信。具体实现中,计算芯片C1可以先把数据报文发送给第一交换芯片L12,第一交换芯片L12可以将数据报文转发给交换节点1上的第二交换芯片L23,第二交换芯片L23可以将数据报文转发给融合节点16上的第一交换芯片L14,第一交换芯片L14可以将数据报文转发给本节点内的计算芯片C3。
具体实现中,融合节点之间的数据通信可通过任意交换节点上的任意第二交换芯片实现,比如通过交换节点8中任意第二交换芯片实现,具体可结合每个交换节点中的第二交换芯片的工作负载情况确定合适的第二交换芯片,或者,用户也可以设定部分交换节点负责部分融合节点的数据通信,申请不作具体限定。
应理解,图3为了便于描述,并没有表现出融合节点内计算芯片和第一交换芯片的全部连接关系,没有表现出全部第一交换芯片和链路300之间的连接关系,也没有表现出全部第二交换芯片与链路300之间的连接关系,实际应用中,融合节点1中的全部计算芯片可以与融合节点1内的部分或者全部第一交换芯片相连,融合节点1中的全部第一交换芯片可以与链路300相连,交换节点1中的全部第二交换芯片可以与链路300相连。同理,融合节点16的全部第一交换芯片可以与连接器相连。
参考图3实施例的描述,可以获知图2中融合节点1~16中任意计算芯片在节点内和节点之间的数据通信流程,这里不一一展开赘述。
在一实施例中,第一机柜400中包括多个融合节点110以及多个交换节点210,这些融合节点110和交换节点210可以组成互连网络,互连网络的网络拓扑结构可包括无中心交换节点的网络拓扑结构和有中心交换节点的网络拓扑结构。下面分别对无中心交换节点的网络拓扑结构和有中心交换节点的网络拓扑结构进行解释说明。
具体地,无中心交换节点的网络拓扑结构中,互连网络不包括其他交换机机柜,只包括上述计算系统(比如第一机柜400),多个计算系统之间通过交换节点210实现数据通信。有中心节点的网络拓扑结构中,互连网络还包括其他交换机机柜,该交换机机柜用于实现多个计算系统之间的数据通信,这里的交换机机柜即为上述中心交换节点。
具体实现中,无中心交换节点的网络拓扑结构可包括但不限于蜻蜓(dragonfly或者dragonfly+)网络、环状网络(torus)等,有中心交换节点的网络拓扑结构可包括但不限于胖树(fat-tree)网络,本申请不作具体限定。
其中,dragonfly包括多个组,每个组实际是一种实现组内通信的子网络,这里的每个组可以是上述第一机柜400。每个组之间通过链路连接,并且组间链路相对较窄,类似于蜻艇的宽大身体和窄小翅膀,因此称为蜻艇网络。换句话说,上述第一机柜400之间通过链路连接,通过第一机柜400内部的交换节点实现第一机柜400之间的数据通信。应理解,由于蜻蜓网络包括的各个组之间采用窄链路,能够很大程度减少全局链路的数量,降低组网成本。
进一步地,蜻蜓网络的各个组之间可以采用全互连(all to all)方式进行连接,该种网络也称作dragonfly+网络,所谓全互连是指每个组与该蜻蜓网络的其他组中的每一个组之间至少有一个直连链路,dragonfly+网络组规模更大,支持连接的组数也更多,组内采用跳步数尽可能少的连接方式,通常为全互连或维扁平蝴蝶的结构,如此可以进一步缩短链路长度,从而实现提供低延迟通信。
Torus网络包括多个节点,每个节点可以是上述第一机柜400,每个节点之间存在环回链路(waraparound links或者toroidal boundaries),环回链路的存在使得torus网络中的节点不再有位于拓扑中心或者边缘的区别,每一节点在每一维度上均具有两个相邻节点,使得任意两个节点之间可以存在多条转发路径,网络的可靠性、交换容量和可扩展性都很高。
具体实现中,上述无中心交换节点的网络拓扑结构中,即dragonfly网络、dragonfly+网络和torus网络中,第一机柜400之间的数据报文转发需要通过每个第一机柜400中的交换节点210,数据报文的转发路径上可能会经过一个或者多个交换节点210,本申请不作具体限定。
胖树网络是一种通过大量低性能的交换机和多层网络来构建出的大规模无阻塞网络,通常情况下,胖树网络可包括多个集群(pod)和连接pod的多个核心交换机,每个pod包括多个一层交换机和多个二层交换机,每个一层交换机连接一个或者多个计算芯片,一层交换机用于实现计算芯片之间的数据通信,每个二层交换机连接一个或者多个一层交换机,二层交换机用于实现一层交换机之间的数据通信,每个核心交换 机连接一个或者多个pod,核心交换机用于实现pod之间的数据通信。当然,核心交换机之间也可以组成多层子网络,每层子网络之间的数据通信由上一层子网络实现,以此类推,使得胖树网络中的每两个计算节点之间可以存在多条并行路径,因此网络的容错性能良好,并且可以在pod内合理分流,避免过载问题。应理解,胖树网络是一种无阻塞网络技术,使用大量的交换芯片构建出大规模无阻塞网络,该网络从下到上的带宽理论不收敛,数据通信的路径非常多,总有路径能让通信带宽达到需求带宽,进一步解决计算芯片的性能受网络带宽限制的问题,提高计算机集群的性能。
具体实现中,上述有中心交换节点的网络拓扑结构中,即胖树网络中,每个第一机柜400可以与一个或者多个中心交换节点建立通信连接,第一机柜400之间的数据报文转发需要通过上述一个或者多个中心交换节点实现。
应理解,多个融合节点110以及多个交换节点210所组成的网络拓扑结构还可包其他常用的带宽、时延敏感类的大规模网络拓扑结构,这里不一一举例说明,本申请不作具体限定。
下面以多个计算系统(即上述第一机柜400)之间的网络拓扑结构为有中心交换节点的胖树网络拓扑结构为例,对本申请提供的计算系统进行进一步的举例说明。
多个第一机柜400组成的互连网络中,还可包括多个第二机柜,这些机柜可以是交换机机柜,每个第二机柜可包括多个第三交换芯片。每个第二机柜用于实现多个第一机柜之间的通信连接。以网络结构为胖树网络为例,第一机柜400中的第一交换芯片和计算芯片可以组成胖树网络中的第一层网络,第二交换芯片和第一交换芯片可以组成胖树网络中的第二层网络,第三交换芯片和第二交换芯片可以组成胖树网络中的第三层网络,其中,第三交换芯片之间也可以组成多层网络,形成胖树网络的第三层网络、第四层网络等等,本申请不对第三交换芯片所组成的网络层数进行限定。
具体实现中,第二机柜和第一机柜400之间可以通过线缆或者光纤建立通信连接,本申请不作具体限定。
举例来说,图4是本申请提供的一种四层胖树网络的结构示意图,如图4所示,该四层胖树网络中的第一层网络由多个第一交换芯片L1实现,第二层网络由多个第二交换芯片L2实现,第三层网络由多个第三交换芯片L3实现,第四层网络由多个第三交换芯片L4实现。其中,第一交换芯片L1、第二交换芯片L2、第三交换芯片L3以及第三交换芯片L4可以是相同或者不同的交换芯片,本申请不作具体限定。
其中,第一交换芯片L1和计算芯片可以部署于第一盒体,第二交换芯片L2部署于第二盒体,第一盒体以及第二盒体可以部署于第一机柜,第三交换芯片L3以及第三交换芯片L4可以部署于第二机柜。应理解,第三交换芯片L3和第三交换芯片L4也可以部署于不同机柜,本申请不作具体限定。
具体实现中,每个计算芯片可以与同一盒体内的每个第一交换芯片L1建立通信连接,每个第一交换芯片L1可以与同一机柜内的每个第二交换芯片L2建立通信连接,每个第二交换芯片L2可以与每个第三交换芯片L3建立通信连接,每个第三交换芯片L3可以与每个第四交换芯片L4建立通信连接。
应理解,胖树网络通过大量的使用大量的交换芯片构建出大规模无阻塞网络,虽然胖树网络拥有从下到上的带宽理论不收敛的优点,但是由于交换芯片的数量和复杂的连接关系,会导致网络中的线缆或者光纤数量过多,容易出现线缆连接困难、连接错误、光电转换损耗较大的问题,而图4所示的四层胖树网络中,第一层网络和第二层网络被封装于同一个机柜当中,并且计算芯片和第一交换芯片L1在第一盒体内,一个或者多个第二交换芯片L2在第二盒体内,第一盒体和第二盒体通过无背板的正交连接器建立通信连接,使得放有第一盒体和第二盒体的第一机柜内的线缆或者光纤数量大大减少,使用该第一机柜组成图4所示的四层胖树网络,使得四层胖树网络中的线缆或者光纤数量大大减少,从而解决胖树网络由于线缆或者光纤数量过多,容易出现线缆连接困难、连接错误、光电转换损耗较大的问题。
需要说明的,图4所示的例子中,每个融合节点所在的第一盒体内包括a个计算芯片、1个第一交换芯片L1,每个第二盒体包括1个第二交换芯片L2,每个第一机柜包括b个第一盒体和c个第二盒体。每个第二机柜包括d个第三交换芯片L3和e个第三交换芯片L4,计算机集群包括m个第一机柜和n个第一机柜。应理解,图4用于举例说明,本申请不对第一盒体中计算芯片的数量和第一交换芯片L1的数量、第二盒体中第二交换芯片L2的数量、第一机柜中第一盒体和第二盒体的数量、第二盒体中第三交换芯片L3的数量和第四交换芯片L4的数量、第一机柜和第二机柜的数量进行限定。具体可以根据每个计算芯片所需的带宽、每个交换芯片可提供的端口数量以及交换容量来确定胖树网络的层数以及每层网络中的交换芯片数量,本申请不作具体限定。
需要说明的,图4所示的例子中,每个计算芯片与每个第一交换芯片L1相连,每个第一交换芯片L1 和每个第二交换芯片L2相连,每个第二交换芯片L2与每个第三交换芯片L3相连,每个第三交换芯片L3与每个第三交换芯片L4相连。应理解,图4用于举例说明,具体实现中,每个计算芯片也可以与部分第一交换芯片L1相连,每个第二交换芯片也可以与部分第三交换芯片L3相连,每个第三交换芯片L3也可以与部分第三交换芯片L4相连,保证每个计算芯片都可以与计算机集群内的其他计算芯片通信即可。
可选地,如果每个第一交换芯片L1与每个计算芯片相连,那么同一盒体内的计算芯片之间可以通过同节点内的第一交换芯片L1实现数据通信。
可选地,如果同一盒体内的每个计算芯片与部分第一交换芯片L1相连,那么同一盒体内的计算芯片之间进行数据交互时,作为发送方的计算芯片与接收方的计算芯片如果连接了同一个第一交换芯片L1,那么可以通过共同连接的第一交换芯片L1实现数据通信,具体可参考图3实施例中计算芯片C1向计算芯片C2发送数据报文时的步骤流程描述;如果发送方和接收方没有连接同一个第一交换芯片L1,那么可以通过各自连接的第一交换芯片L1以及同机柜内的第二交换芯片L2实现数据通信,具体可参考图3实施例中计算芯片C1向计算芯片C4发送数据报文时的步骤流程描述,这里不重复赘述。
举例来说,如果用户需求计算机集群包括6万颗计算芯片,每个计算芯片需求4个200Gb端口,计算机集群需要提供24万个200Gb端口,仍以12.8Tbps的交换容量、供64个200Gb的端口、32个端口的交换芯片为例,按照用户需求和每个计算芯片的规格可组成图4所示的四层胖树网络,其中,该胖树网络中计算芯片的数量a=8,第一盒体的数量b=32,第二盒体的数量c=32,第三交换芯片的数量d=64,第三交换芯片L4的数量e=32,第一机柜的数量m约为200,第二机柜n的数量约为200,即可满足用户需求,保证6万个计算芯片都可以拥有4个200Gb的端口。应理解,上述举例用于说明,本申请不作具体限定。
在一实施例中,融合节点内的多个第一交换芯片包括第一交换平面的第一交换芯片和第二交换平面的第一交换芯片,交换节点内的多个第二交换芯片包括第一交换平面的第二交换芯片和第二交换片面的第二交换芯片。简单来说,第一机柜内的第一交换芯片和第二交换芯片所组成的网络可包括多个交换平面,一部分第一交换芯片和一部分第二交换芯片负责第一交换平面的数据通信,另一部分第一交换芯片和另一部分第二交换芯片负责第二交换平面的数据通信。应理解,上述第一交换平面和第二交换平面并不是指定本申请的技术方案只支持2个交换平面,而是想表达本申请的技术方案支持不同的交换平面,实际还可以支持两个以上的交换平面,具体可根据实际的应用场景确定交换平面的数量。
可选地,第一交换平面和第二交换平面可以是网络隔离的交换平面。具体地,出于业务安全的考虑,为了实现用户的业务1和业务2的网络隔离,避免出现网络安全的问题,可以通过本申请提供的机柜组成二层或以上的胖树网络,并为各个交换芯片分配对应的交换平面,使得用户可以使用第一交换平面实现业务1的数据通信,使用第二交换平面实现业务2的数据通信,两个交换平面之间不会进行数据通信,即,第一交换平面的第一交换芯片和第二交换芯片不会处理第二交换平面的数据报文,第二交换平面的第一交换芯片和第二交换芯片不会处理第一交换平面的数据报文,从而实现第一交换平面和第二交换平面的网络隔离。应理解,上述举例用于说明,本申请不作具体限定。
可选地,第一交换平面和第二交换平面承担不同的业务。举例来说,用户业务1使用第一交换平面,业务2使用第二交换平面,从而避免业务冲突导致的网络延迟,通过多个交换平面使得计算机集群可以为用户提供更大的带宽能力,提高用户使用体验。
可选地,第一交换平面和第二交换平面使用不同的通信协议。举例来说,业务1需要使用通信协议1,业务2需要使用通信协议2,使用本申请提供的机柜,并为各个交换芯片分配对应的交换平面,第一交换平面使用通信协议1处理业务1,第二交换平面使用通信协议2处理业务2,应理解,上述举例用于说明,本申请不作具体限定。
举例来说,如图5所示,图5是本申请提供的一种计算系统在一应用场景下的结构示意图,该计算系统为机柜式服务器,比如第一机柜400,图2所示的应用场景下,该机柜只包括一个交换平面,在图5所示的应用场景下,该机柜包括两个交换平面,其中,该机柜包括16个融合节点和10个交换节点,其中,每个融合节点包括8个计算芯片和3个第一交换芯片,其中,第一交换芯片L11-1以及第一交换芯片L12-1属于第一交换平面,第一交换芯片L11-2属于第二交换平面。每个交换节点包括4个第二交换芯片,其中,交换节点1~8属于第一交换平面,交换节点9和交换节点10属于第二交换平面。
应理解,图2~图3描述的结构可以理解为单个交换平面的网络结构,图5是在图2和图3所示的第一交换平面的网络结构基础上,增加了第二交换平面,具体地,每个融合节点增加了一个第一交换芯片L11-2作为第二交换平面的第一交换芯片,并且新增加了两个交换节点9和交换节点10作为第二交换平面的交 换节点,并且每个交换节点包括4个第二交换芯片。这样,图5所示的网络结构中,第一交换平面包括32个第一交换芯片以及32个第二交换芯片,第二交换平面包括16个第一交换芯片以及8个第二交换芯片。
具体实现中,计算芯片通过第二交换平面进行数据通信时,同一融合节点内的计算芯片可使用第二交换平面的第一交换芯片时间数据通信,不同融合节点之间的计算芯片可使用第二交换平面的交换节点内的第二交换芯片来实现数据通信。同理,使用第一交换平面进行数据通信时,计算芯片使用第一交换平面的第一交换芯片和第二交换芯片来实现数据通信,这里不展开赘述。
可以理解的,计算芯片可以根据业务需求连接不同交换平面的第一交换芯片,不同交换平面的第一交换芯片之间不存在通信连接,不同交换平面的第二交换芯片之间也不存在通信连接,从而可以实现不同交换平面的网络隔离,不同交换平面可以承担不同的业务,使用不同的通信协议,更大程度满足用户的多样化需求,提高用户的使用体验。
可选地,根据用户需求,第一机柜内还可以包括更多的交换平面,比如第三交换平面、第四交换平面等等,每个交换平面还可以包括更多的第一交换芯片和第二交换芯片,本申请不作具体限定。
具体实现中,如果增加交换节点的数量,可以类似图5所示的方式,水平方向增加交换节点的数量,并适应性增加融合节点所在的第一盒体的长度,使得扩展后的第一盒体和更多数量的交换节点能够通过无背板正交连接器进行连接。同理,如果增加融合节点的数量,可以垂直方向增加融合节点的数量,并适应性增加交换节点所在的第二盒体的长度,使得扩展后的第二盒体可以和更多数量的融合节点通过无背板正交连接器进行连接。
需要说明的,图3和图5的例子中,融合节点水平方向放置,交换节点垂直方向放置,具体实现中,也可以融合节点垂直方向放置,交换节点水平方向放置,本申请不作具体限定。
应理解,第一盒体和第二盒体可以直接插入无背板正交连接器进行连接,无需使用线缆或者光纤,因此包括多个第一盒体和第二盒体的机柜可以大大减少线缆或者光纤的数量,避免线缆连接错误的问题,同时降低了线缆和光线的传输损耗。
在一实施例中,本申请提供的第一机柜400的网络结构可以是二层及以上的胖树网络结构,且包括至少一个交换平面。具体实现中,计算芯片可以同时连接多个交换平面的第一交换芯片,第一交换平面的第一交换芯片与第一交换平面的第二交换芯片建立通信连接,第二交换平面的第一交换芯片与第二交换平面的第二交换芯片建立通信连接,不同交换平面的第一交换芯片之间不连接,不同交换平面的第二交换芯片之间也不连接,从而实现一个机柜中存在多个交换平面的目的。同理,如果机柜内的网络是二层以上的胖树网络,那么第一交换平面的第二交换芯片与第一交换平面的第三交换芯片连接,不同交换平面的第二交换芯片与第三交换芯片之间不连接,以此类推,从而保证第一机柜400可以包括更多层的胖树网络以及更多个交换平面。
示例性地,如图6所示,图6是本申请提供的一种计算系统在一应用场景下的结构示意图,该计算系统可以是前述内容中的第一机柜,该计算系统包括第一交换平面和第二交换平面,其中,第一交换平面是一个四层胖树网络,也就是图4所示的四层胖树网络,这里不再重复展开赘述。第二交换平面是一个二层的胖树网络,每个第一机柜中,包括b个第二交换平面的第一交换芯片L1以及c个第二交换平面的第二交换芯片L2,其中,第一机柜中的每个第一盒体内包括1个第二交换平面的第一交换芯片L1,每个第二盒体内包括1个第二交换平面的第二交换芯片L2。
需要说明的,图1中第一交换平面的第二交换芯片和第二交换平面的第二交换芯片封装于不同的第二盒体中,在一些实施例中,第二盒体也可以包括多个交换平面的第二交换芯片,比如交换节点1中的第二交换芯片L1和L2为第一交换平面的交换芯片,第二交换芯片L3和L4为第二交换平面的交换芯片。具体实现中,如果用户需求交换平面需要网络隔离,那么不同的交换平面可以封装于不同的第二盒体中,如果用户不需要交换平面进行网络隔离,只是需要不同的交换平面承担不同的业务,或者,不同的交换平面运行不同的通信协议,那么不同的交换平面可以封装于同一个第二盒体内,节省更多的硬件资源。
在图6所示的机柜中,对于同一盒体内计算芯片之间的数据通信,如果计算芯片1需要通过第一交换平面向第一盒体1内的计算芯片a发送数据报文,那么计算芯片1可以将数据报文发送给同盒体内的第一交换平面的第一交换芯片L1-1,使其将数据报文转发给计算芯片a,实现第一交换平面内同一盒体内计算芯片之间的数据通信。如果计算芯片1需要通过第二交换平面向第一盒体1内的计算芯片a发送数据报文,那么计算芯片1可以将将数据报文发送给同盒体内的第二交换平面的第一交换芯片L1-1,使其将数据报文转发给计算芯片a,实现第二交换平面内同一盒体内计算芯片之间的数据通信。
同理,对于不同盒体之间计算芯片之间的数据通信,通过第一交换平面实现时就通过第一交换平面的第一交换芯片以及第一交换平面的第二交换芯片实现数据通信,通过第二交换平面实现时,就通过第二交换平面的第一交换芯片以及第二交换平面的第二交换芯片实现数据通信,这里不再展开赘述。
进一步地,对于二层以上的网络,第三交换芯片也可以分为第一交换平面的第三交换芯片以及第二交换平面的第三交换芯片,用户需要通过第一交换平面实现时,就通过第一交换平面的第一交换芯片、第二交换芯片以及第三交换芯片实现数据通信,这里不再展开赘述。
需要说明的,本申请提供的计算系统也可以是机框式服务器,比如上述刀片服务器、及机架服务器和高密服务器等等,该机框式服务器与图1所示的第一机柜结构类似,该机框式服务器包括机框,机框内部拥有多个融合节点110和交换节点210,还可部署有电源、风扇、管理节点等其他机框式服务器所需的部件,这里不一一举例说明。同理,上述第二机柜也可以是机框式设备,该机框式设备包括多个第三交换芯片,具体可参考上述第一机柜400和第二机柜的描述,这里不再重复展开赘述。
在一可能的实现方式中,计算系统(比如上述第一机柜400)可包括一个或者多个对称多处理(symmetrical multi-processing,SMP)系统,每个融合节点也可以包括一个或者多个SMP系统。其中,SMP系统是指在一个服务器上汇集了一组处理器集合,该处理器集合中包括多个CPU。且各个处理器之间共享内存和一台服务器上的其他资源,比如共享总线结构,工作负载能够均匀地分配到所有可用处理器之上。也即一个SMP系统对应一个OS域和多个计算芯片,这些计算芯片可以是同一个融合节点内的计算芯片,也可以是不同融合节点内的计算芯片,本申请不作具体限定。
示例地,一个计算系统包括16个融合节点,那么16个融合节点可以包括16个SMP系统,其中,一个融合节点对应一个SMP系统;或者,16个融合节点包括8个SMP系统,其中,2个融合节点对应一个SMP系统;或者,16个融合节点为融合节点1~融合节点16,其中,融合节点1包括2个SMP系统,融合节点2和融合节点3是一个SMP系统,融合节点4~16是一个SMP系统。上述举例用于说明,本申请不作具体限定。
应理解,由于计算芯片之间通过第一交换节点和第二交换节点实现了互连,因此可以根据实际应用场景的业务需求灵活组合每个SMP系统内的计算芯片,本申请不作具体限定。
综上,本申请提供了一种计算系统,该计算系统包括多个融合节点和多个交换节点,多个融合节点中的第一融合节点包括多个计算芯片和至少一个第一交换芯片,至少一个第一交换芯片用于实现多个计算芯片之间的通信连接,第一交换节点用于实现第一融合节点与多个融合节点中其他融合节点之间的通信连接,其中,多个交换节点中的第一交换节点通过连接器与第一融合节点耦接,第一融合节点中的多个计算芯片与第一交换芯片连接,这样,即使第一交换芯片所连接的计算芯片数量减少时,通过增加第一交换芯片的数量,也可以增加整个机柜中的计算芯片数量,而减少每个第一交换芯片所连接的计算芯片数量后,可以使得每个计算芯片可分配的带宽增加,从而在扩大计算机集群规模的同时,提高每个计算芯片的可用带宽,从而解决计算机集群性能瓶颈的问题。
上文结合图1至图6分别介绍了本申请所提供的计算系统的架构,接下来,结合附图7和附图8进一步解释本申请提供的上述计算系统内部的数据通信过程。
图7是本申请提供的一种通信方法在一应用场景下的步骤流程示意图,图8是本申请提供的一种通信方法在另一应用场景下的步骤流程示意图,其中,图7和图8的区别在于,图7所示的通信方法的应用场景为计算芯片与第一交换芯片全连接的场景,图8所示的通信方法的应用场景为同一融合节点内的计算芯片没有与全部第一交换芯片全连接。
图7和图8所示的通信方法可应用于计算系统1000中,该计算系统1000可以是如图1~图6实施例中描述的计算系统,示例性地,该计算系统可以是图1~图6所示的第一机柜400,该计算系统的网络拓扑结构可以是有中心交换机的网络拓扑结构,比如胖树网络。其中,第一机柜400包括一个或者多个融合节点以及一个或者多个交换节点,其中,每个融合节点包括一个或者多个计算芯片以及至少一个第一交换芯片,每个交换节点包括一个或者多个第二交换芯片,具体可参考前述图1~图6中的描述,本申请不作具体限定。
该方法可包括以下步骤S710~步骤S760。需要说明的,步骤S710和步骤S720描述的是同一融合节点内的计算芯片之间的通信方法的步骤流程,步骤S730~步骤S760描述的是不同融合节点内的计算芯片之间的通信方法的步骤流程。
步骤S710:计算芯片1向第一交换芯片1发送第一数据报文,其中,第一数据报文的目的地址是计算 芯片2的地址,计算芯片1、计算芯片2和第一交换芯片1是融合节点1内的芯片,融合节点1被封装于第一盒体,且计算芯片1和计算芯片2与第一交换芯片1相连。
需要说明的,如果与作为发送端的计算芯片1相连的第一交换芯片数量为多个,那么发送端计算芯片1和接收端计算芯片2之间可以存在多条开销不同的路径,发送端计算芯片本地的路由表或者mac地址表可以通过负载均衡等算法确定最优转发路径,发送端的计算芯片可以查询本地的路由表或者mac地址表获得该最优转发路径,避免网路拥堵,其中,确定最优转发路径的路由算法或者交换机转发算法本申请不作具体限定。
参考图7可知,融合节点1中的计算芯片1和第一交换芯片1连接,计算芯片2也和第一交换芯片1连接,因此计算芯片1向计算芯片2发送的第一数据报文可以通过第一交换芯片1进行转发。简单来说,同一融合节点内作为发送方的计算芯片和作为接收方的计算芯片之间的数据通信,可通过与发送方和接收方都建立连接的第一交换芯片实现。
步骤S720:第一交换芯片1向计算芯片2转发第一数据报文。
具体实现中,计算芯片1和计算芯片2与第一交换芯片1建立通信连接之后,第一交换芯片1可以记录与其相连的全部计算芯片的地址,建立路由表,该路由表记录有多条传输路径,使得第一交换芯片1接收到数据报文后,可根据数据报文携带的源地址和目的地址,对路由表进行查询,查询时使用的算法可以是路由算法,比如路由信息协议(routing information protocol,RIP)、边界网关协议(border gateway protocol,BGP)等等,本申请不作具体限定。
应理解,步骤S710和步骤S720描述的是融合节点内的数据通信流程,步骤S730~步骤S760描述的是不同融合节点内的计算芯片之间的通信方法的步骤流程。如果计算芯片1不需要和其他融合节点内的计算芯片进行数据通信,可以不执行步骤S730~步骤S760;如果计算芯片1不需要与同一融合节点内的计算芯片进行数据通信,可以不执行步骤S710和步骤S720,直接执行步骤S730~步骤S760;当然计算芯片1也可以先执行步骤S730~步骤S760再执行步骤S710和步骤S720,本申请不作具体限定。
具体实现中,上述计算芯片1可以是图3实施例中的计算芯片C1,计算芯片2可以是图3实施例中的计算芯片C2,第一交换芯片1可以是图3实施例中的第一交换芯片L12,步骤S710~步骤S720的详细描述可参考图3实施例中关于计算芯片C1和计算芯片C2进行数据通信时的步骤流程,这里不重复赘述。
步骤S730:计算芯片1向第一交换芯片1发送第二数据报文,其中,第二数据报文的目的地址是计算芯片3的地址,计算芯片1是融合节点1内的计算芯片,计算芯片3是融合节点2内的计算芯片。
步骤S740:第一交换芯片1向交换节点1内的第二交换芯片1转发第二数据报文。
应理解,参考图1~图6实施例的描述可知,融合节点和交换节点通过连接器建立通信连接,该连接器为无背板的正交连接器,因此第一交换芯片1可以与第二交换芯片1建立通信连接,那么第一交换芯片1接收到携带有计算芯片3地址的第二数据报文之后,可以根据计算芯片3的地址和路由表,确定下一跳地址为交换节点1的地址,然后向交换节点1发送第二数据报文的地址。
参考前述内容可知,每个融合节点内的每个第二交换芯片可以与全部第一交换芯片建立通信连接,这样数据通信的路径非常多,无论哪一个计算芯片都能找到让通信带宽达到需求带宽的通信路径。因此第二交换芯片1可以是交换节点1根据节点内全部第二交换芯片的空闲情况确定的。
步骤S750:第二交换芯片1向融合节点2的第一交换芯片2转发第二数据报文。
参考前述内容可知,每个融合节点内的第一交换芯片与每个第二交换芯片建立了通信连接,第二交换芯片1连接了第一交换芯片1和第一交换芯片2,所以第二交换芯片1可以根据第二数据报文中携带的计算芯片3的地址,向计算芯片3所在的融合节点2转发第二数据报文。
步骤S760:第一交换芯片2向计算芯片3转发第二数据报文。
应理解,融合节点内部的第一交换芯片可根据就收到的第二数据报文携带的计算芯片3的地址,向同节点内的计算芯片3转发该第二数据报文。
具体实现中,上述计算芯片1可以是图3实施例中的计算芯片C1,计算芯片3可以是图3实施例中的计算芯片C3,第一交换芯片1可以是图3实施例中的第一交换芯片L12,第一交换芯片2可以是图3实施例中的第一交换芯片L14,第二交换芯片1可以是图3实施例中的第二交换芯片L23,步骤S730~步骤S760的详细描述可参考图3实施例中关于计算芯片C1和计算芯片C3进行数据通信时的步骤流程,这里不重复赘述。
应理解,上述步骤S710和步骤S720中,计算芯片1和计算芯片2与同一个第一交换芯片1相连,因 此计算芯片1和计算芯片2进行数据通信时,可通过第一交换芯片1实现数据报文的转发。参考前述内容可知,融合节点内的每个第一交换芯片可以与同节点内的全部计算芯片相连,或者,每个第一交换芯片可以与部分计算芯片相连,该情况下,可能会出现作为发送端的计算芯片1与作为接收端的计算芯片4分别与不同的第一交换芯片相连的情况。下面结合图8对该情况下同一融合节点内的计算芯片之间的通信方法进行描述。
图8是本申请提供的一种通信方法在另一应用场景下的步骤流程示意图,图8所示的应用场景中,发送端的计算芯片和接收端的计算芯片连接了不同的第一交换芯片,如图8所示,该方法可包括以下步骤:
步骤S810:计算芯片1向第一交换芯片1发送第三数据报文,其中,第三数据报文的目的地址为计算芯片4的地址,计算芯片4和计算芯片1是融合节点1内的计算芯片,并且计算芯片1与第一交换芯片1相连,计算芯片4与第一交换芯片2相连。
步骤S820:第一交换芯片1向交换节点1的第二交换芯片1转发第三数据报文。
应理解,第一交换芯片1与第一交换芯片2之间不存在通信连接,但是每个第二交换芯片可以与每个第一交换芯片建立通信连接,所述第一交换芯片1可以将第三数据报文转发给第二交换芯片1,再由第二交换芯片1将第三数据报文转发给第一交换芯片2。
步骤S830:第二交换芯片1向第一交换芯片2转发第三数据报文。
步骤S840:第一交换芯片2向计算芯片4转发第三数据报文。
具体实现中,上述第一交换芯片1可以是图3中的第一交换芯片L12,第一交换芯片2可以是图3中的第一交换芯片L11,计算芯片1可以是图3中的计算芯片C1,计算芯片4可以是图3中的计算芯片C4,第二交换芯片1可以是图3中的第二交换芯片L23,上述步骤S810~步骤S840的描述可参考图3实施例中关于计算芯片C1与计算芯片C4之间数据通信的步骤流程,这里不重复赘述。
简单来说,对于同一融合节点内计算芯片之间的数据通信,如果发送端的计算芯片和接收端的计算芯片连接了同一个第一交换芯片,那么发送端和接收端之间的数据通信可以通过该第一交换芯片实现;如果发送端的计算芯片和接收端的计算芯片连接了不同的第一交换芯片,那么发送端可以通过与其相连的第一交换芯片将数据报文转发至第二交换芯片,由第二交换芯片再将数据报文转发至与接收端相连的第一交换芯片,再通过与接收端相连的第一交换芯片将数据报文转发至接收端。
应理解,图7和图8所述的通信方法在计算机集群为二层胖树网络时的通信方法,如果计算机集群组成了二层以上的胖树网络,比如图4所示的四层胖树网络,此时不同机柜之间的数据通信还可以通过第三交换芯片实现。
仍以图4实施例为例,如果第一机柜1中的第一盒体1中的计算芯片1向第一机柜m中的第一盒体1的计算芯片1发送数据报文,那么数据报文需要经过第一机柜1中的第一盒体1内的第一交换芯片L1-1,然后经过第一机柜1中的第二交换芯片L2-1(当然也可以是同机柜内的其他第二交换芯片,本申请不作具体限定),再经过第二机柜1中的第三交换芯片L3-1(当然也可以是任一第二机柜内的任意第三交换芯片),然后经过第一机柜m中的第二盒体1的第二交换芯片L2-1(也可以是第一机柜m中任意第二交换芯片),最后经过第一机柜m中的第一盒体1的第一交换芯片L1-1,最后传输至第一机柜m中的第一盒体1中的计算芯片1。
总而言之,如果发送端计算芯片与接收端计算芯片之间存在直连的第一交换芯片,那么二者可通过直连的第一交换芯片实现数据通信;如果二者之间没有共同直连的第一交换芯片,那么就通过与各自相连的第一交换芯片直连的第二交换芯片实现数据通信;如果与二者相连的第一交换芯片之间没有共同直连的第二交换芯片,那么可确定与二者相连的第一交换芯片相连的第二交换芯片各自相连的两个第二交换芯片,通过与这两个第二交换芯片相连的第三交换芯片实现数据通信,以此类推,这里不一一举例说明。
进一步地,如果计算机集群包括多个交换平面,参考图5和图6实施例可知,每个交换平面拥有对应的第一交换芯片和第二交换芯片,如果计算机集群的网络层数为二层以上,每个交换平面也拥有对应的第三交换芯片,计算芯片使用不同的交换平面进行数据通信时,可以通过该交换平面对应的第一交换芯片、第二交换芯片以及第三交换芯片实现数据通信,通信方法可参考图7和图8所示的通信方法的相关描述,这里不重复赘述。
具体实现中,如果用户需求网络隔离的多个交换平面,那么不同交换平面的交换芯片不相连,不共用;如果用户并不需求网络隔离,只是希望不同的交换平面处理不同的业务或者使用不同的通信协议,那么不同交换平面的交换芯片可以相连或者共用,计算芯片生成的数据报文可携带有交换平面的标识,比如使用 第一交换平面进行数据通信时,计算芯片生成的数据报文可携带有第一交换平面的标识,这样,第一交换芯片接收到数据报文时,可以根据标识确定是否对其进行转发,如果第二交换平面的交换芯片接收到了携带有第一交换平面的标识的数据报文,那么该交换芯片可以不对该数据报文进行处理。
需要说明的,当计算系统是机框式服务器时,计算系统内的通信流程可参考图7和图8实施例的描述,这里不再重复赘述。
综上,本申请提供了一种通信方法,应用于计算机集群中,该计算机集群包括多个第一机柜,每个第一机柜包括多个融合节点和多个交换节点,多个融合节点中的第一融合节点包括多个计算芯片和至少一个第一交换芯片,至少一个第一交换芯片用于实现多个计算芯片之间的通信连接,第一交换节点用于实现第一融合节点与多个融合节点中其他融合节点之间的通信连接,其中,多个交换节点中的第一交换节点通过连接器与第一融合节点耦接,第一融合节点中的多个计算芯片与第一交换芯片连接,这样,即使第一交换芯片所连接的计算芯片数量减少时,通过增加第一交换芯片的数量,也可以增加整个机柜中的计算芯片数量,而减少每个第一交换芯片所连接的计算芯片数量后,可以使得每个计算芯片可分配的带宽增加,从而在扩大计算机集群规模的同时,提高每个计算芯片的可用带宽,从而解决计算机集群性能瓶颈的问题。
图9是本申请提供的一种计算系统的结构示意图,该计算系统1000可以是图1和图8实施例中描述的计算系统,该计算系统1000可包括交换节点210和融合节点110,其中,交换节点210包括第二交换单元221,融合节点110包括计算单元131和第一交换单元121,多个融合节点110通过连接器与多个交换节点210耦接。其中,图9中计算系统虽然只绘制了一个交换节点210和融合节点110,但是具体实现中,融合节点110和交换节点210的数量可以是多个,本申请不作具体限定。
其中,融合节点110的计算单元131,用于处理计算任务,生成数据报文,其中,数据报文的源地址是融合节点内的第一计算芯片的地址,目的地址为第二计算芯片的地址;融合节点110的第一交换单元121,在第二计算芯片是融合节点内的计算芯片时,通过融合节点内的第一交换芯片将数据报文转发至目的地址;第一交换单元121,用于在第二计算芯片是融合节点外的计算芯片时,将数据报文转发至第一交换节点,以供第一交换节点将数据报文转发至目的地址。
具体实现中,计算单元131可通过图1~图8实施例中的计算芯片130实现,计算单元131可执行图7实施例中的步骤S710和步骤S730以及图8实施例中的步骤S810。第一交换单元121可通过图1~图8实施例中的第一交换芯片120实现。第一交换单元121可执行图7实施例中的步骤S720、步骤S740以及步骤S760,还可执行图8实施例中的步骤S820和步骤S840。第二交换单元221可通过图1~图8实施例中的第二交换芯片220实现,第二交换单元221可执行图7实施例中的步骤S750以及图8实施例中的步骤S830。
交换节点210的第二交换单元221,用于接收多个融合节点110中的第一融合节点的第一交换芯片发送的数据报文,数据报文的源地址是第一融合节点的第一交换芯片的地址,目的地址是第二融合节点内的第二计算芯片的地址;第二交换单元221,用于向第二融合节点110的第一交换芯片转发数据报文,以供第一交换芯片将数据报文转发至第二计算芯片,其中,第二融合节点110包括第一交换芯片和计算芯片。
在一可能的实现方式中,融合节点110和交换节点210之间的连接方式为正交连接,连接器包括无背板正交连接器或者光盲插连接器。
在一可能的实现方式中,连接器包括高速连接器,高速连接器通过扭转90度角实现融合节点和第一交换节点之间的正交连接。
在一可能的实现方式中,融合节点110包括第一交换平面的第一交换芯片和第二交换平面的第一交换芯片;第一交换单元121,用于在数据报文携带有第一交换平面的标识时,通过第一交换平面的第一交换芯片转发数据报文;第一交换单元121,用于在数据报文携带有第二交换平面的标识时,通过第二交换平面的第一交换芯片转发数据报文;
在一可能的实现方式中,第一交换平面和第二交换平面是网络隔离的交换平面;或者,第一交换平面和第二交换平面承担不同的业务;或者,第一交换平面和第二交换平面使用不同的通信协议。
在一可能的实现方式中,多个融合节点110和多个交换节点210之间的网络拓扑结构包括无中心交换节点的网络拓扑结构和有中心交换节点的网络拓扑结构。其中,无中心交换节点的网络拓扑结构可包括但不限于dragonfly网络、dragonfly+网络、torus网络等,有中心交换节点的网络拓扑结构可包括但不限于胖树网络。具体可参考前述内容中关于无中心交换节点的网络拓扑结构以及有中心交换节点的网络拓扑结构的相关描述,这里不重复赘述。
在一可能的实现方式中,在网络拓扑结构是无中心交换节点的网络拓扑结构时,交换节点用于实现多个计算系统之间的通信连接;在网络拓扑结构是有中心交换节点的网络拓扑结构时,多个计算系统之间的通信连接通过中心交换节点实现。
在一可能的实现方式中,计算系统中的融合节点和交换节点的数量是根据计算芯片的带宽需求、第一交换芯片的端口数量和交换容量、第一交换节点的端口数量和交换容量确定的。
综上,本申请提供了一种计算系统,该系统包括多个融合节点和多个交换节点,多个融合节点中的第一融合节点包括多个计算芯片和至少一个第一交换芯片,至少一个第一交换芯片用于实现多个计算芯片之间的通信连接,第一交换节点用于实现第一融合节点与多个融合节点中其他融合节点之间的通信连接,其中,多个交换节点中的第一交换节点通过连接器与第一融合节点耦接,第一融合节点中的多个计算芯片与第一交换芯片连接,这样,即使第一交换芯片所连接的计算芯片数量减少时,通过增加第一交换芯片的数量,也可以增加整个机柜中的计算芯片数量,而减少每个第一交换芯片所连接的计算芯片数量后,可以使得每个计算芯片可分配的带宽增加,从而在扩大计算机集群规模的同时,提高每个计算芯片的可用带宽,从而解决计算机集群性能瓶颈的问题。
图10是本申请提供的一种计算系统的结构示意图,该计算系统10000可以是图1至图9实施例中的计算系统,比如图1至图9中的第一机柜400,其中,计算系统10000包括多个计算设备1000和多个通信设备2000。
进一步地,计算设备1000包括计算芯片1001、存储单元1002、存储介质1003、通信接口1004和第一交换芯片1007,其中,计算芯片1001、存储单元1002、存储介质1003、通信接口1004和第一交换芯片1007通过总线1005进行通信,也通过无线传输等其他手段实现通信。
计算芯片1001由至少一个通用处理器构成,例如CPU、NPU或者CPU和硬件芯片的组合。上述硬件芯片是专用集成电路(Application-Specific Integrated Circuit,ASIC)、编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD是复杂编程逻辑器件(Complex Programmable Logic Device,CPLD)、现场编程逻辑门阵列(Field-Programmable Gate Array,FPGA)、通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。计算芯片1001执行各种类型的数字存储指令,例如存储在存储单元1002中的软件或者固件程序,它能使计算设备1000提供较宽的多种服务。
具体实现中,作为一种实施例,计算芯片1001包括一个或多个CPU,例如图10中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,计算设备1000也包括多个计算芯片,例如图10中所示的计算芯片1001和计算芯片1006。这些计算芯片中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
第一交换芯片1007是交换机的交换芯片,由至少一个通用处理器构成,该交换芯片可以是ASIC、PLD或其组合。上述PLD是CPLD、FPGA、GAL或其任意组合。第一交换芯片1007可执行存储在存储单元1002中的软件或者固件程序,实现计算设备1000内的计算芯片之间的数据通信。
具体实现中,作为一种实施例,计算设备1000也包括至少一个第一交换芯片,例如图6中所示的第一交换芯片1007和第一交换芯片1008。
存储单元1002用于存储程序代码,并由计算芯片1001来控制执行,以执行上述图1-图9中任一实施例中计算芯片的处理步骤。程序代码中包括一个或多个软件单元,上述一个或多个软件单元是图9实施例中的计算单元,其中,计算单元用于处理计算任务,生成数据报文。计算单元用于执行图7实施例中的步骤S710和步骤S730及其可选步骤,以及图8实施例中的步骤S810及其可选步骤。
存储单元1002还用于存储程序代码,并由第一交换芯片1007来控制执行,以执行上述图1-图9中任一实施例中第一交换芯片的处理步骤。程序代码中包括一个或多个软件单元,上述一个或多个软件单元是图9实施例中的第一交换单元,其中,第一交换单元用于在数据报文的目的地址是融合节点内的计算芯片的地址时,对数据通信请求转发至目的地址,第一交换单元还用于在数据报文的目的地址是融合节点外的计算芯片的地址时,将数据报文转发至交换节点,以供交换节点将数据报文转发至目的地址。第一交换单元用于执行图7实施例中的步骤S720、步骤S740、步骤S760及其可选步骤,以及图8实施例中的步骤S820、步骤S840及其可选步骤,此处不再赘述。
进一步地,通信设备2000包括第二交换芯片2001、存储单元2002、存储介质2003和通信接口2004, 其中,第二交换芯片2001、存储单元2002、存储介质2003和通信接口2004通过总线2005进行通信,也通过无线传输等其他手段实现通信。
第二交换芯片2001是交换机的交换芯片,由至少一个通用处理器构成,该交换芯片可以是ASIC、PLD或其组合。上述PLD是CPLD、FPGA、GAL或其任意组合。
在具体实现中,作为一种实施例,通信设备2000包括多个第二交换芯片2001,例如图10中所示的第二交换芯片2001和第二交换芯片2006。
存储单元2002用于存储程序代码,并由第二交换芯片2001来控制执行,以执行上述图1-图9中任一实施例中第二交换芯片的处理步骤。程序代码中包括一个或多个软件单元,上述一个或多个软件单元是图9实施例中的第二交换单元,其中,第二交换单元用于接收多个融合节点中的第一融合节点的第一交换芯片发送的数据报文,向第二融合节点的第一交换芯片转发该数据报文,以供第二融合节点的第一交换芯片将数据报文转发至第二计算芯片,其中,数据报文的源地址是第一融合节点的第一计算芯片的地址,目的地址是第二融合节点的第二计算芯片的地址。其中,第二交换单元用于执行图7实施例中的步骤S740、步骤S750及其可选步骤,还用于执行图8实施例中的步骤S830及其可选步骤,此处不再赘述。
存储单元1002和存储单元2002包括只读存储器、随机存取存储器、易失性存储器或非易失性存储器,或包括易失性和非易失性存储器两者。其中,非易失性存储器是只读存储器(read-only memory,ROM)、编程只读存储器(programmable ROM,PROM)、擦除编程只读存储器(erasable PROM,EPROM)、电擦除编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。还是硬盘(hard disk)、U盘(universal serial bus,USB)、闪存(flash)、SD卡(secure digital memory Card,SD card)、记忆棒等等,硬盘是硬盘驱动器(hard disk drive,HDD)、固态硬盘(solid state disk,SSD)、机械硬盘(mechanical hard disk,HDD)等,本申请不作具体限定。
存储介质1003以及存储介质2003是存储数据的载体,比如硬盘(hard disk)、U盘(universal serial bus,USB)、闪存(flash)、SD卡(secure digital memory Card,SD card)、记忆棒等等,硬盘可以是硬盘驱动器(hard disk drive,HDD)、固态硬盘(solid state disk,SSD)、机械硬盘(mechanical hard disk,HDD)等,本申请不作具体限定。
通信接口1004以及通信接口2004为有线接口(例如以太网接口),为内部接口(例如高速串行计算机扩展总线(Peripheral Component Interconnect express,PCIe)总线接口)、有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他服务器或单元进行通信。
总线2005以及总线1005是快捷外围部件互联标准(Peripheral Component Interconnect Express,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线2005以及总线1005分为地址总线、数据总线、控制总线等。
总线2005以及总线1005除包括数据总线之外,还包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线2005以及总线1005。
在本申请实施例中,计算设备1000中的第一交换芯片1007通过连接器与通信设备2000中的第二交换芯片2001耦接,每个第二交换芯片2001与每个第一交换芯片1007通过正交连接的方式建立通信连接,具体可参考前述内容,这里不重复赘述。其中,上述连接器包括但不限于无背板正交连接器、光盲插连接器和高速连接器。其中,高速连接器需要先利用线缆实现计算设备1000、通信设备2000以及高速连接器之间的柔性连接,然后将高速连接器扭转90度,实现交换节点210和融合节点110之间的正交连接。
需要说明的,图10仅仅是本申请实施例的一种能的实现方式,实际应用中,计算系统10000还包括更多或更少的部件,这里不作限制。关于本申请实施例中未示出或未描述的内容,参见前述图1-图9实施例中的相关阐述,这里不再赘述。
本申请实施例提供一种计算机集群,包括多个图10所示的计算系统,多个计算系统之间存在通信连接,协同处理任务。其中,每个计算系统可以与中心交换节点(比如前述内容中的第二机柜)建立通信连 接,每个中心交换节点用于实现计算系统之间的通信连接,多个计算系统和多个中心交换节点之间的网络拓扑结构可以是前述内容中的有中心交换节点的网络拓扑结构,比如胖树网络。关于本申请实施例中未示出或未描述的内容,参见前述图1-图9实施例中的相关阐述,这里不再赘述。
本申请实施例提供另一种计算机集群,包括多个图10所示的计算系统,多个计算系统之间存在通信连接,协同处理任务。每个计算系统之间的通信连接通过每个计算系统内部的交换节点实现。其中,多个计算系统之间的网络拓扑结构可以是前述内容中的无中心交换节点的网络拓扑结构,比如Dragonfly网络、Dragonfly+网络或者Torus网络等等。关于本申请实施例中未示出或未描述的内容,参见前述图1-图9实施例中的相关阐述,这里不再赘述。
本申请实施例还提供了一种计算设备,该计算设备包括处理器和供电电路,该供电电路用于为处理器供电,该处理器用于实现如图1-图9实施例中关于融合节点所执行操作步骤的功能。
上述实施例,全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例全部或部分地以计算机程序产品的形式实现。计算机程序产品包括至少一个计算机指令。在计算机上加载或执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机为通用计算机、专用计算机、计算机网络、或者其他编程装置。计算机指令存储在计算机读存储介质中,或者从一个计算机读存储介质向另一个计算机读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机读存储介质是计算机能够存取的任何用介质或者是包含至少一个用介质集合的服务器、数据中心等数据存储节点。用介质是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD)、或者半导体介质。半导体介质是SSD。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,轻易想到各种等效的修复或替换,这些修复或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (17)

  1. 一种计算系统,其特征在于,所述计算系统包括多个融合节点和多个交换节点;
    第一融合节点包括多个计算芯片和至少一个第一交换芯片,所述第一融合节点为所述多个融合节点中一个融合节点,所述至少一个第一交换芯片用于实现所述多个计算芯片之间的通信连接;以及,
    所述多个交换节点中第一交换节点通过连接器与所述第一融合节点耦接,所述第一交换节点用于实现所述第一融合节点与所述多个融合节点中其他融合节点之间的通信连接。
  2. 根据权利要求1所述的系统,其特征在于,所述第一融合节点和所述第一交换节点之间的耦接方式为正交连接,所述连接器包括无背板正交连接器或者光盲插连接器。
  3. 根据权利要求1或2所述的系统,其特征在于,所述连接器包括高速连接器,所述高速连接器通过扭转90度角实现所述第一融合节点和所述第一交换节点之间的正交连接。
  4. 根据权利要求1至3中任一权利要求所述的系统,其特征在于,所述多个计算芯片、所述至少一个第一交换芯片和所述多个第一交换节点之间的网络拓扑结构包括无中心交换节点的网络拓扑结构和有中心交换节点的网络拓扑结构。
  5. 根据权利要求4所述的系统,其特征在于,
    当所述网络拓扑结构是无中心交换节点的网络拓扑结构时,所述交换节点用于实现多个所述计算系统之间的通信连接;
    当所述网络拓扑结构是所述有中心交换节点的网络拓扑结构时,多个所述计算系统之间的通信连接通过所述中心交换节点实现。
  6. 根据权利要求1至5中任一权利要求所述的系统,其特征在于,所述计算系统中的所述多个融合节点和所述多个交换节点的数量是根据所述计算芯片的带宽需求、所述第一交换芯片的端口数量和交换容量、所述第一交换节点的端口数量和交换容量中至少一种确定的。
  7. 根据权利要求1至6中任一权利要求所述的系统,其特征在于,所述至少一个第一交换芯片包括第一交换平面的第一交换芯片和第二交换平面的第一交换芯片,所述第一交换节点包括多个第二交换芯片,所述多个第二交换芯片包括所述第一交换平面的第二交换芯片和所述第二交换平面的第二交换芯片,所述第一交换平面和所述第二交换平面承担不同的业务。
  8. 根据权利要求7所述的系统,其特征在于,
    所述第一交换平面和所述第二交换平面是网络隔离的交换平面;或者,
    所述第一交换平面和所述第二交换平面使用不同的通信协议。
  9. 一种通信方法,所述方法应用于计算系统,所述计算系统包括多个融合节点和多个交换节点,所述多个交换节点中第一交换节点通过连接器与所述第一融合节点耦接,所述第一交换节点用于实现所述第一融合节点与所述多个融合节点中其他融合节点之间的通信连接;所述多个融合节点中的第一融合节点包括多个计算芯片和至少一个第一交换芯片,所述至少一个第一交换芯片用于实现所述多个计算芯片之间的通信连接,所述方法包括:
    所述第一融合节点的第一计算芯片生成数据报文,其中,所述数据报文的目的地址是第二计算芯片的地址;
    所述第一融合节点根据所述第二计算芯片所在的融合节点的地址实现所述数据报文的转发。
  10. 根据权利要求9所述的方法,其特征在于,所述第一融合节点根据所述第二计算芯片所在的融合节点的地址实现所述数据报文的转发包括:
    当所述第二计算芯片是所述第一融合节点内的计算芯片时,所述第一融合节点通过所述至少一个第一交换芯片将所述数据报文转发至所述目的地址;
    当所述第二计算芯片是第二融合节点内的计算芯片时,所述第一融合节点向所述多个交换节点中的第一交换节点发送所述数据报文;所述第一交换节点向所述第二融合节点发送所述数据报文。
  11. 根据权利要求9或10所述的方法,其特征在于,所述多个融合节点和多个交换节点之间的连接方式为正交连接,所述连接器包括无背板正交连接器或者光盲插连接器。
  12. 根据权利要求9至11中任一权利要求所述的方法,其特征在于,所述连接器包括高速连接器,所述高速连接器通过扭转90度角实现所述多个融合节点和多个交换节点之间的正交连接。
  13. 根据权利要求9至12中任一权利要求所述的方法,其特征在于,所述多个融合节点和所述多个交换节点之间的网络拓扑结构包括无中心交换节点的网络拓扑结构和有中心交换节点的网络拓扑结构。
  14. 根据权利要求13所述的方法,其特征在于,
    当所述网络拓扑结构是无中心交换节点的网络拓扑结构时,多个所述计算系统之间的通信连接通过所述交换节点实现;
    当所述网络拓扑结构是所述有中心交换节点的网络拓扑结构时,多个所述计算系统之间的通信连接通过所述中心交换节点实现。
  15. 根据权利要求9至14中任一权利要求所述的方法,其特征在于,所述计算系统中的所述融合节点和所述交换节点的数量是根据所述计算芯片的带宽需求、所述第一交换芯片的端口数量和交换容量、所述第一交换节点的端口数量和交换容量确定的。
  16. 根据权利要求9至15中任一权利要求所述的方法,所述至少一个第一交换芯片包括第一交换平面的第一交换芯片和第二交换平面的第一交换芯片,所述第一交换节点包括多个第二交换芯片,所述多个第二交换芯片包括所述第一交换平面的第二交换芯片和所述第二交换平面的第二交换芯片,所述第一交换平面和所述第二交换平面承担不同的业务。
  17. 根据权利要求16所述的方法,其特征在于,
    所述第一交换平面和所述第二交换平面是网络隔离的交换平面;或者,
    所述第一交换平面和所述第二交换平面使用不同的通信协议。
PCT/CN2023/101032 2022-06-23 2023-06-19 计算系统及通信方法 WO2023246689A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202210719934 2022-06-23
CN202210719934.5 2022-06-23
CN202211049150.2 2022-08-30
CN202211049150.2A CN117319324A (zh) 2022-06-23 2022-08-30 计算系统及通信方法

Publications (1)

Publication Number Publication Date
WO2023246689A1 true WO2023246689A1 (zh) 2023-12-28

Family

ID=89295997

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/101032 WO2023246689A1 (zh) 2022-06-23 2023-06-19 计算系统及通信方法

Country Status (2)

Country Link
CN (1) CN117319324A (zh)
WO (1) WO2023246689A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020080775A1 (en) * 2000-11-22 2002-06-27 International Business Machines Corporation Switching nodes and interface modules for data networks
US6621828B1 (en) * 1999-12-01 2003-09-16 Cisco Technology, Inc. Fused switch core and method for a telecommunications node
US20050195808A1 (en) * 2004-03-04 2005-09-08 International Business Machines Corporation Multidimensional switch network
CN107959643A (zh) * 2017-12-29 2018-04-24 曙光信息产业(北京)有限公司 一种通过交换芯片构建的交换系统及其路由算法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6621828B1 (en) * 1999-12-01 2003-09-16 Cisco Technology, Inc. Fused switch core and method for a telecommunications node
US20020080775A1 (en) * 2000-11-22 2002-06-27 International Business Machines Corporation Switching nodes and interface modules for data networks
US20050195808A1 (en) * 2004-03-04 2005-09-08 International Business Machines Corporation Multidimensional switch network
CN107959643A (zh) * 2017-12-29 2018-04-24 曙光信息产业(北京)有限公司 一种通过交换芯片构建的交换系统及其路由算法

Also Published As

Publication number Publication date
CN117319324A (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
US11588624B2 (en) Technologies for load balancing a network
US11671330B2 (en) Network interconnect as a switch
US11601359B2 (en) Resilient network communication using selective multipath packet flow spraying
CN111104775B (zh) 一种片上网络拓扑结构及其实现方法
US10409766B2 (en) Computer subsystem and computer system with composite nodes in an interconnection structure
Finn An integration of network communication with workstation architecture
JP2020173822A (ja) コンピュータネットワークにおける直接相互接続スイッチの配線及び成長を管理する方法及び装置
US8169850B2 (en) Forming multiprocessor systems using dual processors
RU2543558C2 (ru) Способ и усройство маршрутизации ввода-вывода и карта
US20130073814A1 (en) Computer System
US10477288B2 (en) Data center interconnect as a switch
US11100040B2 (en) Modular remote direct memory access interfaces
EP3531633B1 (en) Technologies for load balancing a network
Storage Technology Brief
WO2018063577A1 (en) Technologies for scalable hierarchical interconnect topologies
CN113507532A (zh) 网络地址转换的方法及相应服务器、存储介质和电子设备
WO2023246689A1 (zh) 计算系统及通信方法
CN102710496B (zh) 用于多个服务器间的数据传输系统、数据接口装置及数据传输方法
US20120023260A1 (en) Diagonally enhanced concentrated hypercube topology
WO2021228204A1 (zh) 一种电子设备
CN114968895A (zh) 一种异构互联系统及集群
CN116821044B (zh) 处理系统、访存方法及计算机可读存储介质
CN215934887U (zh) 数据转发设备及数据转发系统
WO2024124708A1 (zh) 片上网络、计算机主板及计算机设备
WO2023065767A1 (zh) 计算系统、寻址的方法、计算节点、存储介质及程序产品

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23826337

Country of ref document: EP

Kind code of ref document: A1