CN113328951B - Node equipment, routing method and interconnection system - Google Patents

Node equipment, routing method and interconnection system Download PDF

Info

Publication number
CN113328951B
CN113328951B CN202110474616.2A CN202110474616A CN113328951B CN 113328951 B CN113328951 B CN 113328951B CN 202110474616 A CN202110474616 A CN 202110474616A CN 113328951 B CN113328951 B CN 113328951B
Authority
CN
China
Prior art keywords
node
node device
equipment
group
target
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202110474616.2A
Other languages
Chinese (zh)
Other versions
CN113328951A (en
Inventor
曹政
高山渊
刘兴奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202110474616.2A priority Critical patent/CN113328951B/en
Publication of CN113328951A publication Critical patent/CN113328951A/en
Application granted granted Critical
Publication of CN113328951B publication Critical patent/CN113328951B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Abstract

The embodiment of the application provides node equipment, a routing method and an interconnection system. In the embodiment of the application, the switching module is introduced into the node device, so that on one hand, data exchange among resource modules in the node device can be realized through the switching module, and on the other hand, the node device can output a plurality of links to be interconnected with other external node devices through the switching module, so that a new local interconnection network architecture is formed, the network architecture has good interconnection expansibility, the bottleneck existing in the traditional network architecture adopting tree-shaped bus interconnection in data forwarding can be broken through, and the network architecture has high network performance.

Description

Node equipment, routing method and interconnection system
The application is a divisional application of Chinese patent application with the application number of 201811088203.5, the application date of 09 and 18 in 2018 and the name of node equipment, a routing method and an interconnection system.
Technical Field
The present application relates to the field of communications technologies, and in particular, to a node device, a routing method, and an interconnection system.
Background
With the breakthrough of the immersion liquid cooling technology, the storage and computation density can be greatly improved, more and more computation components and storage components are accommodated in one node device, a large amount of computation is terminated in the range of a cabinet, and the local interconnection at the cabinet level is more and more important.
In the face of the local interconnection requirement at the cabinet level, the traditional network topology for interconnecting the computing component and the storage component by using the tree bus faces huge challenges in terms of expansibility and performance, and therefore, a novel local interconnection network architecture needs to be provided.
Disclosure of Invention
Aspects of the present application provide a node device, a routing method, and an interconnection system, so as to improve an interconnection expansibility of a network architecture, thereby breaking through a bottleneck existing in a conventional network architecture adopting tree bus interconnection when data forwarding is performed, and improving network performance.
An embodiment of the present application provides an interconnection system, including: at least two device groups; each equipment group comprises at least one node equipment, and each node equipment comprises a switching module and a resource module;
the resource module in each node device is connected with the switching module, and each node device is interconnected with other node devices except the device group to which the node device belongs through the switching module.
The embodiment of the application also provides node equipment, wherein the node equipment belongs to an equipment group in an interconnection system and comprises an exchange module and a resource module; the switching module is connected with the resource module, and the switching module is also connected with other node equipment except the equipment group to which the node equipment belongs in the interconnected system.
An embodiment of the present application further provides a routing method, which is applicable to the first node device in the interconnection system, and the method includes:
acquiring a message to be sent;
determining a target resource module to which the message to be sent needs to arrive and target node equipment to which the target resource module belongs according to a destination address in the message to be sent;
and sending the message to be sent to the target resource module based on the interconnection relationship between the first node device and the target node device.
In the embodiment of the application, the switching module is introduced into the node device, so that on one hand, data exchange among resource modules in the node device can be realized through the switching module, and on the other hand, the node device can output a plurality of links to be interconnected with other external node devices through the switching module, so that a new local interconnection network architecture is formed, the network architecture has good interconnection expansibility, the bottleneck existing in the traditional network architecture adopting tree-shaped bus interconnection in data forwarding can be broken through, and the network architecture has high network performance.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the application and not to limit the application. In the drawings:
fig. 1 is a schematic structural diagram of an interconnection system according to an exemplary embodiment of the present application;
FIG. 2 is a schematic block diagram of another interconnect system provided in an exemplary embodiment of the present application;
fig. 3 is a schematic structural diagram of a node device according to an exemplary embodiment of the present application;
fig. 4 is a flowchart illustrating a routing method according to an exemplary embodiment of the present application;
fig. 5 is a flowchart of another routing method according to an exemplary embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the technical solutions of the present application will be described in detail and completely with reference to the following specific embodiments of the present application and the accompanying drawings. It should be apparent that the described embodiments are only some of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Aiming at the defects of the existing network topology structure in the aspects of expansibility and network performance, the embodiment of the application provides a novel local interconnection network architecture, and the basic idea is as follows: the switching module is introduced into the node equipment, so that on one hand, data exchange among resource modules in the node equipment can be realized through the switching module, and on the other hand, the node equipment can output a plurality of links to be interconnected with other external node equipment through the switching module, so that a novel local interconnection network architecture is formed.
The technical solutions provided by the embodiments of the present application are described in detail below with reference to the accompanying drawings.
It should be noted that: like reference numerals refer to like objects in the following figures and embodiments, and thus, once an object is defined in one figure, further discussion thereof is not required in subsequent figures.
Fig. 1 is a schematic structural diagram of an interconnection system according to an exemplary embodiment of the present application. As shown in fig. 1, the system includes: at least two device groups 101; each device group 101 includes at least one node device 102, and each node device 102 includes a resource module 102a and a switch module 102b. The resource module 102a of each node device 102 is connected to the switch module 102b, and each node device 102 is interconnected with other node devices outside the device group to which the node device belongs through the switch module 102b.
In this embodiment, the switching module 102b in the node device 102 may be implemented as a network switch or a switching chip, or may be other devices or modules having a network interaction function, but is not limited thereto.
In this embodiment, the resource module 102a may include other modules in the node device 102 besides the switching module 102b, for example, may include a computing module, a storage module, a network module, and the like.
Alternatively, each node device 102 may be interconnected with other devices besides the interconnected system 10 through its switch module 102b, in addition to the interconnection between the device interior and the device group through its switch module 102b, so as to access the interconnected system 10 to the internet or a larger-scale network system.
In the embodiment, the switching module is introduced into the node device, on one hand, data exchange among resource modules in the node device can be realized through the switching module, on the other hand, the node device can output a plurality of links to be interconnected with other external node devices through the switching module, so that a new local interconnection network architecture is formed, the interconnection expansibility of the network architecture is good, the bottleneck existing in the traditional network architecture adopting tree-shaped bus interconnection in data forwarding can be broken through, and the network architecture has high network performance. In addition, the interconnection system of this embodiment makes full use of the existing switching modules in the node devices, and does not need to add additional switches to implement interconnection between the node devices, which not only can save switch resources, but also can avoid the problem of insufficient number of switch ports that may occur under the condition that each node device has a large number of links to external interconnection.
It should be noted that, in the interconnection system of this embodiment, the node devices 102 in the same device group 101 may form an indirect interconnection relationship through the node devices 102 in other device groups, and are not directly interconnected with each other. Of course, according to application requirements, node devices 102 in the same device group 101 may also be directly interconnected, and for which node devices in the same device group 101 are directly interconnected, this embodiment does not limit this. In the embodiment of the present application, a case where node devices 102 in the same device group 101 are not directly interconnected is focused on.
It should be noted that, the number of device groups in the interconnection system shown in fig. 1, the number of node devices in each device group, the implementation form of the node devices, and the network scale of the interconnection system are not limited in this embodiment. The number and implementation form of the device groups and the node devices are different for different internet application scenarios.
For example, the interconnection system provided by the embodiment of the present application may be applied to a cluster-level network environment. Each cluster comprises a plurality of machine rooms, at least one cabinet is arranged in each machine room, and at least one server is arranged in each cabinet. In a cluster-level network environment, a computer room may be divided into a device group, and a server in each cabinet in the computer room is regarded as a node device in the corresponding device group, so that the computer rooms may be interconnected by using an interconnection system as shown in fig. 1.
For another example, the interconnection system provided in the embodiment of the present application may also be applied to a computer room level network environment. Each machine room is provided with at least one machine cabinet, and each machine cabinet is provided with at least one server. In a machine-room-level network environment, a plurality of cabinets may be divided into an equipment group, and servers in the cabinets are regarded as node devices in the corresponding equipment group, so that the cabinets may be interconnected by using an interconnection system as shown in fig. 1. For example, if the cabinet a includes 3 servers, the cabinet B includes 5 servers, and the cabinet C includes 4 servers, the cabinet a and the cabinet B may be divided into one device group, the cabinet C may be divided into another device group, and the servers in the cabinet a, the cabinet B, and the cabinet C may be interconnected in an interconnection manner as shown in fig. 1.
For another example, the interconnection system provided in the embodiment of the present application may also be applied to a rack-level network environment, that is, servers in one rack may be divided into different equipment groups, where each equipment group includes at least one server. In the same cabinet, servers belonging to different equipment groups may be interconnected in an interconnection manner as shown in fig. 1.
The following describes an exemplary embodiment of the present application by taking an example in which an interconnection system includes two device groups. For convenience of description and distinction, two device groups are defined as a first device group and a second device group, respectively, and an interconnection manner between node devices is exemplarily illustrated in conjunction with an interconnection system shown in fig. 2.
As shown in fig. 2, the interconnect system 20 includes a first device group 201 and a second device group 202. The first device group 201 includes N1 node devices 201a, and the second device group 202 includes N2 node devices 202a. Each node device in the first device group 201 is interconnected with N2 node devices 202a in the second device group 202 through its switch module; n1 and N2 are positive integers.
It should be noted that, in this embodiment, the number N1 of the node devices in the first device group 201 and the number N2 of the node devices in the second device group 202 are not limited, and flexible devices may be implemented according to the requirements of the application scenarios. Wherein, N1 and N2 may be equal or unequal. Preferably, the number N1 of node devices in the first device group 201 is equal to the number N2 of node devices in the second device group 202, so that the structure of the interconnection system is simpler, the network is more balanced, the management is facilitated, and the routing policy can also be simplified.
Alternatively, as shown in fig. 2, for the node devices in the first device group 201 and the second device group 202, the method generally includes: a resource module 102a and a switch module 102b. For different node devices, the resource module 102a may be the computing module 102a1, or the storage module 102a2, or both the computing module 102a1 and the storage module 102a2.
The storage module 102a2 is used to store network data of the node device where the node device is located, related computer programs, and the like, but is not limited thereto. The Memory module 102a2 may include volatile Memory, such as RAM, or non-volatile Memory, such as Read-Only Memory (ROM), flash Memory, etc., or both. The memory typically stores an Operating System (OS), one or more application software programs, and may also store program data and the like.
The computing module 102a1 is an execution unit of the node device where the computing module is located, and may include one or any combination of a CPU, a GPU, an MCU, various functional modules implemented based on a CPLD or an FPGA, and the like. If the computing module 102a1 is a CPU or a GPU, the computer program stored in the storage module 102a2 may be executed to implement or complete logic such as corresponding computation and control.
Further, as shown in fig. 2, the switching module 102b of each node device includes at least one physical port. For different node devices, the number of physical ports included in the switch module 102b may be equal or different, and may be flexibly set according to the implementation form and the application scenario thereof. In this embodiment, for the node devices in each device group, the switch module 102b is connected to the computing module 102a1 and the storage module 102a2 through the physical ports thereof, and is interconnected with the node devices in other device groups through the physical ports on the switch module 102b. For example, the node devices in the first device group 201 are interconnected with the physical ports on the switching modules 102b of the node devices in the second device group 202 through the physical ports on the switching modules 102b, respectively. For convenience of distinction and description, the number of physical ports through which two node devices interconnected in the first device group 201 and the second device group 202 pass is defined as K, where K is a positive integer. That is, two interconnected node devices in the first device group 201 and the second device group 202 are interconnected through K physical ports, where a value of K is not limited in this embodiment, and may be flexibly set according to a specific application scenario of the node device. In this embodiment, a link formed by K physical ports of two interconnected node devices in the first device group 201 and the second device group 202 is logically regarded as a logical link, and therefore, only one connection line is shown in fig. 2.
Fig. 3 is a schematic structural diagram of a node device according to an embodiment of the present application. The node device 30 belongs to a device group in the interconnected system, wherein the node device 30 comprises a switching module 301 and a resource module 302. The switching module 301 is connected to the resource module 302, and the switching module 301 is further connected to other node devices in the interconnected system except for the device group to which the node device belongs. For specific description of the implementation forms of the node devices and the device groups, reference may be made to the related description in the foregoing system embodiment, which is not described herein again.
In this embodiment, the node device 30 may be any network device that can access the interconnected system, such as a server, a storage device, a computing node, and the like, but is not limited thereto.
In this embodiment, the switching module 301 in the node device 30 may be a network switch or a switching chip, or may be other devices or modules having a network interaction function, but is not limited thereto.
Alternatively, the node device 30 may also be interconnected with other devices outside the interconnected system through its switching module 301, so as to access the interconnected system 10 to the internet or a larger-scale network system. The node device 30 may interconnect with other devices outside the interconnection system through the switch module 301 by using an interconnection manner between node devices in different device groups provided in this embodiment, or may interconnect by using an existing interconnection manner, which is not limited in this embodiment.
Alternatively, as shown in fig. 3, the node device 30 generally includes: a resource module 302 and a switching module 301. For different node devices, the resource module 302 may be the computing module 302a, or the storage module 302b, or include both the computing module 302a and the storage module 302b, but is not limited thereto.
The storage module 302a is used to store network data of the node device where the node device is located, related computer programs, and the like, but is not limited thereto. The memory module 302a may include volatile memory, such as RAM, non-volatile memory, such as ROM, flash memory, etc., or both. The memory typically stores an OS, one or more application software programs, and may store program data and the like.
The computing module 302b is an execution unit of the node device where the computing module is located, and may include one or any combination of a CPU, a GPU, an MCU, various functional modules implemented based on a CPLD or an FPGA, and the like. If the computing module 302b is a CPU or a GPU, the computer program stored in the storage module 302b may be executed to implement or complete logic such as corresponding computation and control.
Further, as shown in fig. 3, the switching module 301 of the node apparatus 30 includes at least one physical port (not shown in fig. 3). For different node devices, the number of physical ports included in the switch module 301 may be equal or different, and may be flexibly set according to the implementation form and the application scenario thereof. In this embodiment, the node device 30 is interconnected with the physical ports of other node devices except the device group to which the node device belongs through the physical ports on the switching module 301. For convenience of distinction and description, the number of physical ports required for interconnecting two node devices interconnected in two device groups is defined as K, where K is a positive integer. In other words, the node device 30 is interconnected with K physical ports of the switching modules of other node devices except for the device group to which the node device 30 belongs through the K physical ports on the switching module 301, where a value of K is not limited in this embodiment, and it can be flexibly set according to a specific application scenario of the node device.
Further, the node device 30 further includes: power supply components, and the like (not shown in fig. 3). Only some of the components are schematically shown in fig. 3, and it is not meant that the node apparatus includes only the components shown in fig. 3. Where power components provide power to the various components of node device 30. The power components may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device in which the power component is located.
In this embodiment, the switching module is introduced into the node device, so that on one hand, data exchange between resource modules in the node device can be realized through the switching module, and on the other hand, the node device can output a plurality of links to interconnect with other external node devices through the switching module, thereby forming a new local interconnection network architecture.
In addition to the above node device and interconnection system, some embodiments of the present application further provide a routing method, which is suitable for any node device in the interconnection system shown in fig. 1 and fig. 2. For convenience of description and distinction, the routing method provided in the present application will be explained from the perspective of the first node device. The first node device is any node device in the interconnection system shown in fig. 1 and 2.
Fig. 4 is a flowchart illustrating a routing method according to an embodiment of the present application. As shown in fig. 4, the method includes:
s401, obtaining a message to be sent.
S402, determining a target resource module to which the message to be sent needs to arrive and target node equipment to which the target resource module belongs according to the destination address in the message to be sent.
And S403, sending the message to be sent to the target resource module based on the interconnection relationship between the first node device and the target node device.
In the present embodiment, the first node device belongs to a device group in the internet shown in fig. 1 or fig. 2. The structure of the first node device may refer to the related description in the embodiments shown in fig. 1 to fig. 3, and is not described herein again.
In step S401, the manner for the first node device to acquire the message to be sent may be: the computing module in the internal resource module of the first node device generates a message to be sent through computing, or may read the message to be sent from a storage module in the internal resource module of the first computing node, or receive a message to be sent from another node device in another device group. Wherein, the message to be sent carries the destination address. Of course, the message to be sent may also carry information such as a source address in addition to the destination address. The destination address points to a destination receiving end of a message to be sent, and is a certain resource module (e.g. a computing module or a storage module) in a certain node device, which may be referred to as a target resource module for short. Thus, when step S402 is performed, the first node device may determine, according to the destination address in the message to be sent, a target resource module to which the message to be sent needs to arrive and a target node device to which the target resource module belongs. Then, step S403 is performed, and a message to be sent is sent to the target resource module based on the interconnection relationship between the first node device and the target node device.
Each node device in the interconnection system stores a routing table, and the process of establishing the routing table is the same as that of establishing the existing routing table, which is not described herein again. The routing table on each node device stores the interconnection relationship between the node device and other node devices in the interconnection system and the interconnection relationship inside the node device. Based on this, the first node device may query its routing table according to the destination address in the message to be sent, thereby determining the target resource module to which the message to be sent needs to arrive and the target node device to which the target resource module belongs.
In this embodiment, the first node device may determine, according to a destination address in the message to be sent, a target resource module to which the message to be sent needs to arrive and a target node device to which the target resource module belongs, and then send the message to be sent to the target resource module based on an interconnection relationship existing between the first node device and the target node device, so as to solve a routing problem in the interconnection system, provide a basis for the interconnection system to implement internal communication, and provide conditions for the interconnection system to exert expansibility and network performance.
Optionally, in step 402, the target resource module may be located on the first node device, or may be located on another node device belonging to the same device group as the first node device, or located on another node device belonging to a device group different from the device group to which the first node device belongs. When the node devices to which the target resource modules belong are different, the interconnection relationship between the first node device and the target node device to which the target resource modules belong is also different.
Based on the interconnection relationship between the target resource module and the first node device, the following three optional implementations exist in step 403:
embodiment 1: if the target node device is the same node device as the first node device, in step 403, the message to be sent may be sent to the target resource module based on the interconnection relationship inside the first node device.
Embodiment 2: if the target node device and the first node device belong to different device groups, in step 403, the message to be sent may be sent to the target node device based on the interconnection relationship existing between the first node device and the device group to which the target node device belongs, so that the target node device forwards the message to be sent to the target resource module based on the internal interconnection relationship.
Embodiment 3: if the target node device is another node device in the device group to which the first node device belongs, because there is no interconnection relationship between node devices in the same device group, the message to be sent needs to be forwarded to the other device group first, and then the message to be sent needs to be forwarded to the target node device through the node devices of the other device group. Based on this, if the target node device is another node device in the device group to which the first node device belongs, in step 403, the message to be sent may be sent to the target node device through the node device in the other device group based on the interconnection relationship existing between the first node device and the other device group, and then the target node device forwards the message to be sent to the target resource module based on the internal interconnection relationship.
Embodiments 2 and 3 will be described below by way of example with the interconnect system shown in fig. 2.
Assuming that the first node device is the node device 1 in the first device group shown in fig. 2 and the target node device is the node device m +1 in the second device group, the node device 1 may send the message to be sent to the node device m +1 based on the interconnection relationship between the node device 1 and the node device m +1 in the second device group. Assuming that the first node device is a node device 1 of the first device group shown in fig. 2, and the target node device is a node device 3 of the first device group, the node device 1 forwards the message to be sent to the node device 3 through a node device m +1 in the second device group based on an interconnection relationship between the node device 1 and any node device (for example, a node device m + 1) in the second device group, and then the node device 3 sends the message to be sent to the target resource module based on an interconnection relationship inside the node device 3.
Further, considering that for a case that the target node device and the first node device are not the same node device, there may be a link congestion on a link between the first node device and the target node device, for example, all physical ports interconnected between the first node device and the target node device are failed; for another example, the bandwidth of the link between the two is occupied, etc., which further causes the interconnection link between the two to be unreachable.
Based on the above analysis, in step 403, for the case that the target node device and the first node device belong to different device groups, that is, the case described in embodiment 2, it may be determined whether the interconnection link between the first node device and the target node device is reachable, and if the interconnection link between the first node device and the target node device is reachable, the message to be sent may be sent to the target node device through the interconnection link between the first node device and the target node device. If the interconnection link between the first node device and the second node device is not reachable, the second node device can be selected from the device group to which the target node device belongs, and the message to be sent is sent to the second node device through the interconnection link between the first node device and the second node device, so that the second node device can forward the message to be sent to the target node device through the node device in the other device group.
An embodiment of sending a message to be sent to a target node device if an interconnection link between the first node device and the target node device is reachable is described below by taking the interconnection structure shown in fig. 2 as an example.
Assuming that the first node device is a node device 1 of the first device group shown in fig. 2 and the target node device is a node device m +1 of the second device group, if an interconnection link a between the node device 1 and the node device m +1 is reachable, the node device 1 may send a message to be sent to the node device m +1 through the interconnection link a between the node device 1 and the node device m +1; if the interconnection link a between the node device m +1 and the node device m +1 is not reachable, another node device except for the node device m +1 is selected from the second device group as the second node device, for example, the node device m +3, then the node device 1 sends the message to be sent to the node device m +3 through the interconnection link B between the node device 1 and the node device m +3, then the node device m +3 forwards the message to be sent to another node device except for the node device 1 in the first device group, for example, the node device 3, and forwards the message to be sent to the node device m +1 through the interconnection link C between the node device 3 and the node device m +1.
Further, when the second node device is selected from the device group to which the target node device belongs, at least one candidate node device that is reachable with the interconnection link between the first node device and the target node device may be determined from the device group to which the target node device belongs; and randomly selecting a second node device from the at least one candidate node device.
Or determining at least one candidate node device which can reach an interconnection link between the candidate node device and the first node device from a device group to which the target node device belongs; and selecting the second node device from the at least one candidate node device according to a load condition on an interconnection link between the at least one candidate node device and the first node device. For example, according to the load condition of the interconnection link between the at least one candidate node device and the first node device, the node device connected to the link with the least interconnection link load is selected as the second node device, so as to improve the forwarding rate of the message to be sent.
Or, determining at least one candidate node device that is reachable with the interconnection link between the target node device and the first node device from the device group to which the target node device belongs, and selecting the second node device from the at least one candidate node device according to the load condition of the at least one candidate node device. For example, according to the load condition of at least one candidate node device, the node device with the least load is selected as the second node device, so as to improve the forwarding rate of the message to be sent.
The above-described embodiment of determining the second node device is also described by taking the interconnection structure shown in fig. 2 as an example. Assuming that the first node device is a node device 1 of the first device group shown in fig. 2 and the target node device is a node device m +1 of the second device group, if it is determined that candidate node devices that can reach the interconnection link between the first node device and the target node device 1 are a node device m +2, a node device m +3, and a node device m +4, any one of the node devices m +2, the node device m +3, and the node device m +4 may be used as the second node device; or, according to the link load conditions distributed by the node device 1 and between the node device m +2, the node device m +3 and the node device m +4, selecting one of the three as a second node device; or, one of the node device m +2, the node device m +3 and the node device m +4 is selected as the second node device according to the load conditions of the three.
Further, optionally, in step 403, for the case that the target node device is another node device in the device group to which the first node device belongs, that is, the case described in embodiment 3, it is required to send the message to be sent to the target node device through the node device in the other device group. Based on this, an optional implementation manner of sending the message to be sent to the target node device through the node device in the other device group based on the interconnection relationship existing between the first node device and the other device group is as follows: and selecting a third node device from another device group different from the device group to which the second node device and the target node device belong, and sending the message to be sent to the third node device through an interconnection link between the first node device and the third node device, so that the third node device forwards the message to be sent to the target node device through the interconnection link between the third node device and the target node device. The other device group may be a device group to which the first node device belongs, and the third node device may be another node device in the device group different from the first node device, and an interconnection link between the third node device and the target node device may be reachable. Alternatively, the other device group may be another device group different from both the device groups to which the first node device and the second node device belong, and the interconnection link between the third node device in the device group and the target node device may be reachable.
It should be noted that, for the case that the first node device and the target node device belong to different device groups, after the second node device is determined because the interconnection link between the first node device and the target node device is unreachable, since the second node device and the target node device belong to the same device group and cannot directly forward messages, the message forwarding process needs to be performed by node devices in other device groups that are outside the device group shown by the target node device and are interconnected with the second node device, which is similar to the process of performing message forwarding by the third node device, and the difference is only that the device that sends a message is different from the device that receives a message, and thus, the description is omitted.
Further, in the above process, considering that the message to be sent needs to be forwarded by the third node device, if the third node device is not well selected, a wraparound transmission of the message may be introduced, and a new deadlock risk is introduced.
Optionally, the transmission priority carried in the message to be sent may be changed, and the message to be sent with the changed transmission priority is sent to the third node device through an interconnection link between the first node device and the third node device. The transmission priority in the message has a corresponding relation with the channel in the node device, and different transmission priorities correspond to different channels. When the message to be sent is sent out through different channels on different node devices, the wraparound transmission generally does not occur, which is beneficial to solving the deadlock risk. Further, optionally, the transmission priority carried in the message to be sent may be changed to a higher priority, so that the third node device may forward the message to be sent to the target node device as soon as possible after receiving the message to be sent, which is beneficial to improving the communication efficiency.
In order to more clearly illustrate the process of the first node device forwarding the message to be sent to the target node device, the forwarding process is exemplarily illustrated below by taking the interconnection system shown in fig. 2 as an example. As shown in fig. 2, the interconnection system includes a first device group and a second device group, and if the first node device is located in the first device group, the process of forwarding the message is shown in fig. 5, which includes:
s501, the message to be sent reaches a switching module in the first node device.
S502, judging whether a target resource module is in the first node device, if so, jumping to the step S509; if not, go to step S503.
S503, judging whether the destination node equipment to which the destination resource module belongs is in the second equipment group, if so, jumping to the step S504; if not, go to step S507.
S504, judging whether an interconnection link between the first node device and a destination node device to which the destination resource module belongs is accessible, if so, executing a step S508; if not, step S505 is executed.
S505, selecting a node device different from the target node device from the second device group as a second node device, where an interconnection link between the second node device and the first node device is accessible, and sending the message to be sent to the second node device, so that the second node device switches the message to be sent to a channel different from that in the first node device for forwarding, and then the process proceeds to S506.
S506, selecting a node device different from the first node device from the first device group as a third node device, and links between the third node device and the target node device are all reachable, so that the second node device forwards the message to be sent to the third node device, and the third node device switches the message to be sent to a channel different from that in the first node device and forwards the message to the target node device, and then the method enters S507.
S507, selecting a node device from the second device group, where the link with the first node device and the link with the target node device are both reachable, as a fourth node device, and forwarding the message to be sent to the fourth node device, so that the fourth node device switches the message to be sent to a channel different from that in the first node device and forwards the message to the target node device, and then the process proceeds to S508.
And S508, forwarding the message to be sent to the target node equipment, and entering S509.
And S509, the destination node device forwards the message to be sent to the target resource module based on the internal interconnection mode.
It should be noted that fig. 5 only describes that the first node device belongs to the first device group for example, and similarly, the first node device may also be located in the second device group, and a process of forwarding the message to be sent is the same as the flow shown in fig. 5, and only descriptions of the first device group and the second device group are exchanged, which is not described herein again.
As can be seen from the routing method described in the foregoing embodiment, in the interconnection system provided in this embodiment, the number of routing hops is relatively small, for example, communication in the same node device may be completed by one hop in the interconnection system, communication between two device groups may be completed by one hop or three hops, communication between different node devices in the same device group may be completed by two hops, and thus, the routing method has lower communication delay and higher communication efficiency.
It should be noted that the execution subjects of the steps of the methods provided in the above embodiments may be the same device, or the methods may also be executed by different devices. For example, the execution subject of steps S401 to S403 may be device a; for another example, the execution subject of steps S401 and S402 may be device a, and the execution subject of step S403 may be device B; and so on.
In addition, in some of the flows described in the above embodiments and the drawings, a plurality of operations appearing in a specific order are included, but it should be clearly understood that these operations may be executed out of the order they appear herein or in parallel, and the order of the operations, such as S401, S402, etc., is merely used to distinguish various operations, and the order itself does not represent any execution order. Additionally, the flows may include more or fewer operations, and the operations may be performed sequentially or in parallel. It should be noted that, the descriptions of "first", "second", etc. in this document are used for distinguishing different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit the types of "first" and "second".
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising a … …" does not exclude the presence of another identical element in a process, method, article, or apparatus that comprises the element.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims (10)

1. An interconnect system, comprising: at least two device groups; each equipment group comprises a plurality of node equipment, and each node equipment comprises a switching module and a resource module;
the resource module in each node device is connected with the exchange module, and each node device is interconnected with other node devices except the device group to which the node device belongs through the exchange module; node devices in the same device group form indirect interconnection relationship through node devices in other device groups, and are not directly interconnected; the first node device sends a message to be sent to a target node device through the node device in another device group based on an interconnection relationship between the first node device and the other device group, wherein the first node device and the target node device are node devices in the same device group.
2. The interconnect system of claim 1, wherein the at least two device groups include a first device group and a second device group, the first device group including N1 node devices, the second device group including N2 node devices;
each node device in the first device group is respectively interconnected with K physical ports on each node device in the second device group through K physical ports on an exchange module of the node device; n1, N2 and K are positive integers more than 1.
3. An interconnect system according to any of claims 1-2, wherein each node device is further interconnected to other devices outside the interconnect system via its switch module.
4. The interconnection system according to any one of claims 1 to 2, wherein each equipment group is a machine room, and the server in each cabinet in the machine room is a node device in the corresponding equipment group;
or
Each equipment group comprises a plurality of cabinets, and a server in each cabinet is node equipment in the corresponding equipment group;
or
Each equipment group comprises at least one server, and each server is node equipment in the corresponding equipment group.
5. The node equipment is characterized in that the node equipment belongs to an equipment group in an interconnected system and comprises a switching module and a resource module; the switching module is connected with the resource module and is also connected with other node equipment except the equipment group to which the node equipment belongs in the interconnected system; the node equipment and other node equipment in the equipment group to which the node equipment belongs form an indirect interconnection relationship through the node equipment in other equipment groups, and the node equipment and the other node equipment are not directly interconnected; the node device sends a message to be sent to a target node device through the node device in another device group based on an interconnection relationship between the node device and the other device group, wherein the node device and the target node device are node devices in the same device group.
6. The node device according to claim 5, wherein the switch module is interconnected with the K physical ports of the switch module of each of the other node devices outside the device group to which the node device belongs through the K physical ports, where K is a positive integer greater than 1.
7. The node device of claim 6, wherein the link formed by the K physical ports is logically a logical link.
8. The node device according to any of claims 5-7, wherein the switching module is further configured to connect to other devices outside the interconnect system.
9. A routing method applied to a first node device in the interconnection system according to any one of claims 1 to 4, the method comprising:
acquiring a message to be sent;
determining a target resource module to which the message to be sent needs to arrive and target node equipment to which the target resource module belongs according to a destination address in the message to be sent;
if the target node device is another node device in the device group to which the first node device belongs, the message to be sent is sent to the target node device through the node device in the other device group based on the interconnection relationship existing between the first node device and the other device group, so that the target node device forwards the message to be sent to the target resource module based on the internal interconnection relationship.
10. The method of claim 9, further comprising:
if the target node device is the same node device as the first node device, sending the message to be sent to the target resource module based on the interconnection relationship in the first node device;
and if the target node equipment and the first node equipment belong to different equipment groups, sending the message to be sent to the target node equipment based on the interconnection relationship between the first node equipment and the equipment group to which the target node equipment belongs, so that the target node equipment forwards the message to be sent to the target resource module based on the internal interconnection relationship.
CN202110474616.2A 2018-09-18 2018-09-18 Node equipment, routing method and interconnection system Active CN113328951B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110474616.2A CN113328951B (en) 2018-09-18 2018-09-18 Node equipment, routing method and interconnection system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811088203.5A CN110581807B (en) 2018-09-18 2018-09-18 Node equipment, routing method and interconnection system
CN202110474616.2A CN113328951B (en) 2018-09-18 2018-09-18 Node equipment, routing method and interconnection system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811088203.5A Division CN110581807B (en) 2018-09-18 2018-09-18 Node equipment, routing method and interconnection system

Publications (2)

Publication Number Publication Date
CN113328951A CN113328951A (en) 2021-08-31
CN113328951B true CN113328951B (en) 2022-10-28

Family

ID=68810360

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811088203.5A Active CN110581807B (en) 2018-09-18 2018-09-18 Node equipment, routing method and interconnection system
CN202110474616.2A Active CN113328951B (en) 2018-09-18 2018-09-18 Node equipment, routing method and interconnection system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811088203.5A Active CN110581807B (en) 2018-09-18 2018-09-18 Node equipment, routing method and interconnection system

Country Status (1)

Country Link
CN (2) CN110581807B (en)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925162B2 (en) * 2003-07-03 2011-04-12 Soto Alexander I Communication system and method for an optical local area network
CN101094125A (en) * 2006-06-23 2007-12-26 华为技术有限公司 Exchange structure in ATCA / ATCA300 expanded exchange bandwidth
CN101924682B (en) * 2009-06-11 2012-07-04 华为技术有限公司 ATCA (Advanced Telecommunications Computing Architecture) exchange system, method and communication device
US8369296B2 (en) * 2010-04-26 2013-02-05 International Business Machines Corporation Distributed link aggregation
CN103188157B (en) * 2011-12-28 2016-06-08 迈普通信技术股份有限公司 A kind of router equipment
CN105812288B (en) * 2014-12-29 2020-04-10 中兴通讯股份有限公司 Data exchange method, multi-frame interconnection system and frame equipment thereof
CN105072155A (en) * 2015-07-13 2015-11-18 浪潮电子信息产业股份有限公司 Network pressure unloading whole-cabinet server framework and design method
CN105100234B (en) * 2015-07-14 2018-09-07 浪潮(北京)电子信息产业有限公司 A kind of Cloud Server interacted system
CN106789679B (en) * 2015-11-24 2020-02-21 新华三技术有限公司 Line card frame, multi-frame cluster router, route selection method and message processing method
CN106502841B (en) * 2016-10-27 2019-06-07 杭州迪普科技股份有限公司 Data back up method and device

Also Published As

Publication number Publication date
CN110581807B (en) 2021-05-18
CN113328951A (en) 2021-08-31
CN110581807A (en) 2019-12-17

Similar Documents

Publication Publication Date Title
US10296392B2 (en) Implementing a multi-component service using plural hardware acceleration components
US10606651B2 (en) Free form expression accelerator with thread length-based thread assignment to clustered soft processor cores that share a functional circuit
EP3057270A1 (en) Technologies for modular forwarding table scalability
CN104468401A (en) Message processing method and device
CN110313163A (en) Load balance in distributed computing system
EP2549388A1 (en) Computer system
US9007920B2 (en) QoS in heterogeneous NoC by assigning weights to NoC node channels and using weighted arbitration at NoC nodes
CN109451540B (en) Resource allocation method and equipment for network slices
CN105991660B (en) System for resource sharing among multiple cloud storage systems
JP2006101525A (en) Network-on-chip half automatic transmission architecture for data flow application
CN109194578B (en) Method and device for opening private line service
WO2015043679A1 (en) Moving stateful applications
CN107181689B (en) Message interaction method and device between routers
WO2006071714A1 (en) Multiple cell computer systems and methods
KR101800320B1 (en) Network on chip system based on bus protocol, design method for the same and computer readable recording medium in which program of the design method is recorded
CN113328951B (en) Node equipment, routing method and interconnection system
CN109660458B (en) Routing method and device
CN116886496A (en) DPU-based data processing method, device, equipment and readable storage medium
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
US11914540B2 (en) On-chip integrated circuit, data processing device, and data processing method
US20200167302A1 (en) Communications for field programmable gate array device
Jabbarifar et al. A scalable network-aware framework for cloud monitoring orchestration
CN112104566B (en) Processing method and device for load balancing
CN112751768B (en) Service message forwarding method and device and computer storage medium
CN115361332A (en) Processing method and device for fault-tolerant routing, processor and electronic equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant