PROCEDE, PROGRAMME D'ORDINATEUR ET DISPOSITIF D'ALLOCATION DE RESSOURCES INFORMATIQUES D'UN CLUSTER POUR L'EXECUTION
D'UN TRAVAIL SOUMIS AUDIT CLUSTER
La présente invention concerne le placement de travaux soumis à un cluster et plus particulièrement un procédé, un programme d'ordinateur ainsi qu'un dispositif d'allocation de ressources informatiques du cluster pour l'exécution de travaux soumis à ce cluster.
Les clusters regroupent généralement des serveurs, des unités de stockage de données, des microprocesseurs et des équipements de télématique prenant la forme de rangées d'armoires informatiques (« racks » en anglais) dans lesquelles sont installés des équipements informatiques, par exemple de manière amovible.
Une pluralité de clusters est souvent rassemblée afin de former des centres d'hébergement informatique connus sous les terminologies anglophones (« data center » ou « server cluster »).
Les centres de traitement de données rassemblent généralement des centaines, parfois même des milliers de dispositifs électroniques à interconnecter via des équipements informatiques.
Ces équipements informatiques sont généralement portés par des lames insérées dans les armoires informatiques.
On assimile ici un équipement informatique à un nœud, autrement dit un équipement informatique de base pour le calcul. Chaque nœud forme donc un ordinateur indépendant et présente des caractéristiques qui lui sont propres telles que par exemple le nombre de cœurs qu'il comporte ainsi qu'une taille de mémoire prédéterminée (chaque cœur formant une unité de calcul).
Un ou plusieurs nœuds forment une zone de traitement, aussi appelée zone de calcul, et correspondent à des ressources informatiques d'un cluster. La zone de traitement peut dans certains cas être formée par seulement certains composants électroniques d'un nœud, voire au contraire par un grand nombre de nœuds.
Ces clusters comportent en outre généralement une unité de contrôle et de commande pourvue d'un système de gestion de travaux, aussi appelé gestionnaire de travaux.
Le gestionnaire de travaux est configuré pour recevoir un certain nombre de travaux commandés de l'extérieur du cluster.
On connaît des procédés d'allocation des ressources informatiques d'un cluster pour exécuter des travaux soumis à ce cluster, qui présentent l'étape de recevoir les travaux et de les mettre dans une file d'attente. Lorsqu'un nouveau travail est soumis, ce dernier est directement ajouté à la file d'attente, par exemple en fin de queue.
Pour leur exécution, les travaux soumis nécessitent des ressources informatiques correspondant à des besoins matériels, par exemple le nombre de cœurs nécessaires, la taille de mémoire nécessaire et/ou le niveau de priorité d'exécution de ce travail (par exemple minimal, normal ou maximal).
Ces procédés connus présentent en outre l'étape de recevoir des informations relatives aux caractéristiques matérielles des ressources informatiques du cluster ainsi que des caractéristiques de disponibilité de ces ressources. Cela signifie que le gestionnaire de travaux reçoit des informations concernant par exemple le nombre de cœurs de chaque nœud et la taille de mémoire prédéterminée de chaque cœur afin d'avoir connaissance des caractéristiques matérielles du cluster ou tout au moins d'une zone de traitement de ce cluster. En outre, cela signifie que le gestionnaire de travaux reçoit les caractéristiques de disponibilité de chacun de ces nœuds.
Ces procédés connus présentent en outre l'étape de déterminer l'allocation des ressources informatiques aux travaux listés en file d'attente et prêts à être exécutés, en fonction des caractéristiques matérielles de ces travaux (besoins matériels et priorité) et des caractéristiques matérielles et de disponibilité spécifiques à la zone de traitement (autrement dit spécifiques par exemple à chaque nœud de cette zone).
Le gestionnaire de travaux envoie ensuite un travail sélectionné dans la liste d'attente vers les ressources informatiques allouées de sorte que ce travail soit exécuté par le cluster.
Chaque nouveau travail ajouté à la file d'attente des travaux est ainsi exécuté selon les critères de ressources informatiques nécessaires disponibles et de priorité.
L'invention concerne des procédés d'allocation de ressources informatiques de cluster pour l'exécution de travaux visant à optimiser l'allocation des ressources en plaçant de manière plus précise et plus fine les travaux que dans les procédés de l'état de la technique, de manière simple, commode et économique.
L'invention a ainsi pour objet, sous un premier aspect, un procédé d'allocation de ressources informatiques d'un cluster pour l'exécution d'au moins un travail soumis audit cluster, comportant une étape de détermination du placement dudit au moins un travail soumis à partir de caractéristiques matérielles dudit au moins un travail et de caractéristiques matérielles et de disponibilité desdites ressources informatiques au moins d'une zone de traitement dudit cluster, ce procédé étant caractérisé en ce que ladite étape de détermination du placement dudit au moins un travail soumis comporte les étapes suivantes :
- recevoir des caractéristiques d'état énergétique desdites ressources informatiques au moins de ladite zone de traitement ;
- déterminer par corrélation desdites caractéristiques matérielles dudit au moins un travail, desdites caractéristiques matérielles, de disponibilité et d'état énergétique desdites ressources informatiques au moins de ladite zone de traitement, un placement préconisé dudit au moins travail, en fonction de règles prédéterminées ; et
- déduire dudit placement préconisé déterminé une liste préconisée d'allocation desdites ressources informatiques de ladite zone de traitement pour l'exécution dudit au moins un travail) dans ledit cluster.
Grâce à l'invention, le classement des travaux soumis et listés se fait selon une liste préconisée d'allocation des ressources informatiques pour l'exécution des travaux déterminée préalablement à leur exécution.
Cette liste préconisée d'allocation de ressources informatiques est avantageusement déterminée en fonction de données matérielles et de données de disponibilité associées à la zone de traitement du cluster où les
travaux soumis et listés pourraient être exécutés, en fonction de données matérielles associées à chaque travail soumis et listé et en fonction de données énergétiques associées à cette zone de traitement.
La combinaison de ces différentes données liées d'une part à chaque travail soumis et d'autre part à la zone de traitement, c'est-à-dire à au moins un composant électronique d'au moins un nœud du cluster, permet de prendre en compte l'aspect énergétique, lequel est caractérisé par exemple par la consommation électrique et/ou la dissipation thermique de la zone de traitement, dans l'allocation des ressources informatiques de cette zone de traitement pour l'exécution des travaux soumis et listés (aussi appelés plus simplement placement des travaux).
La prise en compte de cet aspect énergétique au sein du cluster permet de placer de manière précise et fine les travaux soumis et listés non pas en se basant seulement sur la priorité d'un travail donné, les besoins matériels de ce travail donné ainsi que la disponibilité des ressources informatiques de la zone de traitement, mais également en se basant sur l'état énergétique au moins de la zone de traitement et l'impact énergétique des travaux soumis et listés et prêts à être exécutés au moins sur cette zone de traitement, voire sur l'ensemble du cluster.
Le procédé selon l'invention offre donc la possibilité de corréler des informations sur l'état énergétique au moins de la zone de traitement, des informations sur l'état matériel et de disponibilité des ressources informatiques au moins de cette zone et des informations matérielles associées à chacun des travaux soumis et listés afin de placer ces derniers de façon optimale pour les exécuter, de manière simple, commode et économique.
Plus généralement, le procédé selon l'invention permet d'une part d'avoir une vision globale à la fois de l'état énergétique et de l'état matériel au moins de la zone de traitement, voire du cluster en entier, et de l'état matériel du travail soumis et listé, et d'autre part de corréler ces informations afin de déterminer l'impact énergétique sur au moins la zone de traitement, voire sur le cluster en entier, de l'exécution du travail par des ressources informatiques de la zone de traitement.
Selon des caractéristiques préférées, simples, commodes et économiques du procédé selon l'invention :
- il comporte en outre l'étape de transmettre ladite liste préconisée pour l'exécution dudit au moins un travail par lesdites ressources informatiques de ladite zone de traitement ;
- lesdites caractéristiques d'état énergétique correspondent à la dissipation thermique et/ou à la consommation électrique desdites ressources informatiques dudit cluster ; et ledit procédé comporte l'étape de déterminer des caractéristiques de dissipation thermique au moins desdites ressources informatiques de ladite zone de traitement et/ou l'étape de déterminer des caractéristiques de consommation électrique au moins desdites ressources informatiques de ladite zone de traitement ;
- il comporte l'étape de déterminer lesdites caractéristiques d'état énergétique desdites ressources informatiques au moins de ladite zone de traitement en fonction desdites caractéristiques de dissipation thermique et/ou desdites caractéristiques de consommation électrique au moins desdites ressources informatiques de ladite zone de traitement ;
- lesdites règles prédéterminées de corrélation et de placement prennent en considération l'impact énergétique sur lesdites ressources informatiques dudit cluster de l'exécution dudit au moins un travail ; et l'étape de déterminer un placement préconisé dudit au moins travail comporte l'étape de déterminer ledit impact énergétique lié à l'exécution dudit au moins un travail à partir desdites caractéristiques matérielles dudit au moins un travail et desdites caractéristiques d'état énergétique desdites ressources informatiques dudit cluster ;
- lesdites caractéristiques matérielles desdites ressources informatiques au moins de ladite zone de traitement dudit cluster correspondent au nombre d'unités de base de calcul et/ou à une taille mémoire desdites ressources informatiques ; et le procédé comporte l'étape de déterminer lesdites caractéristiques matérielles desdites ressources informatiques et l'étape de déterminer lesdites caractéristiques de disponibilité desdites ressources informatiques ;
- lesdites caractéristiques matérielles dudit au moins un travail correspondent au nombre d'unités de base de calcul et/ou à une taille mémoire nécessaires pour l'exécution dudit au moins un travail et/ou à une priorité d'exécution dudit au moins un travail ; et le procédé comporte l'étape de déterminer une liste desdites caractéristiques matérielles dudit au moins un travail en fonction dudit nombre d'unités de base de calcul et/ou de ladite taille mémoire nécessaires pour l'exécution dudit au moins un travail et/ou de ladite priorité d'exécution dudit au moins un travail ; et/ou
- il comporte l'étape de recevoir un profil énergétique associé audit au moins un travail et l'étape de déterminer une liste desdites caractéristiques matérielles dudit au moins un travail en fonction dudit profil énergétique associé audit au moins un travail.
L'invention a aussi pour objet, sous un deuxième aspect, un programme d'ordinateur comportant des instructions configurées pour mettre en œuvre chacune des étapes du procédé tel que décrit ci-dessus lorsque ledit programme est exécuté sur un ordinateur.
L'invention a également pour objet, sous un troisième aspect, un dispositif comportant des éléments systémiques configurés pour mettre en œuvre chacune des étapes du procédé.
Ce dispositif permet avantageusement de mettre en œuvre chacune des étapes du procédé tel que décrit ci-dessus de manière simple, commode et économique.
Selon des caractéristiques préférées, simples, commodes et économiques du dispositif selon l'invention, lesdits éléments systémiques sont formés par un gestionnaire de travaux et un gestionnaire d'énergie communiquant chacun indépendamment avec des ressources informatiques d'un cluster ; et un système de corrélation communiquant à la fois avec ledit gestionnaire de travaux et avec ledit gestionnaire d'énergie.
On va maintenant poursuivre l'exposé de l'invention par la description d'un exemple de réalisation, donnée ci-après à titre illustratif et non limitatif, en référence aux dessins annexés sur lesquels :
- la figure 1 représente très schématiquement un cluster pourvu d'au moins une zone de traitement et d'un dispositif configuré pour la mise en œuvre d'un procédé d'allocation de ressources informatiques du cluster pour l'exécution d'un travail soumis à ce cluster, conformément à l'invention ;
- la figure 2 représente très schématiquement un environnement de communication entre une ou plusieurs zones de traitement et le dispositif du cluster visible à la figure 1 ;
- la figure 3 illustre un exemple d'architecture d'au moins une ressource informatique du cluster illustré sur la figure 1 ;
- la figure 4 est un schéma-blocs illustrant différentes étapes de fonctionnement du procédé ;
- les figures 5 et 6 sont des schéma-blocs illustrant respectivement l'étape d'établir une base de caractéristiques d'état énergétique d'au moins une zone de traitement et l'étape d'établir un fichier de caractéristiques matérielles d'au moins un travail soumis ainsi qu'une base de caractéristiques matérielles et de disponibilité de ladite au moins une zone, pour la mise en œuvre des étapes de fonctionnement visibles à la figure 4 ;
- la figure 7 est un schéma-blocs montrant respectivement, l'étape d'établir un fichier de caractéristiques de dissipation thermique de chaque nœud formant une ressource informatique que comporte ladite au moins une zone de traitement, l'étape d'établir un fichier de caractéristiques de consommation électrique de chacun de ces noeuds, l'étape d'établir un fichier de caractéristiques matérielles de chacun de ces nœuds et l'étape d'établir un fichier de caractéristiques de disponibilité de chacun de ces nœuds, pour la mise en œuvre des étapes visibles sur les figures 5 et 6 ; et
- les figures 8 et 9 sont des schéma-blocs illustrant d'autres étapes de fonctionnement du procédé.
La figure 1 illustre très schématiquement un cluster 1 présentant plusieurs zones de traitement 2, ici au nombre de six, ainsi qu'un dispositif général de contrôle et de commande 6.
Chaque zone de traitement 2 forme une zone de calcul qui comporte plusieurs rangées d'armoires informatiques 3 dans lesquelles sont insérées des
lames d'équipements informatiques qui sont quant à eux formés chacun d'une pluralité de composants électroniques.
Chaque zone de traitement 2 présente une pluralité de nœuds 5 correspondant à un équipement informatique de base pour le calcul, c'est-à-dire un ordinateur indépendant.
Ici, on assimile un équipement informatique à un nœud 5.
Chaque nœud 5 forme ici une ressource informatique du cluster 1.
Chaque nœud 5 présente des caractéristiques qui lui sont propres qui seront décrites ci-après en référence à la figure 3.
Le dispositif général de contrôle et de commande 6 est pourvu d'interfaces de communication permettant notamment la réception de données d'entrée issues de l'extérieur du cluster 1 , telles que par exemple la réception de travaux T à exécuter au sein du cluster 1.
Ce dispositif général de contrôle et de commande 6 est en outre pourvu d'éléments systémiques 7, 8 et 9 qui sont formés respectivement par un gestionnaire de travaux 7, un gestionnaire d'énergie 8 et un système de corrélation 9 qui communiquent et interagissent entre eux et avec les nœuds 5 du cluster 1 , comme cela est décrit ci-après en référence à la figure 2.
La figure 2 représente l'environnement interactif communiquant entre une zone de traitement 2 du cluster 1 , en particulier une pluralité de nœuds 5 disposés dans des lames 4, avec les éléments systémiques qui sont formés par le gestionnaire de travaux 7, le gestionnaire d'énergie 8 et le système de corrélation 9.
Ici, la zone de traitement 2 est formées de quatre armoires informatiques 3 pourvues chacune d'une pluralité de lames 4 disposées sur trois hauteurs d'emplacement que l'on nommera niveau haut, niveau central et niveau bas en référence à la figure 2.
Chaque lame 4 est pourvue d'une pluralité de nœuds 5 dont le nombre est ici prédéterminé.
La première armoire informatique 3 est pourvue des nœuds 5 numérotés de 0 à n, la deuxième armoire informatique 3 est pourvue des nœuds 5 numérotés de n+1 à 2n+1 , la troisième armoire informatique 3 est
pourvue des nœuds 5 numérotés de 2n+2 à 3n+3 et la quatrième armoire informatique 3 est pourvue des nœuds 5 numérotés de 3n+4 à 4n+5.
Le gestionnaire de travaux 7 est configuré pour recevoir des données d'entrée soumises au cluster 1 , correspondant à des données caractéristiques d'un travail T à exécuter dans au moins la zone de traitement prédéterminée 2 du cluster 1.
Ce gestionnaire de travaux 7 est en outre configuré pour communiquer de manière réciproque à la fois avec les nœuds 5 au moins de la zone de traitement 2 du cluster 1 et avec le système de corrélation 9.
Cela signifie que le gestionnaire de travaux 7 est configuré pour recevoir des informations relatives aux nœuds 5 et provenant au moins de la zone de traitement 2, pour transmettre des informations à ces nœuds 5, pour recevoir des informations du système de corrélation 9 et pour transmettre des informations à ce système de corrélation 9.
Le gestionnaire d'énergie 8 est quant à lui configuré pour communiquer avec à la fois les nœuds 5 au moins de la zone de traitement 2 du cluster 1 et avec le système de corrélation 9 ; en ce sens que le gestionnaire d'énergie 8 est configuré pour recevoir des informations relatives aux nœuds 5 au moins de cette zone de traitement 2 et pour transmettre des informations au système de corrélation 9.
Ainsi, le système de corrélation 9 est configuré pour communiquer avec le gestionnaire d'énergie 8 en ce sens qu'il est configuré pour recevoir des informations de ce système d'énergie 8 ; et pour communiquer de manière réciproque avec le gestionnaire de travaux 7 en ce sens qu'il est configuré pour recevoir des informations de ce gestionnaire de travaux 7 et pour transmettre des informations à ce gestionnaire de travaux 7.
Ici, la zone de traitement 2 est configurée pour transmettre des informations relatives aux caractéristiques matérielles et de disponibilité des nœuds 5 (formant les ressources informatiques) au gestionnaire de travaux 7 et des informations relatives à des caractéristiques de l'état énergétique de ces nœuds 5 au gestionnaire d'énergie 8.
Le gestionnaire d'énergie 8 est quant à lui configuré pour transmettre une base de données informatives relative aux caractéristiques énergétiques au moins de la zone de traitement 2 du cluster 1 au système de corrélation 9.
Le gestionnaire de travaux 7 est quant à lui configuré pour transmettre des informations relatives aux caractéristiques matérielles de chaque travail T qui lui est soumis au système de corrélation 9.
Le système de corrélation 9 est quant à lui configuré pour transmettre des informations relatives à une allocation préconisée des nœuds 5 pour l'exécution d'au moins un travail T au gestionnaire de travaux 7, ce dernier étant en outre configuré pour transmettre des informations relatives aux nœuds 5 (c'est-à-dire aux ressources informatiques) qui ont été choisis pour l'exécution de ce travail T au moins parmi les nœuds 5 de la zone de traitement prédéterminée 2 elle-même choisie pour l'exécution du travail T.
Un exemple d'architecture d'un nœud 5 du cluster 1 est illustré sur la figure 3.
Le nœud 5 comporte ici un bus de communication 51 auquel sont connectés des unités centrales de traitement ou microprocesseurs 52 (ou CPU, sigle de « Central Processing Unit » en terminologie anglo-saxonne), des composants de mémoire vive 53 (RAM, acronyme de « Random Access Memory » en terminologie anglo-saxonne) comportant des registres adaptés à enregistrer des variables des paramètres créés et modifiés au cours de l'exécution de programmes, des interfaces de communication 54 configurées pour transmettre et recevoir des données ; et des éléments de stockage interne 55, tels que des disques durs, pouvant notamment comporter le code exécutable de programmes permettant aux nœuds 5 de mettre en œuvre un travail T.
Ici, chaque composant de mémoire vive 53 est associé à un microprocesseur 52 ou est commun aux composants électroniques du nœud 5.
Le bus de communication 51 permet la communication et l'interopérabilité entre les différents composants électroniques que comporte le nœud 5 ou qui sont connectés à lui.
La représentation du bus 51 n'est pas limitative, et notamment, les microprocesseurs 52 sont susceptibles de communiquer des instructions à tout composant électronique du nœud 5 directement ou par l'intermédiaire d'un autre composant électronique du nœud 5.
De manière générale, le ou les programmes mis en œuvre peuvent être chargés par un des composants électroniques de stockage ou de communication du nœud 5 avant d'être exécutés.
Les microprocesseurs 52 commandent et dirigent l'exécution des instructions ou portions de code de logiciel du ou des programmes qui peuvent être mis en œuvre dans le nœud 5. Lors de la mise sous tension, le ou les programmes qui sont stockés dans une mémoire non volatile, par exemple un disque dur, sont transférés dans la mémoire vive 53 qui contient alors le code exécutable du ou des programmes mis en œuvre, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en œuvre de ces programmes.
Chaque nœud 5 présente donc un certain nombre de composants électroniques 52 à 55 ainsi que des caractéristiques matérielles qui lui sont propres.
Ces caractéristiques matérielles correspondent par exemple au nombre de microprocesseurs 52 qu'il comporte, au nombre de cœurs formant chacun une unité de calcul et présentant chacun une taille de mémoire prédéterminée, la taille de mémoire vive totale, la taille de mémoire de disque dur, la fréquence maximale d'utilisation des microprocesseurs 52, l'utilisation totale de la bande passante mémoire et des entrées/sorties, la température du nœud 5 ou la température individuelle d'un composant électronique du nœud 5 et la puissance électrique consommée par le nœud 5 ou la puissance électrique individuelle consommée par un composant électronique du nœud 5.
Ces caractéristiques propres au nœud 5 sont pour certaines prédéterminées (nombre de microprocesseurs, nombre de cœurs, taille de mémoire totale, taille de mémoire vive, taille de mémoire du disque dur et fréquence maximale d'utilisation des microprocesseurs) et d'autres caractéristiques sont dynamiques, c'est-à-dire qu'elles varient en fonction de
l'utilisation du nœud 5 et qu'elles sont déterminées à un instant donné (utilisation de la bande passante mémoire et des entrées/sorties, température, puissance électrique consommée et fréquence d'utilisation du microprocesseur).
On observera que les caractéristiques propres au nœud 5 qui sont prédéterminées sont toutefois évolutives, c'est-à-dire qu'elles peuvent être modifiées par exemple par la suppression, le remplacement et/ou l'ajout de composants électroniques, voire via des moyens logiciels (en agissant sur le BIOS pour « Basic Input Output System » en terminologie anglo-saxonne).
On observera que l'architecture illustrée sur la figure 3 correspond à celle d'un nœud 5, c'est-à-dire d'une ressource informatique, d'une zone de traitement 2 du cluster 1 mais qu'il pourrait s'agir à l'identique, ou tout au moins de manière similaire, de l'architecture d'une partie du dispositif général de contrôle et de commande 6 qui est configuré pour mettre en œuvre un algorithme décrit ci-après en référence aux figures 4 à 9.
Le cas échéant, les microprocesseurs commandent et dirigent l'exécution des instructions ou portions de code de logiciel du ou des programmes selon l'invention pour la mise en œuvre du procédé selon l'invention, décrit ci-après.
On va maintenant décrire en référence aux figures 4 à 9 le procédé d'allocation des ressources informatiques, c'est-à-dire des nœuds 5 d'une zone de traitement prédéterminée 2 du cluster 1 pour l'exécution d'au moins un travail T soumis au cluster 1.
La figure 4 est un schéma-blocs des étapes permettant la détermination par le système de corrélation 9 du placement d'au moins un travail T soumis au gestionnaire de travaux 7.
Le système de corrélation 9 reçoit à l'étape 100 un fichier listant les caractéristiques matérielles d'au moins un travail T. On verra ci-après en référence à la figure 6 quelles sont ces caractéristiques matérielles.
Le système de corrélation 9 reçoit en outre à l'étape 101 une base de données regroupant les caractéristiques matérielles des ressources informatiques, c'est-à-dire des nœuds 5, d'une zone de traitement
prédéterminée 2 ainsi que les caractéristiques de disponibilité des nœuds 5 de cette zone de traitement 2. On verra ci-après à quoi correspondent les caractéristiques matérielles des noeuds 5 de cette zone 2 en référence également à la figure 6.
Ici, la zone de traitement prédéterminée 2 correspond à plusieurs nœuds 5 du cluster 1.
Le système de corrélation 9 reçoit également à l'étape 102 une base de données regroupant les caractéristiques d'état énergétique des nœuds 5 de la zone de traitement prédéterminée 2. On verra ci-après à quelles informations correspondent ces caractéristiques d'état énergétique en référence à la figure 5.
On observera que le fichier reçu par le système de corrélation 9 à l'étape 100 peut regrouper les caractéristiques matérielles de plusieurs travaux T soumis au cluster 1 et reçus par le gestionnaire de travaux 7.
En outre, on observera que les bases de données reçues par le système de corrélation 9 aux étapes 101 et 102 peuvent regrouper les caractéristiques matérielles, de disponibilité et d'état énergétique, non pas seulement de la zone de traitement prédéterminée, mais aussi d'autres zones de traitement du cluster 1 , voire de l'intégralité du cluster 1.
On observera encore que la base de données reçue par le système de corrélation à l'étape 102 provient en fait d'une autre partie de ce même système de corrélation 9 puisque c'est ce dernier qui détermine préalablement, dans cette autre partie, cette base de données.
Le système de corrélation 9 détermine ensuite à l'étape 103 un placement préconisé du travail T ou des travaux T listés dans le fichier reçu à l'étape 100 en fonction de règles prédéterminées préalablement chargées par le biais d'un fichier pourvu de ces règles dans le dispositif général de contrôle et de commande 6 pour être pris en compte dans le système de corrélation 9.
Cette étape de détermination 103 est effectuée par corrélation des caractéristiques matérielles du ou des travaux T et des caractéristiques matérielles, de disponibilité et d'état énergétique des nœuds 5 au moins de la zone de traitement prédéterminée 2.
Les règles prédéterminées de corrélation des caractéristiques susmentionnées qui concernent les travaux T et les nœuds 5 d'au moins la zone de traitement prédéterminée 2 et de placement de ces travaux T prennent en considération l'impact énergétique sur les nœuds 5 de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1 , lié à l'exécution d'au moins un travail T parmi ces travaux T. On verra ci-après un exemple d'ensemble de règles prédéterminées de corrélation et de placement.
Ainsi, l'étape 103 de déterminer un placement préconisé d'au moins un travail T parmi les travaux T comporte l'étape de déterminer l'impact énergétique lié à l'exécution de ce travail T parmi les travaux T à partir des caractéristiques matérielles dudit travail T reçues à l'étape 100 et les caractéristiques d'état énergétique des nœuds 5 au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1 , reçues à l'étape 102.
Le système de corrélation 9 déduit ensuite à cette même étape 103 une liste préconisée d'allocations des nœuds 5 de la zone de traitement prédéterminée 2 pour l'exécution d'au moins un travail T parmi les travaux T dans le cluster 1. Le système de corrélation 9 génère ainsi un fichier établissant une liste préconisée d'allocations des nœuds 5 pour l'exécution du ou des travaux T et transmet (ou envoie) à l'étape 104 ce fichier au gestionnaire de travaux 7 pour l'exécution du ou des travaux T par les nœuds 5, préconisés ou pas, de la zone de traitement prédéterminée 2.
La figure 8 est un schéma-blocs des étapes permettant la transmission du choix d'allocations des nœuds 5 de la zone de traitement prédéterminée 2 par le gestionnaire de travaux 7 à cette même zone 2.
Le gestionnaire de travaux 7 reçoit à l'étape 140 le fichier pourvu de la liste préconisée d'allocations des nœuds 5 de la zone de traitement prédéterminée 2 pour l'exécution d'un ou des travaux T.
Le gestionnaire de travaux 7 détermine ensuite à l'étape 141 l'allocation définitive des nœuds 5 de la zone de traitement prédéterminée 2 ou d'une autre zone de traitement du cluster 1 pour l'exécution d'un ou des travaux T.
Cette étape 141 de détermination est réalisée en fonction de règles pourvues de critères prépondérants de sorte qu'un poids (autrement dit une priorité ou encore une importance) peut être mis par exemple sur la priorité d'exécution donnée aux travaux T ou sur les règles prédéterminées de corrélation mises en œuvre par le système de corrélation 9.
Autrement dit, les règles du gestionnaire de travaux 7 permettent de définir si un utilisateur du cluster 1 privilégie l'économie d'énergie ou la rapidité de soumission du ou des travaux T.
Il se peut qu'aucun poids supplémentaire ne soit donné à ces deux critères.
Le gestionnaire de travaux 7 transmet (ou envoie) ensuite à l'étape 142 le fichier correspondant au choix définitif d'allocations du ou des travaux T aux ressources informatiques, c'est-à-dire aux nœuds 5, de la zone de traitement prédéterminée 2 du cluster 1 , ou d'une autre zone de traitement en fonction du choix fait par le gestionnaire de travaux 7.
On observera que l'on parle ici de choix définitif à l'étape 141 mais il se peut que ce choix soit modifié en fonction des informations reçues par le gestionnaire de travaux 7, par exemple dans le cas où le système de corrélation 9 transmet un nouveau fichier listant les allocations préconisées. En effet, le système de corrélation 9 reçoit des informations (étapes 100, 101 et 102) en permanence, c'est-à-dire de manière dynamique, et donc détermine une liste préconisée d'allocations également de manière dynamique (étape 103) et est donc susceptible d'envoyer de tels fichiers listant les allocations préconisées (étape 104) également de manière dynamique.
La figure 9 est un schéma-blocs des étapes permettant l'exécution du travail T ou des travaux T par les nœuds 5 du cluster 1.
Les nœuds 5 du cluster 1 qui sont alloués pour l'exécution d'un travail T reçoivent à l'étape 150 le fichier listant les choix définitifs d'allocations de ces nœuds 5 pour l'exécution d'au moins un travail T.
Chaque nœud 5, ou seulement chaque partie de nœud 5 ou encore chaque groupe de nœuds 5, exécute alors à l'étape 151 le travail T auquel ce nœud 5 est alloué.
La figure 6 montre un schéma-blocs des étapes permettant la détermination de la liste des caractéristiques matérielles du ou des travaux T soumis au gestionnaire de travaux 7.
Le gestionnaire de travaux 7 reçoit à l'étape 120 un fichier de caractéristiques matérielles du ou des travaux T qui lui sont soumis.
Le gestionnaire de travaux 7 reçoit en outre à l'étape 121 un fichier présentant un profil énergétique de chacun des travaux T qui lui sont soumis.
On observera que les caractéristiques matérielles de chaque travail T correspondent au nombre d'unités de base de calcul nécessaires pour l'exécution de ce travail T, et/ou à une taille mémoire nécessaire pour l'exécution de travail T et/ou à une priorité d'exécution de ce travail T.
On observera encore qu'un profil énergétique peut être associé à chaque travail T soumis au gestionnaire de travaux 7.
Le profil énergétique d'un travail T est en fait une analyse préalable de l'impact énergétique de ce travail T avec un relevé précis des besoins en termes notamment de puissance énergétique, autrement dit de puissance électrique consommée par le ou les nœuds 5 qui pourraient exécuter ce travail T lors de son exécution, et/ou en termes de dissipation thermique du ou des nœuds 5 qui pourraient exécuter ce travail T lors de son exécution, autrement dit l'élévation en température de ce ou ces nœuds 5.
Un profil énergétique d'un travail T se traduit par exemple par des caractéristiques de fréquence d'utilisation des processeurs 52 d'un nœud 5 et /ou de pourcentage d'utilisation de la bande passante mémoire de ce nœud 5 et/ou des entrées/sorties.
Le gestionnaire de travaux 7 détermine ensuite à l'étape 122 un fichier listant le ou les travaux T qui lui sont soumis et pour chaque travail T, les caractéristiques matérielles de ce travail T associées au profil énergétique de ce dernier.
Autrement dit, à cette étape 122, le gestionnaire de travaux détermine une liste des caractéristiques matérielles du ou des travaux T qui lui sont soumis en fonction du nombre d'unités de base de calcul et/ou de la taille mémoire nécessaire pour l'exécution de ce ou ces travaux T et/ou de la priorité
d'exécution de ce ou ces travaux T et/ou du profil énergétique de ce ou ces travaux T.
Le gestionnaire de travaux 7 transmet (ou envoie) ensuite à l'étape 123 le fichier listant les caractéristiques matérielles d'au moins un travail T (soumis à ce gestionnaire de travaux 7) vers le système de corrélation 9 (qui le reçoit à l'étape 100 visible figure 4).
La figure 7 montre un schéma-blocs des étapes permettant la détermination des caractéristiques matérielles des nœuds 5 au moins de la zone de traitement prédéterminée 2 du cluster 1 et des caractéristiques de disponibilité de ces nœuds 5.
Le cluster 1 détermine à l'étape 134 les caractéristiques matérielles de chaque nœud 5 qu'il comporte.
Autrement dit, ces caractéristiques matérielles correspondent au nombre d'unités de base de calcul et/ou à une taille mémoire de chaque nœud 5.
Le cluster 1 transmet (ou envoie) à l'étape 135 un fichier généré à l'étape 134 pourvu des caractéristiques matérielles des nœuds 5 au moins de la zone de traitement prédéterminée 2 du cluster 1 , voire de la totalité du cluster 1, au gestionnaire de travaux 7.
Le cluster 1 détermine également à l'étape 136 les caractéristiques de disponibilité de chaque nœud 5 au moins de la zone de traitement 2 du cluster 1 , voire de la totalité du cluster 1.
Ces caractéristiques de disponibilité correspondent, à un instant donné, à la fréquence à laquelle tournent les microprocesseurs et/ou au pourcentage d'utilisation de la bande passante mémoire et/ou des entrées/sorties de ces nœuds 5.
Le cluster 1 transmet en outre (ou envoie) à l'étape 137 un fichier des caractéristiques de disponibilité des nœuds 5 au moins de la zone de traitement prédéterminée 2 du cluster 1 , voire de la totalité du cluster 1 , lequel fichier a été préalablement généré à l'étape 136. Ce fichier est transmis par le cluster 1 au gestionnaire de travaux 7.
La figure 6 montre en outre un schéma-blocs des étapes permettant la détermination des caractéristiques matérielles et de disponibilité de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1.
Le gestionnaire de travaux 7 reçoit à l'étape 124 un fichier regroupant les fichiers générés aux étapes 134 et 136 par le cluster 1 , autrement dit un fichier regroupant les caractéristiques matérielles et de disponibilité de chaque nœud 5 au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1.
Le gestionnaire de travaux 7 détermine à l'étape 125, à partir des caractéristiques associées aux nœuds 5 reçues avec le fichier à l'étape 124, les caractéristiques matérielles et de disponibilité au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1.
Ces caractéristiques matérielles et de disponibilité sont similaires à celles correspondant à chaque nœud 5 si ce n'est qu'elles concernent désormais des ensembles de nœuds 5, autrement dit une zone, voire un ensemble de zones, voire encore la totalité du cluster 1.
Le gestionnaire de travaux 7 génère à cette même étape 125 une base de données regroupant les caractéristiques matérielles et de disponibilité au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1 , et transmet (ou envoie) cette base de données à l'étape 126 vers le système de corrélation 9 (ce dernier reçoit cette base de données à l'étape 120 visible à la figure 4).
La figure 7 montre en outre les schéma-blocs des étapes permettant la détermination des caractéristiques de dissipation thermique et la détermination des caractéristiques de consommation électrique des nœuds 5 d'au moins la zone de traitement prédéterminée 2, voire de la totalité du cluster 1.
Le cluster 1 détermine à l'étape 130 les caractéristiques de dissipation thermique de chacun de ces nœuds 5, correspondant particulièrement à la zone de traitement prédéterminée 2, voire à la totalité du cluster 1.
Le cluster 1 génère à cette même étape 130 un fichier de caractéristiques de dissipation des noeuds 5 au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1 , puis transmet (ou envoie) ce fichier à l'étape 131 vers le système de corrélation 9.
Le cluster 1 détermine en outre à l'étape 132 les caractéristiques de consommation électrique de chacun des nœuds 5 du cluster 1 , en particulier des nœuds 5 de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1.
Le cluster 1 génère en outre à cette même étape 132 un fichier de caractéristiques de consommation électrique des nœuds 5 au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1 , puis transmet (ou envoie) ce fichier à l'étape 133 vers le système de corrélation 9.
La figure 5 est un schéma-blocs des étapes permettant la détermination des caractéristiques énergétiques de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1.
On observera que les caractéristiques d'état énergétique correspondent à la dissipation thermique et/ou à la consommation électrique, autrement dit à la puissance électrique consommée, des nœuds 5 au moins de la zone de traitement prédéterminée 2, voire du cluster 1.
Le système de corrélation 9 reçoit également aux étapes 110 et 111, respectivement un fichier des caractéristiques de dissipation thermique des nœuds 5 au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1 , et un fichier de caractéristiques de consommation électrique des nœuds 5 au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1.
Le système de corrélation 9 détermine à l'étape 112 les caractéristiques d'état énergétique au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1 , en fonction des caractéristiques des fichiers reçus aux étapes 110 et 111.
Le système de corrélation 9 génère en outre à cette même étape 112 une base de données regroupant les caractéristiques d'état énergétique au moins de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1 ,
puis transmet (ou envoie) à l'étape 113 cette base de données vers une autre partie de ce système de corrélation 9, qui reçoit à l'étape 102 (figure 4) cette base de données sur laquelle ce système de corrélation 9 se base entre autre pour déterminer le placement préconisé du ou des travaux T à l'étape 103.
Le procédé d'allocation des noeuds 5 d'au moins une zone de traitement prédéterminée 2 du cluster 1 pour l'exécution d'au moins un travail T soumis à ce cluster 1 , en particulier à son gestionnaire de travaux 7, permet avantageusement d'améliorer l'impact énergétique de la totalité du cluster 1 en réduisant notamment la puissance électrique consommée par ce cluster 1 , ce qui est particulièrement important dans le contexte des clusters et des centres d'hébergement informatique qui, avec les procédés d'allocation antérieur susmentionnés, peuvent consommer des puissances électriques extrêmement élevées.
En effet, la prise en compte de la consommation électrique de la totalité du cluster 1 , en prenant en compte chaque zone de traitement prédéterminée 2, voire chaque nœud 5, permet d'optimiser le placement du ou des travaux T en se basant sur ce critère de consommation électrique.
On observera que la prise en compte également d'un critère lié à la dissipation thermique de la totalité du cluster 1 , ou tout au moins de chaque zone de traitement prédéterminée 2, voire de chaque nœud 5, permet encore d'optimiser le placement du ou des travaux T.
En effet, la prise en compte de ce critère thermique est directement en lien avec la consommation électrique, puisqu'un nœud 5 qui présente une puissance électrique consommée maximale peut générer une élévation en température de lui-même et la dissipation thermique engendrée risque d'affecter les nœuds environnant.
On va maintenant décrire un exemple concret qui est ici particulièrement simple.
Le gestionnaire de travaux 7 reçoit un travail T présentant un certain nombre de caractéristiques matérielles ainsi qu'un profil énergétique.
Les caractéristiques matérielles de ce travail T sont définies par un besoin de deux cent cinquante six cœurs, avec 4Go de mémoire par cœur ainsi qu'une priorité d'exécution maximale.
Le profil énergétique de ce travail T définit un besoin énergétique nécessitant que les microprocesseurs 52 des nœuds 5 qui auront à exécuter ce travail T tournent à plein régime, c'est-à-dire qu'ils présentent une fréquence maximale, et nécessitant l'utilisation totale de la bande passante mémoire et des entrées/sorties, ce qui signifie une consommation énergétique maximale par nœud 5.
Dans cet exemple, la zone de traitement prédéterminée 2 est pourvue de quatre armoires informatiques 3 qui présentent chacune cinquante- quatre nœuds numérotés respectivement n°0 à n°53 pour la première armoire, n°54 à n°107 pour la deuxième armoire, n°108 à n°162 pour la troisième armoire et n°163 à n°217 pour la quatrième armoire.
Seuls les nœuds n°54 à n°162 sont des nœuds ayant 4Go par cœur et présentant seize cœurs par nœud, les autres nœuds ne présentent pas ces caractéristiques matérielles.
Les nœuds n°54 à n°162 sont également des nœuds qui sont disponibles pour l'exécution du travail T.
On a donc ici déterminé le fichier listant les caractéristiques matérielles du travail T et la base de données regroupant les caractéristiques matérielles et de disponibilité de la zone de traitement 2.
Dans l'exemple, on admettra que la consommation instantanée du cluster 1 , en particulier de la zone de traitement prédéterminée 2, est la suivante :
- la première armoire informatique 3 qui comporte les nœuds n°0 à n°53 présente sur ses trois niveaux (haut, central et bas) une consommation énergétique maximale ;
- la deuxième informatique 3 pourvue des nœuds n°54 à n°107 présente sur son niveau haut et sur son niveau bas une consommation énergétique minimale et sur son niveau central une consommation énergétique moyenne ;
- la troisième armoire informatique 3 pourvue des nœuds n°108 à n°162 présente sur ses trois niveaux une consommation énergétique moyenne ; et
- la quatrième armoire informatique 3 pourvue des nœuds n°163 à n°217 présente sur son niveau haut et sur son niveau central une consommation énergétique moyenne et sur son niveau bas une consommation énergétique minimale.
On admettra également que la dissipation thermique instantanée du cluster 1 , en particulier de la zone de traitement prédéterminée 2, est la suivante :
- la première armoire informatique 3 pourvue des nœuds n°0 à n°53 présente sur ses trois niveaux une dissipation thermique maximale ;
- la deuxième armoire informatique 3 pourvue des nœuds n°54 à n°107 présente sur son niveau haut et sur son niveau bas une dissipation thermique moyenne et sur son niveau central une dissipation thermique maximale ; et
- les troisième et quatrième armoires informatiques 3 pourvues respectivement des nœuds n°108 à n°162 et n°163 à n°217 présentent chacune sur ses trois niveaux une dissipation thermique moyenne.
Ces informations relatives à l'état énergétique des nœuds 5 de la zone de traitement prédéterminée 2 permettent d'établir la base de données des caractéristiques énergétiques de la zone de traitement prédéterminée 2, voire de la totalité du cluster 1.
Dans l'exemple décrit ici, on admettra également que la politique de classement des travaux T, c'est-à-dire les règles prédéterminées qui sont chargées dans le système de corrélation 9, est basée sur la corrélation entre la consommation énergétique actuelle (autrement dit avant l'exécution du travail T), la dissipation énergétique actuelle et le risque d'étendre la zone de dissipation thermique, c'est-à-dire que les nœuds 5 qui se trouvent en dissipation thermique moyenne ou minimale soient impactés par des nœuds 5 adjacents se trouvant en dissipation thermique maximale et entraînant donc une augmentation de la température des nœuds 5 qui se trouvent en
dissipation thermique moyenne ou minimale et ainsi une augmentation de leur propre dissipation thermique.
Le système de corrélation 9 va alors déterminer un fichier d'allocations préconisées des nœuds 5 pour l'exécution du travail T.
On a vu que les nœuds n°54 à n°162 sont potentiellement des nœuds pouvant exécuter le travail T et donc que ces nœuds peuvent potentiellement être alloués à ce travail T.
On a vu également que les nœuds n°54 à n°107 sont plus exposés en termes de consommation énergétique (autrement dit en consommation électrique) que les nœuds n°108 à n°162.
Etant donné que les besoins (profil énergétique du travail T) sont d'abord des nœuds à puissance maximale (par exemple ayant une fréquence de microprocesseur maximale) et que la politique de placement (c'est-à-dire les règles prédéterminées du système de corrélation 9) est de limiter l'impact sur des nœuds 5 ayant une dissipation thermique normale ou minimale, il n'est donc pas judicieux de prendre les nœuds n°108 à n°162 étant donné leur position géographique. En effet, l'augmentation de la température des nœuds n°108 à n°162 aurait directement un impact sur les nœuds adjacents n°54 à n°107 et n°163 à n°217.
La sélection préconisée des nœuds 5 pour l'exécution du travail T est donc plus judicieusement choisie parmi les nœuds n°54 à n°107.
On a vu que parmi ces nœuds n°54 à n°107, les nœuds n°72 à n°90 correspondant au niveau central de la deuxième armoire informatique 3 sont en dissipation thermique maximale.
Il est donc plus judicieux d'utiliser des nœuds n°54 à n°71 et/ou les nœuds n°91 à n°107 correspondant respectivement au niveau haut et au niveau bas de la deuxième armoire informatique 3 plutôt que les nœuds n°72 à n°90.
Sachant que géographiquement, les nœuds n°54 à n°71 sont en haut de la deuxième armoire informatique 3 (niveau haut), on admettra qu'on privilégie leur utilisation car la chaleur s'évacue plus facilement par le haut.
S'agissant des lames 4 de composants électroniques, dans le châssis de cette deuxième armoire informatique 3, il y a deux niveaux et on admettra que l'on préfère prendre les lames situées sur le haut du châssis que celles situées sur le bas du châssis. En variante, on aurait pu préférer prendre une règle contraire ou privilégier la continuité dans les numéros de nœuds 5.
Ainsi, le système de corrélation 9 préconise d'allouer les nœuds n°54, n°56, n°58, n°60, n°64, n°66, n°68, n°70 situés sur le niveau haut de la deuxième armoire informatique 3, puis les nœuds n°55, n°57, n°59, n°61 , n°62, n°63, n°65, n°67 suivant ce même niveau haut de cette même armoire 3.
Finalement, le système de corrélation 9 préconise l'allocation des nœuds n°54 à n°68 et n°70 pour l'exécution du travail T.
Dans l'exemple décrit, aucun poids n'est affecté à la priorité d'exécution du travail T et/ou au critère énergétique, autrement dit à l'impact énergétique de ce travail T.
Dans des variantes non illustrées :
- la zone de traitement prédéterminée ne correspond pas à une zone telle que visible sur la figure 1 mais correspond plutôt à une rangée complète d'armoires informatiques 3, voire à une seule armoire informatique 3, voire à une partie d'une armoire informatique 3, voire à une seule lame 4 de composant électronique, voire à un seul nœud 5, voire à une seule partie d'un nœud 5, voire encore à la totalité du cluster 1 ;
- un nœud peut être formé seulement de certains composants électroniques d'un équipement informatique, voire au contraire de plusieurs équipements informatiques ;
- les règles prédéterminées et chargées dans le système de corrélation 9 sont différentes des règles prises dans l'exemple décrit ;
- chaque travail T soumis au gestionnaire de travaux 7 est pourvu d'un profil énergétique, ou au contraire seulement certains travaux sont associés à un profil énergétique respectif ou encore aucun travail ne présente un profil énergétique ;
- l'architecture du nœud illustrée à la figure 3 est différente, par exemple elle présente plus ou moins de mémoire vive, plus ou moins de microprocesseurs ;
- l'étape de détermination de caractéristiques d'état énergétique des nœuds au moins de la zone de traitement prédéterminée se fait en fonction seulement des caractéristiques de dissipation thermique de ces nœuds ou en fonction seulement des caractéristiques de consommation électrique de ces nœuds ;
- l'étape de détermination des caractéristiques d'état énergétique des nœuds au moins de la zone de traitement prédéterminée n'est pas effectuée par le système de corrélation 9 mais plutôt par le gestionnaire d'énergie 8 ; et/ou
- les données qui transitent entre le gestionnaire d'énergie, le système de corrélation, le gestionnaire de travaux et les zones de traitement ne sont pas intégrées dans des fichiers ou bases de données, mais transitent plutôt plus généralement via un réseau, au moins pour certaines d'entre elles, les autres pouvant être par exemple stockées dans des fichiers ou bases de données voire stockées en mémoire avant transmission.
On rappelle plus généralement que l'invention ne se limite pas aux exemples décrits et représentés.