METHOD OF MANAGING A NETWORK OF CALCULATION NODES
20170353358 · 2017-12-07
Inventors
Cpc classification
G06F15/16
PHYSICS
H04L67/10
ELECTRICITY
G06F15/161
PHYSICS
International classification
G06F15/16
PHYSICS
Abstract
A method of managing a network of calculation nodes interconnected by a plurality of interconnection devices, includes organizing the calculation nodes into groups of calculation nodes, for each group of calculation nodes, connecting the interconnection devices interconnecting the nodes of the group to a group management node, the management node being dedicated to the group of calculation nodes on each management node execution of an administration function by the implementation of independent management modules, each management module of a management node being able to communicate with the other management modules of the same management node.
Claims
1. A method for managing a network of compute nodes interconnected by a plurality of interconnection devices, the method comprising: organizing compute nodes into groups of compute nodes; for each group of compute nodes, connecting interconnection devices interconnecting the nodes of the group to a group management node, wherein the group management node is dedicated to the group of compute nodes,and in each group management node, executing a management function through the implementation of independent management modules, wherein each module for managing a management node is configured to communicate with the other management modules of the same management node.
2. The management method according to claim 1, wherein a group management node is connected in an out-of-band mode to interconnection devices.
3. The management method according to claim 1, wherein communications between management modules of a given management node are accomplished asynchronously.
4. Management The management method according to claim 1, wherein management modules are chosen from the group formed from at least: network topology management module, routing management module, network supervision module, network performance measurement module.
5. The management method according to claim 1, wherein at least one management node is connected to a level-2 management node.
6. The management method according to claim 5, wherein the communications between the at least one management node and the level-2 management node are accomplished in an out-of-band mode.
7. The management method according to claim 5, wherein a management node module processes messages received from at least one interconnection device to reduce the quantity of data transmitted to the level-2 management node.
8. A digital non-transitory machine readable storage device containing a file containing instruction codes implementing the method according to claim 1.
9. A device implementing the method according to claim 1.
Description
BRIEF DESCRIPTION OF THE FIGURES
[0034] Other characteristics and advantages of the invention will be seen clearly on reading the description below, with reference to the appended figures, which illustrate:
[0035]
[0036]
[0037] For greater clarity, identical or similar elements are identified by identical reference signs in all the figures.
[0038] The invention will be better understood on reading the description which follows, and on examining the figures accompanying it. These are shown as an indication only, and are not restrictive of the invention in any manner.
DETAILED DESCRIPTION OF ONE IMPLEMENTATION
[0039]
[0040] In practice all the compute nodes of the first group of compute nodes are connected to ports of the same kind. These are InfiniBand ports, or equivalent. Each switch in first group S1 of switches is itself connected to at least one other switch in first group S1 of switches. This enables all the compute nodes of first group G1 of compute nodes to be connected to one another, and a network to be established between them by this means. The various physical connections and the corresponding wires are not shown, in order not to overcomplicate the figures.
[0041]
[0050] The connectors, or ports, are physical communication interfaces or network interfaces.
[0051] When an action is imparted to a device it is in fact performed by a microprocessor of the device controlled by instruction codes recorded in a memory of the device. If an action is imparted to an application it is in fact performed by a microprocessor of the device in a memory where the instruction codes for the application are recorded. From a functional standpoint, for the comprehension of this paragraph, no distinction is made between a microprocessor, a microcontroller and an arithmetical and logic unit.
[0052]
[0053] The second group of compute nodes and the second group of switches associated with the second group of compute nodes consist of elements identical to those of the first group of compute nodes associated with the first group of switches. The switches of the second group of switches are functionally identical to the switches of the first group of switches. Organisation of these elements may vary from one group to the next, or be identical.
[0054] Those skilled in the art will easily understand that the number of groups is not limited to two, but that a description of two is sufficient to illustrate the invention.
[0055]
[0056] The network formed by means of the plurality of connectors is therefore dedicated to the compute nodes. In a general sense, “out-of-band” means that the signals called “out-of-band signals” are exchanged over channels or links which do not influence the performance of the channels or links used by the device to perform its main functions.
[0057]
[0067]
[0068]
[0078] The module areas contain instruction codes, execution of which corresponds to the module's functions.
[0079]
[0080] In an out-of-band variant of the invention the first management node is: [0081] connected to the first management switch via its first network interface, [0082] connected to the level-2 management switch via its second network interface.
[0083] In this out-of-band variant the messages exchanged between the management node and the switches of a switch group do not travel on the same wires as the messages exchanged between the management node and the level-2 management node. More generally, this means that a bandwidth dedicated to the exchange of messages between the management node and a group of switches can be allocated. No other message will be able to use this bandwidth. This can be obtained by physical means, by physically separating the networks as has been illustrated, but it can also be accomplished using switches capable of managing a service quality, or QoS, contract.
[0084]
[0085] A group of nodes is obtained by this means. Groups of nodes connected in this manner are also interconnected by making connections between the switches of the various groups of nodes. Grouping nodes therefore amounts to grouping switches. Every compute node connected to a switch in a group of switches, defined according to the invention, forms part of the same group of compute nodes. In other words, all nodes directly connected to a given switch form part of the same group of compute nodes. Such a group also contains a plurality of switches.
[0086] The switches in question are interconnection devices as described for
[0087] When these connections have been made the supercomputer, corresponding to all the compute nodes of the groups of compute nodes, can be started. Start-up of a supercomputer includes a step of updating the routing tables of the switches contained in the supercomputer. This update is accomplished according to an initial configuration known to the supercomputer.
[0088] When the initial settings have been written into the various elements, switches, management nodes and level-2 management node, the various management services are started in the management nodes and the level-2 management node. The various management services correspond to the previously described modules.
[0089] One feature of the invention is that these services are executed in an independent and decentralised manner. Each service corresponds to at least one process in the device which implements it. These are modules
[0090] The services executed by each node include at least: [0091] a topology management service: this is the service which: [0092] maintains up-to-date a topology database whereby, at any time, and at least, the status of each connector of each switch may be known; [0093] a routing service enabling the routing tables may be calculated in order to update switches; [0094] a supervision service to: [0095] manage the messages transmitted by the switches; [0096] aggregate data produced by the other services before transmitting this aggregated data to a level-2 management node service. This aggregation, for example a synthesis by correlation, enables the volume of communications received by the level-2 management node to be reduced. Such a correlation involves, for example, detecting that a certain number of connector malfunction messages for a given switch signifies the malfunction of the switch, and that it is therefore unnecessary to relay the connectors' malfunction messages; [0097] a network performance measurement service which obtains and records data concerning the performance of switches connected to the management node implementing the service.
[0098] A management node also implements a communication mechanism between the modules. Such a mechanism is asynchronous, such that management of the messages is not blocking for the various services.
[0099] Such an asynchronous mechanism is, for example, a subscription mechanism. A service subscribes to transmitted messages. When a message to which it is subscribed is published it will then read it.
[0100] Such a mechanism allows management of the switches to be optimised. For example, we can consider a scenario in which a connector of a switch malfunctions. In this case: [0101] the switch transmits a malfunction message to its management node, the one to which it is connected; [0102] the supervision service of the management node updates the topology database and activates the topology service of the management node receiving the message; [0103] the topology service publishes a message indicating the malfunction and starts a process intended to determine whether routing computation hypotheses are still valid; such a calculation generally lasts some ten seconds; [0104] the routing service receives the message indicating the connector malfunction, and starts to calculate new routing tables, using common topology hypotheses. Such a calculation general lasts for more than some ten seconds; [0105] the topology service detects a change in the topology hypotheses, and publishes this change; [0106] the routing service receives the message indicating a change of topology hypotheses, interrupts the pending calculation and restarts a calculation on the basis of the new hypotheses.
[0107] The times given above are for topology sizes with more than 50000 compute nodes. With smaller topologies these times are therefore reduced accordingly.
[0108] In the above example it can be seen that, with the invention, the calculation of these routing tables can start directly when the malfunction is detected. If the hypotheses relating to the topology have not changed the routing calculation will be accomplished in a few seconds, as before the invention, in a comparable execution time. Conversely, if the calculation of the hypotheses, according to the invention, reveals that the initial hypothesis is no longer valid, the calculation of the routing is interrupted and restarted with an algorithm called an “agnostic routing algorithm”, i.e. an algorithm which is insensitive to the topology. Before the invention the calculation is performed according to the initial hypothesis, and if that fails then, and only then, the topology-insensitive algorithm is started.
[0109] In addition, with the invention these calculations can be made simultaneously in several nodes, i.e. two malfunctions occurring in two switches of two different compute node groups can be managed simultaneously.
[0110] Another appropriate communication mechanism would be a letterbox mechanism, where each service has its own letterbox address, and all letterboxes are managed by the communication service.
[0111] In a variant of the invention a management node also executes a network performance measurement service. This is the network performance module. The network performance specifications are, for example: [0112] transmission rate in each port; [0113] number of packets; [0114] lengths of queues; [0115] number of errors; [0116] protocols used; [0117] etc.
[0118] This data is available in the switches and transmitted at regular intervals by the management nodes. This data is then aggregated by the management node and transmitted after aggregation, possibly with data produced by the other modules.
[0119] This enables the bandwidth used by the management node for transmission of performance data to be controlled.
[0120] The network performance module also stores the performance data, enabling the supercomputer's unprocessed performance data to be divided between the management nodes. A query can then be made from the level-2 management node, which will then search for the data in the management nodes according to the nature of the query. A form of storage is therefore obtained which is distributed over the management nodes, avoiding any use of a centralised storage device. This is of interest since, in order to be tolerant to malfunctions, such a centralised device must implement system redundancies. With the invention these redundancies are natural since they take the form of management nodes which are physically independent from one another. In addition, a centralised system must be able to have a large storage capacity for the data produced by all the supercomputer's switches. With the invention each management node has a storage capacity corresponding to the data produced by the switches which it manages.
[0121] With the invention a high and resilient storage capacity is obtained with lesser complexity than an equivalent centralised capacity.
[0122] With the invention all the functions of a conventional “fabric manager” can be found, but they are distributed and executed in such a way that they can be implemented even in the context of a supercomputer with over 1000 switches.
[0123] The invention enables known supercomputer design processes to be continue to be used, in particular in terms of the positioning of wiring topology, but with a management mode which is much more responsive and appropriate for increasingly large topologies.
[0124] Implementation of the method therefore enables an operational and manageable supercomputer to be obtained.