Brevet FR3040575A1 — publié le 20170303

PROCÉDÉ DE DÉTERMINATION AUTOMATISÉE DE TOPOLOGIES D'INTERCONNEXION OPTIMALES DE SYSTÈMES COMPRENANT DES NOEUDS DE SERVICE, ET DISPOSITIF DE TRAITEMENT ASSOCIÉ L'invention concerne les systèmes comprenant des noeuds de service interconnectés entre eux via des liaisons, et plus précisément la détermination de topologies d'interconnexion de tels systèmes. On entend ici par « noeud de service » un équipement électronique comprenant des ressources pouvant être de tout type dès lors qu'elles assurent au moins un service configurable utile au système auquel elles appartiennent ou à une application tournant dans ce système. Par conséquent, il pourra par exemple s'agir d'un équipement de calcul comprenant au moins un processeur, ou d'un équipement d'entrée/sortie, ou d'un routeur (ou « switch »), ou encore de moyens de stockage de données. Par ailleurs, on entend ici par « topologie d'interconnexion » l'architecture (ou le réseau d'interconnexion) définissant l'intégralité des liaisons (ou interconnexions) entre tous les noeuds de service d'un système. Il s'agit d'un graphe non orienté où les sommets représentent, par exemple, des routeurs et les arcs représentent les liaisons (ou câbles). On notera qu'il existe plusieurs structures de topologie, et notamment celles dites hiérarchiques, celles en anneau (à topologie directe), et celles à maillage. Parmi les structures hiérarchiques, on peut notamment citer celles appelées en anglais « Fat tree », « Generalized Fat Tree » (ou GFT), « Extended Generalized Fat Tree » (ou XGFT), et « Parallel Generalized Fat Tree » (ou PGFT). Parmi les structures à maillage, on peut notamment citer celle appelée en anglais « HyperX ». Compte tenu des deux définitions qui précèdent, un système pourra être notamment un calculateur de type dit « haute performance » (ou supercalculateur), ou un centre de données (ou « data center »). La détermination (ou le dimensionnement) de la topologie d'interconnexion d'un système, comme par exemple un supercalculateur, est 3040575 2 une tâche complexe en raison des très nombreuses contraintes qui doivent être priseS en compte, et notamment le niveau de performance, le coût, la faisabilité technique, les contraintes logistiques (et notamment l'encombrement), et les contraintes thermiques. 5 En raison de cette complexité, la détermination (ou le dimensionnement) de la topologie d'interconnexion d'un système est fréquemment réalisée à la main après que la structure de cette topologie d'interconnexion ait été choisie, ce qui induit plusieurs inconvénients. En effet, la topologie d'interconnexion déterminée est rarement optimale sur tous les 10 plans, voire infaisable techniquement, et donc on est contraint de réaliser de nombreuses modifications qui induisent fréquemment un surcoût important et/ou d'éventuels retards de mise à disposition du client et/ou une éventuelle diminution du niveau de performance souhaité initialement. Il existe un outil informatique, de type « web », développé par la 15 société Mellanox, et destiné à déterminer (ou dimensionner) des topologies d'interconnexion. Cet outil est adapté aux structures de type Fat Tree, et permet de choisir le nombre de noeuds de calcul ainsi que le type de routeur à utiliser sur les deux premiers niveaux de la topologie d'interconnexion, et le facteur de blocage. Le principal inconvénient de cet outil réside dans le fait 20 qu'il ne fournit que le nombre de routeurs et de liaisons nécessaires à la mise en place du système, et donc ne donne aucune information sur la configuration topologique (comme une description formelle, par exemple), ce qui est pourtant indispensable à l'évaluation de la qualité de la topologie en termes de routage et de rapport qualité/prix. 25 L'invention a donc notamment pour but d'améliorer la situation. Elle propose notamment à cet effet un procédé, destiné à permettre la détermination d'une topologie d'interconnexion optimale d'un système comprenant des noeuds de service interconnectés entre eux via des liaisons et constituant pour certains des routeurs ayant des ports et appartenant à au 30 moins un niveau. Ce procédé se caractérise par le fait qu'il comprend : - une première étape dans laquelle on choisit une structure pour une 3040575 3 topologie d'interconnexion optimale à déterminer parmi un ensemble de structures définies chacune par au moins une contrainte structurelle, puis on choisit au moins un paramètre de topologie parmi un nombre maximal de ports des routeurs, un nombre de niveaux de routeurs, un nombre de 5 noeuds de service connectés à un routeur appartenant au premier niveau, un nombre de noeuds de service d'un niveau i-1 connectés à un même routeur d'un niveau i, un nombre de routeurs d'un niveau i connectés à un même noeud de service d'un niveau i-1, un nombre de liaisons (ou liens) entre un routeur d'un niveau i et un noeud de service d'un niveau i -1, et 10 - une seconde étape dans laquelle on détermine au moyen d'un solveur la topologie d'interconnexion optimale en fonction d'au moins chaque contrainte structurelle correspondante et chaque paramètre de topologie choisi et d'au moins un critère d'optimisation choisi. Ainsi, on peut désormais déterminer des topologies d'interconnexion 15 optimales de différentes structures, et faisables techniquement, c'est-à-dire correspondant aux demandes des clients sans nécessiter de nombreuses modifications lors de leur mise en place. Le procédé selon l'invention peut comporter d'autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment : 20 - chaque critère d'optimisation peut être choisi parmi (au moins) un coût du système, un niveau de performance, une extensibilité du système, une consommation d'énergie du système, des contraintes thermiques, et un encombrement du système ; - chaque contrainte structurelle peut être choisie parmi (au moins) les 25 inéquations suivantes : pi*mi + pi+1*wi+1 radixMax, ph*mh radixMax, et wepi + noeudsParFeuille radixMax, où mi est le nombre de noeuds de service d'un niveau i-1 connectés à un même routeur d'un niveau i, wi est le nombre de routeurs d'un niveau i connectés à un même noeud de service d'un niveau i-1, pi est le nombre de liaisons (ou liens) entre un 30 routeur d'un niveau i et un noeud de service d'un niveau i -1, radixMax est le nombre maximal de ports de chaque routeur, h est le nombre de niveaux de routeurs, et noeudsParFeuille est le nombre de noeuds de service connectés à un même routeur appartenant au premier niveau ; 3040575 4 - dans la seconde étape on peut déterminer la topologie d'interconnexion optimale en fonction également d'au moins une contrainte d'utilisation choisie ; > chaque contrainte d'utilisation peut être choisie parmi (au moins) une 5 interdiction de connecter à un routeur appartenant à un niveau i donné plus de liaisons (ou liens) vers le niveau supérieur à ce niveau donné que de liaisons (ou liens) vers le niveau inférieur à ce niveau donné, une conservation d'une bande passante en entrée et en sortie de chaque routeur, une non conservation d'une bande passante en entrée et en 10 sortie de chaque routeur, un nombre minimum de noeuds de service, un nombre maximum de liaisons (ou liens) entre deux routeurs ; - le système peut être choisi parmi (au moins) un supercalculateur et un centre de données (ou « data center »). L'invention propose également un produit programme d'ordinateur 15 comprenant un jeu d'instructions qui, lorsqu'il est exécuté par des moyens de traitement, est propre à mettre en oeuvre un procédé du type de celui présenté ci-avant pour déterminer une topologie d'interconnexion optimale d'un système comprenant des noeuds de service interconnectés entre eux via des liaisons et constituant pour certains des routeurs ayant des ports et 20 appartenant à au moins un niveau. L'invention propose également un dispositif de traitement, destiné à déterminer une topologie d'interconnexion optimale d'un système comprenant des noeuds de service interconnectés entre eux via des liaisons et constituant pour certains des routeurs ayant des ports et appartenant à au moins un 25 niveau, et propre à équiper un équipement électronique comprenant des ressources de calcul et une interface homme/machine. Ce dispositif de traitement se caractérise par le fait qu'il comprend : - une interface de programmation agencée pour permettre à un usager de choisir via l'interface homme/machine une structure pour une topologie 30 d'interconnexion optimale à déterminer parmi un ensemble de structures définies chacune par au moins une contrainte structurelle, et au moins un paramètre de topologie choisi parmi un nombre maximal de ports des routeurs, un nombre de niveaux de routeurs, un nombre de noeuds de 3040575 5 service connectés à un routeur appartenant au premier niveau, un nombre de noeuds de service d'un niveau i-1 connectés à un même routeur d'un niveau i, un nombre de routeurs d'un niveau i connectés à un même noeud de service d'un niveau i-1, un nombre de liaisons (ou liens) entre un routeur 5 d'un niveau i et un noeud de service d'un niveau i -1, et - des moyens de résolution agencés pour déterminer la topologie d'interconnexion optimale en fonction d'au moins chaque contrainte structurelle correspondante et chaque paramètre de topologie choisi et d'au moins un critère d'optimisation choisi. o L'invention propose également un équipement électronique comprenant des ressources de calcul, une interface homme/machine, et un dispositif de traitement du type de celui présenté ci-avant. D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur 15 lesquels : - la figure 1 illustre de façon schématique et fonctionnelle un ordinateur équipé d'un exemple de réalisation d'un dispositif de traitement selon l'invention, - la figure 2 illustre un exemple d'algorithme mettant en oeuvre un procédé 20 de détermination selon l'invention, et - la figure 3 illustre de façon schématique un exemple de topologie d'interconnexion optimisée, déterminé au moyen d'un procédé de détermination selon l'invention avec certains paramètres de topologie. L'invention a notamment pour objet de proposer un procédé de 25 détermination, et un dispositif de traitement DT associé, destinés à permettre la détermination d'une topologie d'interconnexion optimale d'un système S comprenant des noeuds de service Nij. Dans ce qui suit, on considère, à titre d'exemple non limitatif, que le système S est un calculateur haute performance (ou supercalculateur). Mais 30 l'invention n'est pas limitée à ce type de système. Elle concerne en effet tout système comprenant des noeuds de service interconnectés entre eux via des liaisons et constituant pour certains des routeurs ayant des ports et appartenant à au moins un niveau, et notamment les centres de données (ou 3040575 6 data centers). Comme indiqué plus haut, l'invention propose un procédé destiné à permettre la détermination d'une topologie d'interconnexion optimale d'un système S (ici un supercalculateur) comprenant des noeuds de service Klq 5 interconnectés entre eux via des liaisons et constituant pour certains des routeurs ayant des ports et appartenant à au moins un niveau. Ce procédé comprend des première et seconde étapes, référencées respectivement 10 et 20 dans l'exemple d'algorithme de la figure 2, et pouvant être mises en oeuvre par un dispositif de traitement DT selon l'invention. 10 Comme illustré sur la figure 1, un dispositif de traitement DT, selon l'invention, comprend au moins une interface de programmation INP et des moyens de résolution MR. Par exemple, l'interface de programmation INP peut être de type API (« Application Programming Interface »). A titre d'exemple non limitatif, elle 15 peut être réalisée à partir d'une librairie python, telle que celle appelée Pyomo. Il est rappelé que Pyomo est une librairie python permettant de générer, dans un format particulier (.nl) supporté par beaucoup de programmes de résolution d'équations, des systèmes d'équations préalablement déclarés et instanciés au moyen d'une API. 20 Dans l'exemple non limitatif illustré sur la figure 1, le dispositif de traitement DT est installé dans un équipement électronique EE agencé sous la forme d'un ordinateur et donc disposant notamment d'une interface homme/machine IH (ici un clavier et un écran d'affichage) et de ressources de calcul RC. Mais cela n'est pas obligatoire. Le dispositif de traitement DT 25 pourrait en effet être un équipement électronique disposant d'une interface homme/machine IH et de ressources de calcul RC. Ainsi, il pourrait s'agir d'un ordinateur portable ou d'une tablette électronique, par exemple. Par ailleurs, dans une variante de réalisation non illustrée, le dispositif de traitement DT pourrait être installé dans un équipement électronique EE agencé sous une 30 autre forme qu'un ordinateur, et notamment sous la forme d'un ordinateur portable ou d'une tablette électronique. Par conséquent, le dispositif de traitement DT peut être réalisé soit sous la forme de modules logiciels (ou informatiques, ou encore « software ») ; on est alors en présence d'un produit 3040575 7 programme d'ordinateur comprenant un jeu d'instructions qui, lorsqu'il est exécuté par des moyens de traitement de type circuits électroniques (ou « hardware »), est propre à mettre en oeuvre le procédé de détermination, soit sous la forme d'une combinaison de modules logiciels et de circuits 5 électroniques. Durant la première étape 10 du procédé selon l'invention, on (un usager de l'équipement électronique EE) commence par choisir, parmi un ensemble de structures définies chacune par au moins une contrainte structurelle, et au moyen de l'interface homme/machine IH, une structure pour o une topologie d'interconnexion optimale devant être déterminée pour un système S. L'ensemble de structures est fourni par l'interface de programmation INP du dispositif de traitement DT. Par exemple, cet ensemble peut comprendre au moins une structure de type hiérarchique (comme par exemple Fat tree ou Generalized Fat Tree (ou GFT) ou 15 Extended Generalized Fat Tree (ou XGFT) ou encore Parallel Generalized Fat Tree (ou PGFT)) et/ou au moins une structure en anneau et/ou une structure à maillage (comme par exemple HyperX). Par exemple, les structures hiérarchiques peuvent être définies chacune par au moins une contrainte structurelle fonction d'au moins deux 20 variables mi et wi, et parfois également d'une troisième variable pi, où l'indice i indexe le niveau auquel appartient un routeur au sein de la structure. mi est le nombre de noeuds de service Ni-11 d'un niveau i-1 connectés à un même routeur Nij d'un niveau i. wi est le nombre de routeurs Nij d'un niveau i connectés à un même noeud de service Ni-ijd'un niveau i-1. pi est le nombre 25 de liaisons (ou liens) entre un routeur Nij d'un niveau i et un noeud de service Ni-ijd'un niveau i -1. Ces variables m, w et p sont des vecteurs de dimension h. Avec le choix fait ci-dessus pour l'indexage, la valeur i = 0 est attribuée au niveau contenant les noeuds de service No] qui sont connectés à des routeurs Ni] (dits feuilles) du premier niveau (i = 1). 30 Ainsi, un GFT (Generalized Fat Tree) peut être défini par au moins une contrainte structurelle fonction des deux variables m et w (vecteurs de dimension égale à un), ainsi que par h, où vi E ft1,11]], chaque routeur Nij de niveau i est relié à m noeuds de service Ni-ijdu niveau inférieur i-1, et chaque 3040575 8 routeur de niveau i-1 est relié à w routeurs Nq du niveau supérieur i. Il peut donc être noté (h,m,w). Un XGFT (Extended Generalized Fat Tree) peut être défini par au moins une contrainte structurelle fonction des deux variables m et w (vecteurs 5 de dimension égale à h), ainsi que par h, où vi E Q1 ,h]], mi > 0 et wi > O. Il peut donc être noté (h,[mi, w2,...,wh]). Par ailleurs, il permet d'avoir des liaisons différentes (nombre de liaisons montantes/descendantes) pour les différents niveaux i de la structure en arbre. Un PGFT (Parallel Generalized Fat Tree) est un XGFT auquel on o ajoute le troisième vecteur p. Il peut donc être noté (h,[mi, p2,...,ph]). Il permet d'introduire la notion de redondance de liens entre deux noeuds de service de deux niveaux voisins. La première étape 10 se poursuit en choisissant au moins un paramètre de topologie parmi : 15 - un nombre maximal de ports des routeurs Nij (avec i 1), - un nombre h de niveaux de routeurs Nq (avec i 1), - un nombre de noeuds de service No] connectés à un routeur Ni] appartenant au premier niveau (i = 1), - un nombre de routeurs Ni-11 d'un niveau i-1 connectés à un même routeur 20 Nui d'un niveau i, - un nombre de routeurs Nij d'un niveau i connectés à un même noeud de service Ni-i1 d'un niveau i-1, et - un nombre de liaisons (ou liens) entre un routeur Nui d'un niveau i et un noeud de service Ni-i1 d'un niveau i -1. 25 On notera que l'usager de l'équipement électronique EE peut choisir au moyen de l'interface homme/machine IH chaque paramètre de topologie parmi une liste de paramètres de topologie fournie par l'interface de programmation INP. Cette liste peut, par exemple, être stockée dans des moyens de 30 stockage MS du dispositif de traitement DT. Ces moyens de stockage MS peuvent, par exemple, se présenter sous la forme d'une mémoire, éventuellement de type logiciel. 3040575 9 L'invention propose donc de définir de façon non ambigüe la structure de chaque topologie d'interconnexion à partir d'une ou plusieurs contraintes structurelles (définies chacune en fonction d'au moins une variable), en raison de la régularité des topologies d'interconnexion théoriques. On notera que ces 5 contraintes structurelles, et donc les structures des topologies d'interconnexion, peuvent même être exprimées sous forme d'équations mathématiques, comme indiqué ci-dessous. A titre d'exemple pour les structures PGFT, chaque contrainte structurelle peut être choisie parmi les inéquations suivantes vi E [1,h-1], où h 10 est le nombre de niveaux de routeurs de la topologie d'interconnexion : - pi*mi + pi±i*wi±i radixMax (cette contrainte structurelle permet de spécifier que le nombre de liaisons connectées à un routeur ne doit pas dépasser le nombre de ports disponibles sur ce routeur), - pn*mn radixMax, et 15 - wepi + noeudsParFeuille radixMax, où radixMax est le nombre maximal de ports de chaque routeur N1, et noeudsParFeuille est le nombre de noeuds de service No] connectés à un même routeur Ni] dit « feuille » du fait qu'il appartient au premier niveau. Egalement à titre d'exemple pour les structures XGFT, chaque 20 contrainte structurelle peut être choisie parmi les inéquations suivantes vi E [1,h-1], où h est le nombre de niveaux de routeurs de la topologie d'interconnexion : - mi + wi±i radixMax, - mn radixMax, et 25 - Wi + noeudsParFeuille radixMax. Egalement à titre d'exemple pour les structures GFT, chaque contrainte structurelle peut être choisie parmi les inéquations suivantes vi E [1,h-1], où h est le nombre de niveaux de routeurs de la topologie d'interconnexion : 30 - rrl + W radixMax, - m radixMax, et - w + noeudsParFeuille radixMax. 3040575 1 0 Durant la deuxième étape (20) du procédé selon l'invention, on détermine au moyen d'un solveur (défini par les moyens de résolution MR) la topologie d'interconnexion optimale du système S, en fonction d'au moins chaque contrainte structurelle correspondante et chaque paramètre de 5 topologie choisi dans la première étape (10) et d'au moins un critère d'optimisation choisi. Le choix de chaque critère d'optimisation peut, par exemple être effectué par l'usager dans la première étape 10. En variante, il peut se faire dans la seconde étape 20. Ce choix peut se faire au moyen de l'interface 10 homme/machine IH parmi une liste de critères d'optimisation fournie par l'interface de programmation INP. Cette liste peut, par exemple, être stockée dans les moyens de stockage MS du dispositif de traitement DT. Grâce à la définition de la structure de chaque topologie d'interconnexion à partir d'au moins une contrainte structurelle fonction d'au 15 moins une variable, on peut désormais déterminer la topologie d'interconnexion optimale d'un système S par résolution d'un problème d'optimisation au moyen d'un solveur (ou moyens de résolution MR). En d'autres termes, la séparation entre la modélisation de la structure et la méthode de résolution permet de déléguer la recherche de solutions 20 optimales à un outil mathématique (ou solveur) fiable et robuste. A titre d'exemple non limitatif, on peut utiliser le solveur appelé « Bonmin », lequel est capable de résoudre des systèmes d'équations non-linéaires à variables entières. Il permet de trouver des solutions précises en des temps réduits (typiquement quelques secondes pour des topologies de 25 64000 noeuds de service). En variante, on peut, par exemple, utiliser le solveur Ipopt. Par exemple, chaque critère d'optimisation peut être choisi parmi au moins le coût du système S, le niveau de performance souhaité du système S (par exemple sa puissance de calcul ou sa rapidité de calcul), l'extensibilité du 30 système S, la consommation d'énergie souhaitée du système S, des contraintes thermiques, notamment liées à l'environnement d'accueil du système S, et l'encombrement du système S (critère logistique). D'une manière générale un critère d'optimisation peut être n'importe quelle propriété 3040575 11 d'une topologie d'interconnexion. On notera que dans certaines situations l'utilisation des seules contraintes structurelles peut aboutir à une topologie d'interconnexion juste mais non utilisable dans la pratique. Par conséquent, dans la seconde étape 5 20, on peut déterminer la topologie d'interconnexion optimale en fonction également d'au moins une contrainte d'utilisation choisie. Par exemple, chaque contrainte d'utilisation peut être choisie parmi au moins : - une interdiction de connecter à un routeur Nij (avec i > 1) appartenant à un o niveau i donné plus de liaisons (ou liens) vers le niveau supérieur à ce niveau donné que de liaisons (ou liens) vers le niveau inférieur à ce niveau donné (en effet les liaisons inférieures ne pourront pas générer suffisamment de trafic pour que toutes les liaisons supérieures soient utilisées). Avec les exemples de définition des variables m, w, p et h 15 donnés plus haut, cette contrainte d'utilisation peut s'exprimer sous forme mathématique au moyen de l'inéquation wi+i mi, - une conservation d'une bande passante en entrée et en sortie de chaque routeur Nij (avec i > 1). Avec les exemples de définition des variables m, w, p et h donnés plus haut, cette contrainte d'utilisation peut s'exprimer sous 20 forme mathématique au moyen de l'équation facteursMini = facteursMaxi = 1, où facteursMini et facteursMaxi sont des facteurs de blocage minimal et maximal pour le niveau i considéré (un facteur de blocage étant un rapport de nombres de noeuds de service entre un niveau supérieur à un niveau i donné et un niveau inférieur à ce niveau i donné). Par exemple, on peut 25 utiliser les inéquations facteursMini pi±ewi±i/pi*mi facteursMaxi et facteursMini pewi/noeudsParFeuille facteursMaxi. Dans ce cas, si on n'a que des composantes égales à 1 pour facteursMini et facteursMaxi, on a 1 pewi/noeudsParFeuille 1 (pour le niveau 1, et la même chose pour les autres niveaux), et donc il y a conservation de la bande passante. En 30 revanche, si on a par exemple pour le niveau 1 facteursMini = 0,5 et facteursMaxi =1, on autorise jusqu'à une liaison montante pour deux descendantes, et donc il n'y a pas conservation de la bande passante. On notera que l'on pourrait ici utiliser d'autres formules, comme par exemple 3040575 12 facteursMini = 1 et facteursMaxi = 1 pour tous les i ou p +1 * w+1= p * mi, - un nombre minimum de noeuds de service N1. Avec les exemples de définition des variables m, h et noeudsParFeuille donnés plus haut, cette contrainte d'utilisation peut s'exprimer sous forme mathématique au moyen 5 de l'inéquation noeudsParFeuille*I-Imi (de i = 1 à h) minNoeuds, où minNoeuds est le nombre de noeuds de service No] connectés à des routeurs feuilles Ni] du premier niveau (i = 1), et - un nombre maximum de liaisons (ou liens) entre deux routeurs Klq. Cette contrainte d'utilisation permet d'éviter d'introduire une baisse de la 10 tolérance aux pannes si un routeur est défectueux. Avec l'exemple de définition de la variable p donné plus haut, cette contrainte d'utilisation peut s'exprimer sous forme mathématique au moyen de l'inéquation 1 1 et mi > 1. On notera également que l'usager de l'équipement électronique EE peut choisir au moyen de l'interface homme/machine IH chaque contrainte 25 d'utilisation parmi une liste de contraintes d'utilisation fournie par l'interface de programmation INP. Cette liste peut, par exemple, être stockée dans les moyens de stockage MS du dispositif de traitement DT. On a schématiquement illustré sur la figure 3 un exemple non limitatif de système S à structure PGFT définie par (h,m,w,p) = (2, [4,2], [2,2], [1,2]). 30 On considère ici que chaque routeur a quatre ports disponibles. Un exemple de construction de ce système S est donné ci-dessous. Pour la construction du premier niveau de routeurs Ni], on utilise la valeur de mi. Dans cet exemple, mi vaut 4 et donc les routeurs N21 du 3040575 13 deuxième niveau seront reliés à quatre routeurs feuilles Ni] différents du premier niveau. Puis, on utilise la valeur de m. Dans cet exemple, wi vaut 2 et donc chaque routeur feuille Ni] du premier niveau est relié à deux routeurs N21 du deuxième niveau. Puis, on utilise la valeur de pi. Dans cet exemple, pi 5 vaut 1 et donc on utilise une unique liaison (non redondante) entre les premier et deuxième niveaux. On appelle ci-après ilot de niveau 1 un groupe comprenant quatre routeurs Ni] (j = 1 à 4) du premier niveau et deux routeurs N21 (j = 1 à 2) du deuxième niveau. Dans cet exemple, le système comprend deux ilots de niveau 1. o Ensuite, on utilise la valeur de m2. Dans cet exemple, m2 vaut 2 et donc les routeurs N31 du troisième niveau seront reliés à deux routeurs N21 de deux ilots différents du niveau 2. Puis, on utilise la valeur de w2. Dans cet exemple, w2 vaut 2 et donc chaque routeur N21 du deuxième niveau sera relié à deux routeurs N31 différents appartenant au troisième niveau (et plus 15 précisément à des ilots de niveau 2 différents). Chaque ilot de niveau 1 ayant deux routeurs N21 du deuxième niveau, on a donc deux routeurs N31 dans chaque îlot de niveau 2. Ensuite, on complète les liaisons manquantes entre les deuxième et troisième niveaux, puis, la valeur de p2 étant égale à 2, on double chaque 20 liaison entre routeurs des deuxième et troisième niveaux. Enfin, dans le cas d'un supercalculateur S on ajoute des noeuds de calcul No] en les connectant aux routeurs Ni] du premier niveau. Ici, la liaison entre chaque noeud de calcul No] et le routeur Ni] correspondant est simple pour ne pas dépasser le nombre de ports disponibles sur ce routeur N1j. 25 Cette méthode de construction peut être mise en oeuvre par le solveur (ou moyens de résolution MR) pour le système S de la figure 3, avec toutes les contraintes structurelles et toutes les contraintes d'utilisation décrites plus haut, mais également avec le coût du système S comme critère d'optimisation. 30 L'invention ne se limite pas aux modes de réalisation de procédé de détermination, de dispositif de traitement, et d'équipement électronique décrits ci-avant, seulement à titre d'exemple, mais elle englobe toutes les variantes que pourra envisager l'homme de l'art dans le seul cadre des revendications REVENDICATIONS1. Procédé de détermination d'une topologie d'interconnexion optimale d'un système (S) comprenant des noeuds de service (NO interconnectés entre eux via des liaisons et constituant pour certains des routeurs ayant des ports et appartenant à au moins un niveau, caractérisé en ce qu'il comprend une première étape (10) dans laquelle on choisit une structure pour une topologie d'interconnexion optimale à déterminer parmi un ensemble de structures définies chacune par au moins une contrainte structurelle, puis on choisit au moins un paramètre de topologie parmi un nombre maximal de ports des routeurs, un nombre de niveaux de routeurs, un nombre de noeuds de service (NO connectés à un routeur appartenant au premier niveau et ci-après dit « routeur feuille », un nombre de noeuds de service d'un niveau i-1 connectés à un même routeur d'un niveau i, un nombre de routeurs d'un niveau i connectés à un même noeud de service d'un niveau i-1, un nombre de liaisons entre un routeur d'un niveau i et un noeud de service (Ni-11) d'un niveau i -1, et une seconde étape (20) dans laquelle on détermine au moyen d'un solveur ladite topologie d'interconnexion optimale en fonction d'au moins chaque contrainte structurelle correspondante et chaque paramètre de topologie choisi et d'au moins un critère d'optimisation choisi. 2. Procédé selon la revendication 1, caractérisé en ce que chaque critère d'optimisation est choisi dans un groupe comprenant un coût dudit système (S), un niveau de performance dudit système (S), une extensibilité dudit système (S), une consommation d'énergie dudit système (S), des contraintes thermiques, et un encombrement dudit système (S). 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que chaque contrainte structurelle est choisie dans un groupe d'inéquations comprenant pi*mi + pi+1*wi+1 radixMax, ph*mh radixMax, et wepi + noeudsParFeuille radixMax, où mi est le nombre de noeuds de service d'un niveau i-1 connectés à un même routeur d'un niveau i, wi est le nombre de routeurs d'un niveau i connectés à un même noeud de service d'un niveau i-1, pi est le nombre de liaisons entre un routeur d'un niveau i et un noeud de 3040575 16 service (Ni-11) d'un niveau i -1, radixMax est le nombre maximal de ports de chaque routeur, h est le nombre de niveaux de routeurs, et noeudsParFeuille est le nombre de noeuds de service (Noi) connectés à un même routeur (Ni]) appartenant audit premier niveau. 5 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que dans ladite seconde étape (20) on détermine ladite topologie d'interconnexion optimale en fonction également d'au moins une contrainte d'utilisation choisie. 5. Procédé selon la revendication 4, caractérisé en ce que chaque contrainte d'utilisation est choisie dans un groupe comprenant une interdiction 10 de connecter à un routeur appartenant à un niveau i donné plus de liaisons vers le niveau supérieur audit niveau donné que de liaisons vers le niveau inférieur audit niveau donné, une conservation d'une bande passante en entrée et en sortie de chaque routeur, une non conservation d'une bande passante en entrée et en sortie de chaque routeur, un nombre minimum de 15 noeuds de service (N1), un nombre maximum de liaisons entre deux routeurs. 6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que ledit système (S) est choisi dans un groupe comprenant un supercalculateur et un centre de données. 7. Produit programme d'ordinateur comprenant un jeu d'instructions 20 qui, lorsqu'il est exécuté par des moyens de traitement, est propre à mettre en oeuvre le procédé selon l'une des revendications précédentes pour déterminer une topologie d'interconnexion optimale d'un système (S) comprenant des noeuds de service (NO interconnectés entre eux via des liaisons et constituant pour certains des routeurs ayant des ports et appartenant à au moins un 25 niveau. 8. Dispositif de traitement (DT) pour déterminer une topologie d'interconnexion optimale d'un système (S) comprenant des noeuds de service (NO interconnectés entre eux via des liaisons et constituant pour certains des routeurs ayant des ports et appartenant à au moins un niveau, et 30 propre à équiper un équipement électronique (EE) comprenant des ressources de calcul (RC) et une interface homme/machine (IH), caractérisé en ce qu'il comprend i) une interface de programmation (INP) agencée pour permettre à un usager de choisir via ladite interface homme/machine (IH) une 3040575 17 structure pour une topologie d'interconnexion optimale à déterminer parmi un ensemble de structures définies chacune par au moins une contrainte structurelle, et au moins un paramètre de topologie choisi parmi un nombre maximal de ports des routeurs, un nombre de niveaux de routeurs, un nombre 5 de noeuds de service (NO connectés à un routeur appartenant au premier niveau, un nombre de noeuds de service d'un niveau i-1 connectés à un même routeur d'un niveau i, un nombre de routeurs d'un niveau i connectés à un même noeud de service d'un niveau i-1, un nombre de liaisons entre un routeur d'un niveau i et un noeud de service (Ni-11) d'un niveau i -1, et ii) des io moyens de résolution (MR) agencés pour déterminer ladite topologie d'interconnexion optimale en fonction d'au moins chaque contrainte structurelle correspondante et chaque paramètre de topologie choisi et d'au moins un critère d'optimisation choisi. 9. Equipement électronique (EE) comprenant des ressources de calcul 15 (RC) et une interface homme/machine (1H), caractérisé en ce qu'il comprend en outre un dispositif de traitement (DT) selon la revendication 8.