Switch, switch cabinet and data exchange method
By designing switches that support multiple protocols in the data center, the resource pooling of heterogeneous processors and memory resources is achieved, and the problems of low resource utilization and high cost in the data center are solved, and the flexibility and performance of the system are improved.
Patent Information
- Application Number
- CN202310814632.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-04
- Publication Date
- 2025-01-07
AI Technical Summary
Communication latency and transmission bandwidth of heterogeneous processors, accelerators and memory resources in data centers limit the performance of high-performance processors, and single-server memory resources cannot meet the growing business needs, resulting in low resource utilization and high cost.
A switch was designed to configure interface modules, uplink message processing modules and multi-protocol conversion modules that support multiple protocols to realize conversion and resource pooling between different protocols, allowing servers to access multiple pooling resources, reducing the System cost and power consumption.
It improves resource utilization and system flexibility, meets the demand for data center networks of high-performance computing and cloud computing, and reduces system interconnection costs and power consumption.
Smart Images

Figure CN119276814A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of electronic information, and in particular to a switch. Background Art
[0002] With the popularity of cloud computing and high-performance computing, more and more applications and data are migrated to data centers. The amount of business and data processed by data centers has exploded, which puts forward greater requirements on the computing power of data centers. However, due to the limitations of Moore's Law and the slowdown in processor performance, the Domain Specific Architecture (DSA) has gradually become a trend, and more heterogeneous processors / accelerators have been introduced into data centers. At the same time, based on the Memory Wall, the capacity and bandwidth of a single server memory have become bottlenecks for high-performance processors to perform. Therefore, a distributed data center is promoted, that is, key resources such as heterogeneous processors, accelerators, and memory are pooled to meet the growing computing power and memory requirements. In this architecture, the communication delay and transmission bandwidth between different types of resources limit the performance of high-performance processors. Summary of the invention
[0003] The present application provides a switch, a switch cabinet and a data exchange method, the purpose of which is to optimize the networking in the switch cabinet and improve the utilization rate of the resources in the cabinet.
[0004] The first aspect of the present application provides a switch, which specifically includes at least two interface modules, a switching module and an uplink message processing module; wherein the at least two interface modules include a first interface and a second interface, the first interface is configured to send and receive a first message based on a first protocol, and the second interface is configured to send and receive a second message based on a second protocol; the interface module is used to obtain a message to be forwarded, and the message to be forwarded is one of the first message and the second message; the uplink message processing module is used to receive the message to be forwarded from the interface module, and obtain first indication information corresponding to the message to be forwarded, and the first indication information is used to indicate the destination interface corresponding to the message to be forwarded; the switching module is used to receive the message to be forwarded and the first indication information from the uplink message processing module, and send the message to be forwarded to the corresponding destination interface according to the first indication information.
[0005] By configuring the switch with multiple interfaces that support different protocols, an uplink message processing module that supports at least one protocol exchange, and a switching module that supports different protocols, it is possible to receive, process, exchange, and forward messages of multiple different protocols, thereby reducing the cost and power consumption of switch equipment. In addition, local resources (memory, hard disk, accelerator, etc.) that were originally configured in the server and have overflow can be placed externally in the cabinet as pooled resources, and data can be transmitted through the bus and ToR switches that support multiple protocol exchanges, further saving system costs and power consumption, and also removing the restriction that local resources are only used by the server, improving resource utilization, and realizing flexible resource configuration, so that a variety of new services can be realized.
[0006] In one implementation, the switch further includes a downlink message processing module, which receives the message to be forwarded and the first indication information from the switching module and sends the message to be forwarded to the interface module, and the interface module includes the destination interface.
[0007] In one implementation, the uplink message processing module in the switch is used to connect at least two interfaces, and the at least two interfaces include the first interface and the second interface. By enabling the uplink message processing module to work in different protocols, the number of uplink message processing modules required in the switch is reduced, saving system cost and power consumption.
[0008] In one implementation, the downlink message processing module in the switch is used to connect at least two interfaces, the at least two interfaces including the first interface and the second interface. By enabling the downlink message processing module to work in different protocols, the number of downlink message processing modules required in the switch is reduced, saving system cost and power consumption.
[0009] The second aspect of the present application provides a switch, comprising at least two interface modules, a first switching module, an uplink message processing module and a multi-protocol conversion module, wherein the at least two interface modules include a first interface and a second interface, the first interface is configured to send and receive a first message based on a first protocol, and the second interface is configured to send and receive a second message based on a second protocol; the interface module is used to obtain a message to be forwarded, which is one of the first message and the second message; the multi-protocol conversion module is used to receive the message to be forwarded, and convert the message to be forwarded into a third message according to the configuration, and the third message and the aforementioned message to be forwarded are messages based on different protocols; the first switching module is used to receive the third message and corresponding indication information, and according to the indication information, send the received third message to the destination interface; the aforementioned indication information is generated by the uplink message processing module and is used to indicate the destination interface corresponding to the received message, and the uplink message processing module is used to obtain the indication information corresponding to the received message.
[0010] By configuring the switch with multiple interfaces that support different protocols, an uplink message processing module that supports at least one protocol exchange, a switching module that supports one protocol, and a multi-protocol conversion module for protocol conversion, the conversion between protocols within the cabinet and between different cabinets can be achieved, eliminating the need to deploy a multi-protocol conversion module on each server, saving system cost and power consumption. In addition, the switch can also update the new networking mode within the cabinet, so that the server only needs one bus protocol to access multiple pooled resources in the cabinet, including but not limited to memory, hard disk, accelerator, etc., further reducing the cost and power consumption of system interconnection.
[0011] In one implementation, the interface module in the switch is connected to the uplink message processing module, and the uplink message processing module is connected to the multi-protocol conversion module.
[0012] In one implementation, the interface module in the switch is connected to the multi-protocol conversion module, and the multi-protocol conversion module is connected to the uplink message processing module.
[0013] In one implementation, the switch further includes a second switching module, the interface module is connected to the uplink message processing module, the uplink message processing module is connected to the second switching module, and the second switching module is connected to the multi-protocol conversion module.
[0014] In one implementation, the switch further includes a downlink message processing module, which receives the message to be forwarded and the first indication information from the switching module and sends the message to be forwarded to the interface module, and the interface module includes the destination interface.
[0015] The third aspect of the present application provides a switch cabinet, comprising the switch of the first aspect, at least one server electrically connected to the switch, and at least one resource pool electrically connected to the switch, wherein the resource pool comprises at least one of multiple memory resources, multiple hard disk resources, and multiple accelerator resources.
[0016] In one implementation, the switch cabinet further includes a multi-protocol conversion device, which is electrically connected to the switch.
[0017] The fourth aspect of the present application provides a switch cabinet, comprising the switch of the second aspect, at least one server electrically connected to the switch, and at least one resource pool electrically connected to the switch, wherein the resource pool comprises at least one of multiple memory resources, multiple hard disk resources, and multiple accelerator resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 A cabinet architecture provided in an embodiment of the present application;
[0019] Figure 2A cabinet architecture with partial resource sharing provided in an embodiment of the present application;
[0020] Figure 3 A cabinet architecture provided in an embodiment of the present application;
[0021] Figure 4 A switch architecture provided in an embodiment of the present application;
[0022] Figure 5 A message processing flow of a switch provided in an embodiment of the present application;
[0023] Figure 6 Another switch architecture provided in an embodiment of the present application;
[0024] Figure 7 Another switch architecture provided in an embodiment of the present application;
[0025] Figure 8 Another switch architecture is provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solutions and advantages of this application clearer, the technical solutions in this application will be clearly and completely described below in conjunction with the drawings in this application. Obviously, the described embodiments are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0027] The terms "first", "second", etc. in the specification embodiments, claims, and drawings of the present application are only used for the purpose of distinguishing descriptions, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, including a series of steps or units. The method, system, product, or device is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.
[0028] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0029] The rapid development of technologies such as cloud computing, big data, and artificial intelligence has put forward higher requirements for data center networks that carry data traffic. High throughput, high reliability, low latency, and adaptability to server virtualization are all business requirements for data center networks. In order to meet the business requirements for the network, more and more companies choose to build their own data centers or rent public clouds to carry the growing business traffic. Modern data centers are equipped with physical racks, in which at least one physical server is installed. Each physical server is deployed with at least a central processing unit (CPU), and further deployed with localized resources, including memory, solid-state drives (SSDs), accelerators (exemplarily including GPUs), and network cards.
[0030] As the scale of data centers increases, multiple physical racks can be placed in a cabinet, and physical servers in multiple physical racks can be connected and communicated through switches. According to the deployment position of the switch on the cabinet (which can also be understood as the different access methods of the server), the physical architecture is generally divided into TOR (Top of Rack) and EOR (End of Row) / MOR (Middle of Row).
[0031] TOR (Top of Rack) refers to deploying 1 to 2 switches on each server cabinet, and the server is directly connected to the switch of the cabinet to achieve the interconnection between the server and the switch in the cabinet. Generally speaking, deploying the switch on the top of the cabinet is the most conducive to wiring, so this architecture is the most widely used.
[0032] In contrast, the EOR (End of Row) architecture provides a unified network access point at the end of each row of cabinets. The MOR (Middle of Row) architecture is an improvement on the EOR architecture, which also provides a unified network access cabinet for the server. However, the MOR architecture requires that the network cabinet be placed in the middle of the entire row of cabinets, which shortens the distance from the server cabinet to the network cabinet to a certain extent and simplifies the management and maintenance of cables.
[0033] Figure 1 A common cabinet architecture is provided, in which there are multiple servers and at least one ToR switch. The CPU and local resources deployed on each server are only used by the server and cannot be shared. The multiple servers can be connected to the ToR switch via the Ethernet protocol. Furthermore, the ToR switch can also be connected to the spine switch via the Ethernet interface, thereby forming a data center network to meet larger scale requirements.
[0034] Figure 1 Each server in the system is generally equipped with at least one CPU, memory (e.g., DDR DRAM), SSD, and accelerator GPU. External data can be transmitted from the switch to the server through the Ethernet interface, and further transmitted to different localized resources for processing or storage through the server's internal bus and different interfaces. Exemplarily, the Ethernet interface can be connected to the CPU, GPU, and SSD through a Peripheral Component Interconnect Express (PCIe) bus, and the CPU stores the data in the memory through the DDR IO interface when performing data processing.
[0035] Since the ratio of the internal computing power and localized resources of a physical server is fixed when it leaves the factory or is configured, resources can be configured according to the maximum capacity of the relevant business preset at the time of leaving the factory or configuration. Therefore, not only will there be a waste of resources, but also when new businesses require greater capacity, a single server cannot provide sufficient resources to meet the needs of new businesses. New businesses include remote data servers (Redis), databases, artificial intelligence (AI) computing, etc. These new businesses often have higher requirements for memory and hard disk capacity.
[0036] Based on the above changes in business needs, this problem can be solved by adding interfaces to the server and pooling some resources within the cabinet. Figure 2A cabinet architecture with partial resource sharing is provided. There are multiple servers, at least one ToR switch, at least one resource switch, a memory pool and an SSD pool inside the cabinet. The memory pool and the SSD pool in the cabinet are shared by all servers in the cabinet.
[0037] ToR switches not only enable communication between multiple servers, but can also connect to spine switches through Ethernet interfaces to form data center networks and meet larger scale requirements.
[0038] The resource switch enables data interaction between the server and the memory pool or SSD pool by supporting communication protocols such as Compute Express Link (CXL) and unified buffer (UB).
[0039] Each server is equipped with an Ethernet interface to communicate with the ToR switch, and at least one interface to transmit data with the resource switch through communication protocols such as CXL or UB. In addition, the service period also deploys CPUs and some local resources, such as GPUs, network cards, and local DRAM. The local DRAM and the memory pool in the cabinet can form memory structures of different levels (Tiers). These local resources are only used by the server and cannot be shared.
[0040] With the data explosion brought about by the development of the Internet and the development of virtualization technology, cloud computing and high-performance computing have become more popular, which brings with it higher challenges to the computing power of data centers and further optimization of the layout and resources in existing cabinets. Therefore, a new switch architecture is urgently needed to improve the resource utilization rate in the cabinet, optimize the computing and switching rate, and realize newer business needs.
[0041] Figure 3 A cabinet architecture is provided, in which multiple servers, at least one switch and multiple resource pools are arranged inside the cabinet, and the multiple resource pools include but are not limited to: memory pool (such as DDR DRAM pool), hard disk pool (such as SSD pool), accelerator pool (such as GPU pool), network card, etc. The switch can be a ToR switch, an EoR switch or a MoR switch, which is used for internal communication between cabinets and data communication between cabinets and outside cabinets. The following examples are all taken as ToR switches.
[0042] The ToR switch is configured with an internal switching interface that supports internal data interconnection protocols, exemplarily including CXL protocol or UB protocol, etc. Through the internal switching interface, the ToR switch interconnects the servers in the cabinet with various resource pools, so that the above-mentioned memory pool, hard disk pool, accelerator pool and network card are shared by all servers in the cabinet.
[0043] By pooling local resources originally in the server into various resource pools in the rack and enabling the ToR switch to connect the server to the resource pool, the relationship between the service requirements and the upper limit of the configured resource capacity of the server when it is shipped or configured is decoupled, and resource utilization is improved, thereby meeting the flexible configuration of computing resources for various businesses. In addition, due to the transfer of local resources in the server, the types of CPU bus interconnections in the server can be reduced, saving system costs and power consumption.
[0044] Furthermore, the ToR switch is also configured with a standard Ethernet interface, through which the spine switch outside the cabinet can be connected to form a data center network to meet larger scale requirements.
[0045] The server in the cabinet is also configured with an internal switching interface, which supports an internal data interconnection protocol, exemplarily including a CXL protocol or a UB protocol, etc. In addition, the server also has a CPU, which is connected to the ToR switch through the internal switching interface.
[0046] Optionally, the server is also configured with memory resources inside, and a two-layer memory architecture is implemented through local memory resources and a shared memory pool in the rack to balance performance and capacity, so that large memory businesses can be solved through lower-cost methods.
[0047] To realize the above rack structure, Figure 4 Provided is a ToR switch architecture, comprising: a multifunctional interface module, an uplink message processing unit, a downlink message processing unit and a multi-protocol switching unit. The multifunctional interface module is connected to at least one uplink message processing unit and one downlink message processing unit, and the multi-protocol switching unit is connected to all uplink message processing units and downlink message processing units.
[0048] The multifunctional interface module, also known as multifunctional integrated facility management (MIFM), includes a media access control (MAC) layer, a physical coding sublayer (PCS) and a physical layer (PHY), and supports at least one data interconnection protocol within the rack, including but not limited to a standard Ethernet protocol, a standard CXL protocol, a standard UB protocol or other bus protocols. The multifunctional interface module can support a variety of data interconnection protocols. After configuration, it works in one of the above-mentioned multiple data interconnection protocols, that is, a multifunctional interface module simultaneously receives and / or sends messages based on the same protocol. Exemplarily, the first MIFM module can be configured to work in the standard Ethernet protocol, which can be connected to the Spine switch outside the cabinet; the second MIFM module can be configured to work in the standard CXL protocol, which can be connected to the server in the cabinet, and the data exchange of the memory pool is based on the standard CXL protocol.
[0049] Each multifunctional interface module is connected to an uplink message processing module and a downlink message processing module.
[0050] The uplink message processing module (Ingress Processing, IP) is connected to at least one multifunctional interface module and is used to process the uplink messages from the multifunctional interface module, including but not limited to forwarding processing such as data aggregation, analysis, table lookup, routing, editing, etc., and supports at least one data forwarding protocol within the rack, including but not limited to the standard Ethernet protocol (specifically including the standard Ethernet layer 2 / layer 3 forwarding protocol, standard Ethernet tunnel processing), standard CXL protocol, standard UB protocol or other bus protocols. Preferably, the uplink message processing module can support multiple data forwarding protocols and can simultaneously support the forwarding of messages of multiple protocols. When the IP module is connected to two or more MIFM modules, since the two or more MIFM modules can be configured to work in different data interconnection protocols, the IP module can simultaneously receive and / or send messages of multiple protocols.
[0051] The downlink message processing module (Egress Processing, EP) is connected to at least one multi-functional interface module and is used to process the downlink messages from the multi-functional interface module, including but not limited to data analysis, table lookup, encapsulation, editing, distribution and other forwarding processing, and supports at least one data forwarding protocol within the rack, including but not limited to the standard Ethernet protocol (specifically including the standard Ethernet layer 2 / layer 3 forwarding protocol, standard Ethernet tunnel processing), standard CXL protocol, standard UB protocol or other bus protocols, etc. Similar to the uplink message processing module, the downlink message processing module can also support multiple data forwarding protocols, that is, support the forwarding of multiple protocol messages at the same time.
[0052] The multi-function switching module (MFS) is connected to all the uplink message processing modules and the downlink message processing modules, and performs switching processing on the various protocol messages from the uplink message processing modules, including but not limited to data caching, switching, queuing, scheduling, and Quality of Service (QoS) management. The various protocols it supports include but are not limited to standard Ethernet protocols (specifically including standard Ethernet layer 2 / layer 3 switching protocols, standard Ethernet tunnel switching), standard CXL protocols, standard UB protocols or other bus protocols. Similar to the uplink message processing module, the MFS module supports the switching of multiple protocol messages at the same time.
[0053] Since the ToR switch is configured with multiple interfaces supporting different protocols (for example, the first interface in the MIFM module supporting the standard Ethernet protocol and the second interface in the MIFM module supporting the standard CXL protocol), as well as the uplink message processing module, the downlink message processing module and the multi-protocol switching module supporting multiple protocol exchanges, the ToR switch can receive, process, switch and forward messages of multiple different protocols without the need for at least two switches each supporting different protocol communications, thereby reducing the cost and power consumption of the switch equipment. The server in the cabinet can not only receive and send conventional message data based on standard Ethernet, but also store message data based on standard CXL or standard UB into the pooled resources in the cabinet. Therefore, the local resources (memory, hard disk, accelerator, etc.) originally configured in the server and in overflow can be placed externally in the cabinet to become pooled resources, and data transmission can be realized through the bus and the ToR switch supporting multiple protocol exchanges, further saving system cost and power consumption, and also solving the limitation that local resources are only used by the server, improving resource utilization, realizing flexible resource configuration, and making a variety of new services possible.
[0054] Optionally, the ToR switch can also be connected to a multi-protocol converter, such as a network card, to achieve fast protocol conversion of messages, such as converting messages based on the standard Ethernet protocol into messages based on the standard CXL, thereby improving message exchange efficiency and expanding storage acceleration services.
[0055] Figure 5 Provides a Figure 4 The packet processing flow of the ToR switch in Figure 1.
[0056] Step 1. Receive the data stream through the serializing / deserializing circuitry (SerDes).
[0057] The data flow is a data flow based on a first protocol, and the first protocol is one of multiple protocols supported by a multi-function interface module and a multi-protocol switching module in a ToR switch. The ToR switch is connected to a server or local pooled resources in a cabinet through a SerDes, including but not limited to a memory pool, a storage pool, an accelerator pool, etc.
[0058] Exemplarily, the ToR switch receives a data stream from a server in a cabinet and needs to store the data in an SSD pool. The data stream may be a data stream based on a standard CXL protocol.
[0059] Step 2. Receive the data stream through the multi-functional interface module, generate a first message and send it to the uplink message processing module.
[0060] Specifically, the operations performed by the MIFM module on the data stream include decoding, error correction, framing, error checking, retransmission, etc. Exemplarily, when the MIFM module is configured to work in the standard CXL mode, the first message is a standard CXL message.
[0061] Step 3. The uplink message processing module receives the first message, and forwards the first message and control information to the multi-protocol switching module.
[0062] Specifically, the operations performed by the IP module on the first message include message parsing, table lookup, forwarding, editing, etc. It determines the destination MIFM module corresponding to the first message according to the pre-stored routing table and is carried by the aforementioned control information.
[0063] Exemplarily, when the first message is a standard CXL message, the IP module operates in a standard CXL mode, thereby processing the first message.
[0064] In a possible implementation, the IP module is connected to multiple MIFM modules, and switches working modes according to received messages to process messages of different protocols.
[0065] Step 4. The multi-protocol switching module receives the first message and the control information, and switches the first message to the corresponding destination MIFM module according to the control information.
[0066] In one possible implementation, the multi-protocol switching module stores the first message in a built-in cache, and stores the control information in a corresponding queue according to the destination MIFM module of the first message indicated by the control information, and then schedules the control information from the queue, reads the first message from the cache, and exchanges them together to the corresponding destination MIFM module.
[0067] Exemplarily, when the first message is a standard CXL message, the MFS module operates in a standard CXL mode, thereby forwarding the first message.
[0068] Step 5. The downlink message processing module receives the first message and control information from the multi-protocol switching module, and sends the first message to the connected destination MIFM module according to the control information.
[0069] Specifically, the operations performed by the EP module on the first message include data parsing, table lookup, encapsulation, editing, distribution, etc.
[0070] Exemplarily, when the first message is a standard CXL message, the EP module operates in a standard CXL mode, thereby processing the first message.
[0071] In a possible implementation, the EP module switches working modes according to received messages and control information to process messages of different protocols; it is also connected to multiple MIFM modules and forwards messages to corresponding destination MIFM modules according to control information from the MFS module.
[0072] Step 6. The destination MIFM module receives the first message and control information, and sends the data stream outward through Serdes.
[0073] Specifically, the processing of the first message by the MIFM module includes segmentation, encoding and other processing.
[0074] Exemplarily, the destination MIFM module works in a standard CXL mode and is connected to the SSD pool. The ToR switch completes the data exchange between the server and the SSD pool.
[0075] Through the above processing flow, the ToR switch completes the processing of the data flow from the server or cabinet resource pool and forwards it to another server or other cabinet resource pool.
[0076] Furthermore, the ToR switch can also be connected to a network card module, which implements multi-protocol conversion of messages. Exemplarily, the network card module is connected to at least two MIFM modules of the ToR switch, including a first MIFM module working in standard Ethernet mode and a second MIFM module working in standard CXL mode. When the ToR switch exchanges data with the Spine switch outside the cabinet through standard Ethernet messages, and the ToR switch exchanges data with the server in the cabinet through standard CXL messages, the standard Ethernet messages from the Spine switch outside the cabinet can be converted into standard CXL messages through the network card module to be forwarded to the server.
[0077] Figure 6 Another ToR switch architecture is provided. Figure 4 The switch architecture in is similar to that in the , and there are also multi-function interface modules, uplink message processing modules, downlink message processing modules and multi-protocol switching modules. In addition, a multi-protocol conversion module is added to enable the ToR switch to process messages based on multiple protocols. Figure 6 In the switch architecture, the multi-function interface module, the uplink message processing module and the downlink message processing module only support one of the multiple protocols and will not be changed after the configuration is completed. The multi-protocol switching unit supports the switching of multiple protocols. The above multiple protocols include but are not limited to the standard Ethernet protocol, the standard CXL protocol, the standard UB protocol or other bus protocols.
[0078] The newly added multi-protocol conversion module (Cross-Function Bridge, CFB) is used to convert messages based on the first protocol into messages based on the second protocol, so as to achieve communication between data transmissions on different buses through only one ToR switch, including data caching, protocol parsing, protocol conversion, reordering, segmentation reassembly, data verification, data retransmission and other processing.
[0079] By integrating a multi-protocol conversion module in the switch, the conversion between different protocols within the cabinet and between cabinets can be realized, eliminating the deployment of multi-protocol conversion modules on each server, saving system costs and power consumption. In addition, the switch can also update the new networking mode in the cabinet, so that the server only needs one bus protocol to access multiple pooled resources in the cabinet, including but not limited to memory, hard disk, accelerator, etc., further reducing the cost and power consumption of system interconnection.
[0080] In an implementable manner, the multi-protocol conversion module is connected to the uplink message processing module and / or the downlink message processing module, and the multi-protocol conversion module can be called a distributed multi-protocol conversion module (Distributed Cross-Function Bridge, DCFB). Optionally, each distributed multi-protocol conversion module is connected to an uplink message processing module and a downlink message processing module, that is, there are N groups of uplink message processing modules and downlink message processing modules, and N distributed multi-protocol conversion modules should be configured accordingly. Optionally, at least one distributed multi-protocol conversion module can be configured for N groups of uplink message processing modules and downlink message processing modules according to pre-configuration. The DCFB module supports multiple protocol message conversions simultaneously.
[0081] Optionally, each DCFB module is connected in series between the MIFM module and a group of IP modules and EP modules. In a possible implementation, the MIFM module connected to the DCFB operates in a first protocol, and the group of IP modules and EP modules connected to the DCFB operate in a second protocol. For the message based on the first protocol received from the MIFM module, the DCFB module first completes the protocol conversion, and then sends the message based on the second protocol to the IP module for forwarding related processing. Correspondingly, the DCFB module can also receive the message received from the EP module, complete the protocol conversion, and then send it to the MIFM module.
[0082] Optionally, each DCFB module is connected in series between a group of IP modules, EP modules and MFS modules. For messages sent from the IP module to the MFS module, they will first pass through the DCFB module to complete the protocol conversion before being sent to the MFS module; for messages sent from the MFS module to the EP module, they will first pass through the DCFB module to complete the protocol conversion before being sent to the EP module.
[0083] Optionally, each MIMF module is connected to a group of IP modules and EP modules, and the IP modules and EP modules are connected to a corresponding DCFB module.
[0084] Exemplarily, the DCFB module may be the following: network interface card (NIC), smart network interface card (Smart NIC), DPU (Data Processing Unit), etc. In the case where the IP module or EP module is connected to multiple servers, preferably, the DCFB supports a multi-host mode and can be shared by multiple servers.
[0085] In one achievable manner, the multi-protocol conversion module is only connected to the MFS module, and the multi-protocol conversion module can be called a centralized multi-protocol conversion module (Centralized Cross-Function Bridge, CCFB).
[0086] When the message is sent to the MFS module through the IP module, the MFS module sends the message that needs to be converted to the CCFB module. After the CCFB module completes the protocol conversion of the message, it sends it back to the MFS module. The MFS module finally switches the message to the destination MIMF.
[0087] Exemplarily, the CCFB module may be the following: Macro NIC, Macro SmartNiC, Macro DPU. In the case where the IP module or EP module is connected to multiple servers, preferably, CCFB supports a multi-host mode and can be shared by multiple servers.
[0088] Optionally, the DCFB module and CCFB module can be configured at the same time to realize the conversion between multi-protocol messages. Specifically, according to different business requirements, the messages of different interface modules can be configured to be processed by the DCFB module or the CCFB module. For reference, the DCFB module is configured to process the message conversion of relatively simple and large-bandwidth services, and the CCFB module is configured to process the message conversion of complex services.
[0089] Take a ToR switch configured with a DCFB module as an example, and the DCFB module is configured to be connected between the MFS module and a group of IP and EP modules. The message processing flow of the ToR switch is as follows:
[0090] Step 1. Receive the data stream through the serializing / deserializing circuitry (SerDes).
[0091] Step 2. The MIFM module is used to perform decoding, error correction, framing, error checking, and retransmission on the data stream, generate a first message, and send it.
[0092] Step 301. Perform message parsing, table lookup, forwarding, editing and other processing on the received first message through the IP module, determine the destination MIFM module corresponding to the received message according to the pre-stored routing table, and send the first message and control information.
[0093] Step 302: According to the pre-configuration, the DCFB module determines that protocol conversion needs to be performed on the first message, converts the first message based on the first protocol into a second message based on the second protocol and sends the second message to the multi-protocol switching module.
[0094] Step 4. The MFS module receives the second message and the control information, and switches the message to the corresponding destination MIFM module according to the control information.
[0095] Step 5. The downlink message processing module receives the second message, performs data analysis, table lookup, packaging, editing, distribution and other operations, and then sends the first message to the connected destination MIFM module.
[0096] In a possible implementation, the downlink message processing module is connected to a plurality of MIFM modules, and the downlink message processing module forwards the first message to the destination MIFM module according to the control information sent by the multi-protocol switching module.
[0097] Step 6. The destination MIFM module receives the message, completes segmentation, encoding and other processing, and then sends the recovered data stream outward through Serdes.
[0098] Optionally, the DCFB module may also be configured between the MIFM module and a group of IP and EP modules.
[0099] Optionally, the multi-protocol conversion module may also be a CCFB module, which is connected to the MFS module. After receiving the message, the MFS module first sends all received messages to the CCFB module, or sends part of the messages to the CFB module according to the configuration. The CCFB module receives the message from the MFS module, and after completing the protocol conversion, sends the converted message back to the MFS module.
[0100] In one implementation, the IP module and the EP module may be configured in a single protocol mode, and the single protocol supported includes but is not limited to one of the standard Ethernet protocol, the standard CXL protocol, the standard UB protocol or other bus-type protocols, etc. The protocol mode supported by the IP module and the EP module should be configured according to the location of the DCFB module, the MIFM module, and the type of external resources connected through the MIFM module.
[0101] Exemplarily, the MIFM module is connected to an SSD pool that supports the standard CXL protocol. When the DCFB module is configured between the MIFM module and the IP module or the EP module, the IP module or the EP module can be configured as a standard Ethernet protocol, and the DCFB module converts the message from the standard Ethernet to the standard CXL protocol, thereby realizing message forwarding.
[0102] Exemplarily, the MIFM module is connected to an SSD pool that supports the standard CXL protocol. When the DCFB module is configured between the MFS module and the IP module or the EP module, the IP module or the EP module can be configured as the standard CXL protocol to prevent the failure of message forwarding due to the mismatch between the protocol configured in the IP module or the EP module and the protocol connected to the MIFM module.
[0103] Through the above processing flow, the ToR switch completes the processing of the data flow from the server or cabinet resource pool and forwards it to another server or other cabinet resource pool.
[0104] Figure 7 Another ToR switch architecture is provided. In the switch architecture, there are not only the above-mentioned MIFM module, IP module, EP module, MFS module, and multi-protocol conversion module, but also another MFS module. In the architecture, the multi-protocol conversion module is arranged between two MFS modules, so that the message can be converted into a protocol between two exchanges through the two MFS modules, so that the ToR switch can support the exchange of multi-protocol messages. Through this architecture, the above-mentioned modules (except the multi-protocol conversion module) can only support one protocol exchange, reduce the device requirements for the module, and reduce costs.
[0105] In one implementation, the multi-protocol conversion module may be at least one DCFB module, which is arranged in parallel between two MFS modules. The DCFB module receives the message from the MFS module on either side, and after completing the protocol conversion, sends it to the MFS module on the other side. The number of DCFBs to be set may be determined by referring to the total number of services or the total number of interfaces.
[0106] In another implementation, the multi-protocol conversion module may be at least one CCFB module. When there are multiple CCFB modules, they are arranged in parallel between two MFS modules. The CCFB module receives the message from the MFS module on either side, and after completing the protocol conversion, sends it to the other MFS module. The number of CCFBs to be set can be determined by referring to the total number of services or the total number of interfaces.
[0107] The message processing flow of the ToR switch is as follows:
[0108] Step 1. Receive the data stream through the serializing / deserializing circuitry (SerDes).
[0109] Step 2. The multi-functional interface MIFM module is used to perform decoding, error correction, framing, error checking, retransmission and other processing on the data stream, and a first message is generated and sent to the uplink message processing module.
[0110] Step 3. Perform message parsing, table lookup, forwarding, editing and other processing on the first message through the IP module, determine the destination MIFM module corresponding to the first message according to the pre-stored routing table, and send the first message and control information to the first MFS module.
[0111] In a possible implementation manner, the uplink message processing module is connected to multiple MIFM modules.
[0112] Step 4. The first MFS module receives the first message and control information, determines the switching path, and sends them to the multi-protocol conversion module corresponding to the switching path.
[0113] The first MFS module operates in a first protocol corresponding to the first message.
[0114] Step 5. The multi-protocol conversion module converts the first message based on the first protocol into a second message based on the second protocol, and sends it to the second MFS module;
[0115] Step 6. The second MFS module switches the second message to the corresponding destination MIFM module according to the control information.
[0116] The second MFS module operates in a second protocol corresponding to the second message.
[0117] Step 7. The downlink message processing module receives the second message from the multi-protocol switching module, performs data parsing, table lookup, encapsulation, editing, distribution and other operations, and then sends the second message to the connected destination MIFM module.
[0118] Step 8. The destination MIFM module receives the second message, completes segmentation, encoding and other processing, and then sends the recovered data stream outward through Serdes.
[0119] Figure 8 Another ToR switch architecture is provided. In this switch architecture, the functions of the IP module and the EP module are merged into the multi-protocol switching module. Therefore, in addition to realizing conversion between protocols, the multi-protocol switching module also needs to realize the processing of uplink messages, including but not limited to data aggregation, analysis, table lookup, routing, editing and other forwarding processing. In addition, it is also necessary to realize the processing of downlink messages, including but not limited to data analysis, table lookup, encapsulation, editing, distribution and other forwarding processing. In this architecture, the MFS module only supports one protocol exchange, so the device requirements for the MFS module can be reduced, and the cost and device requirements of the switch can be reduced.
[0120] Optionally, the functions of all IP modules and EP modules are integrated into at least one multi-protocol switching module, that is, each MIFM module is connected to the corresponding MFS module; or the functions of some IP modules and EP modules are integrated into at least one multi-protocol switching module, so that some MIFM modules are connected to the corresponding MFS modules, and the remaining MIFM modules are respectively connected to the corresponding IP modules and EP modules. Exemplarily, the MIFM modules of this part can be MIFM modules connected to all servers in the cabinet.
[0121] In one implementation, the at least one multi-protocol conversion module may be a DCFB module, which is arranged in parallel between two MFS modules. The DCFB module receives a message from the MFS module on either side, and after completing the protocol conversion, sends it to the MFS module on the other side. The number of DCFBs to be set may be determined by referring to the total number of services or the total number of interfaces.
[0122] In another implementation, the multi-protocol conversion module may also be at least one CCFB module. When there are multiple CCFB modules, they are arranged in parallel between two MFS modules. The CCFB module receives the message from the MFS module on either side, and after completing the protocol conversion, sends it back to the MFS module. The number of CCFBs to be set can be determined by referring to the total number of services or the total number of interfaces.
[0123] Take the ToR switch that only configures the DCFB module for the MIFM module connected to the server as an example, the message processing flow is as follows:
[0124] Step 1. Receive a data stream from a server through a serializing / deserializing circuitry (SerDes). The data stream is a data stream based on a first protocol, and the first protocol is one of multiple protocols supported by a multi-function interface module and a multi-protocol switching module in a ToR switch.
[0125] Step 2. The multi-functional interface MIFM module is used to perform decoding, error correction, framing, error checking, retransmission and other processing on the data stream, and a first message is generated and sent to the DCFB module.
[0126] Step 3. Implement message parsing, table lookup, forwarding, editing, and other processing of the first message through the DCFB module, and, when it is determined that protocol conversion is required, convert the first message based on the first protocol into a second message based on the second protocol, and send the second message and control information to the MFS module.
[0127] Step 4. The MFS module receives the second message and the control information, and exchanges the second message to the corresponding destination MIFM module.
[0128] Step 5. The DCFB module corresponding to the destination MIFM module receives the second message from the multi-protocol switching module, performs data parsing, table lookup, encapsulation, editing, distribution and other operations, and then sends the second message to the connected destination MIFM module.
[0129] Step 6. The destination MIFM module receives the second message, completes segmentation, encoding and other processing, and then sends the recovered data stream outward through Serdes.
[0130] In some embodiments, the switch can be set in a chassis or cabinet of a distributed data center (Disaggregated Data Center) network, providing bus interfaces such as CXL / UB internally to interconnect all servers (i.e., their CPUs) and various pooled resources (accelerators, memory, storage, network cards, etc.) for mutual communication; and providing a standard Ethernet interface externally to connect to the Spine switch to form a large-scale data center network.
Claims
1. A switch, characterized in that: The switch includes at least two interface modules, a switching module and an uplink message processing module, wherein: The at least two interface modules include a first interface and a second interface, wherein the first interface is configured to send and receive a first message, the first message is a message based on a first protocol, and the second interface is configured to send and receive a second message, the second message is a message based on a second protocol; The interface module is used to obtain a message to be forwarded, where the message to be forwarded is one of the first message and the second message; The uplink message processing module is used to receive the message to be forwarded from the interface module, and obtain the first indication information corresponding to the message to be forwarded, where the first indication information is used to indicate the destination interface corresponding to the message to be forwarded; The switching module is used to receive the message to be forwarded and the first indication information from the uplink message processing module, and send the message to be forwarded to the destination interface according to the first indication information.
2. The switch according to claim 1, further comprising a downlink message processing module, wherein the downlink message processing module is configured to: Receiving the message to be forwarded and the first indication information from the switching module; The message to be forwarded is sent to the interface module, where the interface module includes the destination interface.
3. The switch according to claim 1, wherein the uplink message processing module is used to connect at least two interfaces, and the at least two interfaces include the first interface and the second interface.
4. The switch according to claim 2, wherein the downlink message processing module is used to connect at least two interfaces, and the at least two interfaces include the first interface and the second interface.
5. A switch, characterized in that: The switch includes at least two interface modules, a first switching module, an uplink message processing module and a multi-protocol conversion module, wherein: The at least two interface modules include a first interface and a second interface, wherein the first interface is configured to send and receive a first message, the first message is a message based on a first protocol, and the second interface is configured to send and receive a second message, the second message is a message based on a second protocol; The interface module is used to obtain a message to be forwarded, where the message to be forwarded is one of the first message and the second message; The multi-protocol conversion module is used to receive the message to be forwarded, and convert the message to be forwarded into a third message according to the configuration, wherein the third message and the message to be forwarded are messages based on different protocols; The first switching module is used to receive the third message and corresponding indication information, and send the received third message to the destination interface according to the indication information; The indication information is generated by the uplink message processing module, and the uplink message processing module is used to obtain the indication information corresponding to the received message, and the indication information is used to indicate the destination interface corresponding to the received message.
6. The switch according to claim 5, wherein: The interface module is connected to the uplink message processing module, and the uplink message processing module is connected to the multi-protocol conversion module.
7. The switch according to claim 5, wherein: The interface module is connected to the multi-protocol conversion module, and the multi-protocol conversion module is connected to the uplink message processing module.
8. The switch according to claim 5, further comprising a second switching module, the interface module being connected to the uplink message processing module, the uplink message processing module being connected to the second switching module, and the second switching module being connected to the multi-protocol conversion module.
9. The switch according to any one of claims 5 to 8, further comprising a downlink message processing module, wherein the downlink message processing module is configured to: Receiving the message to be forwarded and the first indication information from the switching module; The message to be forwarded is sent to the interface module, where the interface module includes the destination interface.
10. A switch cabinet, comprising the switch according to claim 1-4, at least one server electrically connected to the switch, and at least one resource pool electrically connected to the switch, wherein: The resource pool includes at least one of a plurality of memory resources, a plurality of hard disk resources, and a plurality of accelerator resources.
11. The switch cabinet according to claim 10, further comprising a multi-protocol conversion device, wherein the multi-protocol conversion device is electrically connected to the switch.
12. A switch cabinet, comprising the switch according to claim 5-9, at least one server electrically connected to the switch, and at least one resource pool electrically connected to the switch, wherein: The resource pool includes at least one of a plurality of memory resources, a plurality of hard disk resources, and a plurality of accelerator resources.
Citation Information
Cited By
Server cabinet and server system
CN119917442A
Protocol converter and protocol conversion method
CN121531042A
Switch, switch cabinet, and data exchange method
EP4718813A1
Switch, switch cabinet, and data exchange method
WO2025007786A1