Brevet FR2928212A1 — publié le 20090904

La présente invention concerne un procédé de détermination de la charge en calcul d'un processeur informatique et de sélection d'un processeur. Elle concerne également un sy>tème et un produit programme d'ordinateur correspondants. Pour déterminer la charge en calcul d'un processeur de calculateur, par exemple dans le contexte d'un système de calcul à plusieurs calculateurs comportant chacun au moins un processeur, un serveur de gestion des ressources du système de calcul interroge généralement ce processeur en lui transmettant une requête de taux de charge, à laquelle le processeur répond en fournissant une valeur de taux de charge. Ainsi, dans le but de sélectionner un processeur parmi tous les processeurs du système de calcul, chaque fois qu'une instruction d'exécution de calcul est à transmettre par le serveur de gestion des ressources, celui-ci est amené à interroger régulièrement les processeurs du système de calcul et à sélectionner de préférence celui qui fournit la plus petite valeur de taux de charge. Ceci présente l'inconvénient de perturber le fonctionnement des calculateurs, en particulier ceux qui sont déjà chargés en calculs à exécuter et qui ne pourront accepter de nouvelle instruction d'exécution de calcul. L'invention vise à remédier à cet inconvénient en fournissant un procédé ou système capable de déterminer la charge en calcul d'un processeur de calculateur en limitant toute perturbation du fonctionnement de ce calculateur. L'invention a donc pour objet un procédé de détermination de la charge en calcul d'un processeur informatique, caractérisé en ce qu'il comporte les étapes suivantes : - extraction d'une information de température mesurée à l'aide d'un capteur disposé sur le processeur, - estimation d'une information de charge en calcul du processeur à partir de l'information de température extraite. Grâce à ce procédé, il est ainsi possible d'obtenir une estimation de la charge en calcul du processeur, sans nécessiter de requête directe transmise au processeur. Une simple mesure de température, moins perturbatrice du fonctionnement du calculateur, suffit pour obtenir une estimation de cette charge. En effet, les processeurs comportent généralement des capteurs de température intégrés très sensibles aux variations rapides de leurs températures, et il a été remarqué que ces températures sont finalement très significatives de la charge en calcul des processeurs correspondants, alors qu'elles sont utilisées généralement uniquement pour gérer le fonctionnement de systèmes de refroidissement. 2 De façon optionnelle, l'extraction de l'information de température est réalisée par un contrôle Jr de gestion d'une carte mère d'un calculateur à laquelle est connecté le processeur, sur réception, par le contrôleur de gestion de la carte mère, d'une commande de mesure de température du processeur. Les contrôleurs de gestion de carte mère, généralement appelés contrôleurs BMC (de l'anglais � Baseboard Management Controller �), disposent de leur propre processeur, de sorte que le processeur du calculateur n'est avantageusement pas sollicité du tout d Dur l'extraction de l'information de température. De façon optionnelle, un procédé de détermination de la charge en calcul d'un processeur informatique selon l'invention comporte une étape d'émission, par un serveur de gestion de la charge du processeur, de la commande de mesure de la température et une étape de transmission, via un réseau de transmission de données auquel sont connectés le serveur de gestion et le calculateur, de cette commande au contrôleur de gestion de la carte mère du calculateur. De façor optionnelle, l'estimation de l'information de charge à partir de l'information de température extraite est effectuée sur la base d'une correspondance prédéfinie entre des valeurs de température de processeur et des valeurs de taux de charge. En effet, les températures mesurées étant très significatives de la charge en calcul des processeurs correspondants, il est simple d'établir une correspondance entre des valeurs de température de processeur et des valeurs de taux de charge. De façon optionnelle, on associe une charge nulle à toute information de température ex:raite inférieure à une température minimale prédéfinie, on associe une charge pleine à toute information de température extraite supérieure à une température maximale prédéfinie, et on associe une charge partielle, croissante en fonction de l'information de température extraite, à toute information de température extraite comprise entre les températures minimale et maximale prédéfinies. L'invention a également pour objet un procédé de sélection d'un processeur informatique d'un système de calcul comportant une pluralité de calculateurs informatiques irterconnectés en réseau et comprenant chacun au moins un processeur, comportant les étapes suivantes, exécutées par un serveur de gestion du système de calcul : - détermination de la charge en calcul de chaque processeur des calculateurs du système de calcul, par la mise en oeuvre d'un procédé de détermination tel que défini précédemment, et 3 - sélection d'un processeur, sur la base de la charge en calcul estimée de l'ensemble des processeurs, pour l'exécution d'un calcul prédéterminé. Ainsi, dans un système de calcul multiprocesseurs, il est possible, pour le serveur de gestion, de procéder à une sélection sans perturber le fonctionnement des processeurs dont certains sont déjà très sollicités. De façon optionnelle, l'étape de détermination de la charge en calcul de chaque processeur est exécutée à intervalles de temps réguliers. De façon optionnelle, l'étape de détermination de la charge en calcul de chaque processeur est suivie d'une étape de classement des processeurs dans l'ordre croissant ou décroissant de leur charge en calcul telle que déterminée. L'invention a également pour objet un système informatique de détermination de la charge en calcul d'un processeur informatique, caractérisé en ce qu'il comporte : - un capteur de température disposé sur le processeur, - des moyens d'extraction d'une information de température mesurée à l'aide de ce capteur, et des moyens d'estimation d'une information de charge en calcul du processeur à partir de l'information de température extraite. Enfin, l'invention a également pour objet un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre d'un procédé de détermination de la charge en calcul d'un processeur informatique tel que défini précédemment. L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels : - la figure 1 représente schématiquement la structure générale d'un système informatique de détermination de la charge en calcul d'au moins un processeur informatique, selon un mode de réalisation de l'invention, et la figure 2 illustre les étapes successives d'un procédé de sélection d'un processeur informatique mis en oeuvre par le système de la figure 1. Le système de calcul représenté sur la figure 1 comporte un ensemble de calculateurs 10-, 102, ..., 10n, dont l'un, le calculateur 10i, est représenté en détail. Ces calculateurs sont interconnectés par au moins un réseau 12 de transmission de 4 données et également reliés, via ce même réseau, à un serveur 14 de gestion du système de calcul. Le calcuiciteur 10;, représentatif des autres calculateurs du système de calcul, comporte au mons un microprocesseur 16;, au moins un capteur de température 18; intégré au microprocesseur 16;, un contrôleur 20; de gestion de carte mère dit contrôleur BMC, une mémoire morte de type ROM 22; (de l'anglais � Read Only Memory �) pour le stockage, notamment, d'un système élémentaire d'entrée/sortie, appelé communément BIOS (de l'anglais � Basic Input Output System �), et une mémoire vive de type RAM 24; (de l'anglais � Read Access Memory �) pour, en combinaison avec le microprocesseur 16;, l'exécution d'instructions, notamment d'instructions de calculs transmises par le serveur de gestion 14. Ces éléments sont, de façon classique, disposés sur une même carte mère 26; du calculateur 10;. Par souci de simplification, ces éléments sont représentés sur la figure 1 comme communiquant entre eux via au moins un bus de transmission de données 28; auquel sont également connectés des moyens de stockage, amovibles ou non, tels qu'un disque dur interne 30; du calculateur 10i. Le bus de transmission de données 28; es: en outre relié à une interface 32; d'entrée/sortie du calculateur 10i, cette interface étant connectée au réseau 12. Le réseau 12 peut être considéré dans son ensemble comme une entité globale et unique, mais peut aussi être subdivisé en plusieurs réseaux dont l'un, nommé réseau d'administration du système de calcul, donne au serveur de gestion 14 un accès à chaque contrôleur BMC 201, 202, ., 20n de chaque calculateur 101, 102, ..., 10n. Le contrôleur BMC 20; du calculateur 10; est une carte électronique connectée à diverses entres-sorties et donnant notamment des informations sur divers paramètres physiques à l'intérieur du calculateur 10; comme la température du processeur 16;, la tension d'alimentation du calculateur, etc. A cet effet, il est doté de moyens d'extraction d'une information de température mesurée par le capteur 18;. II supporte en outre un protocole logiciel nommé IPMI (de l'anglais � Intelligent Platform Management Interface �) qui permet au serveur de gestion 14 de l'interroger à distance. Ainsi, le serveur de gestion 14 est capable d'obtenir une information de température du processeur 16;, mesurée par le capteur 18; et extraite par le contrôleur BMC 20; sur simple transmission, via le réseau d'administration du système de calcul, d'une commande de mesure de température du processeur conforme au proocole IPMI. Cette commande étant transmise au contrôleur BMC 20; qui la traite lui-même directement à l'aide de son propre processeur, elle est totalement transparente pour le processeur 16; dont le fonctionnement n'est pas perturbé par l'extraction de l'information de température. 5 Le système de calcul de la figure 1 est par exemple installé dans une pièce climatisée, où l'on garantit une température homogène de l'air de refroidissement aspiré par les calculateurs 101, 102, ..., 10,, ce qui est le gage d'un fonctionnement fiable du système dans son ensemble. Ainsi, lorsqu'un processeur quelconque d'un calculateur de ce système de calcul exécute une instruction de calcul, sa température augmente rapidement et très sensiblement, en général d'une dizaine de degrés. Réciproquement, grâce notamment à l'air de refroidissement circulant dans la pièce, le processeur reprend rapidement sa température initiale lorsqu'il n'est plus sollicité. Dans ces conditions, on peut établir unie relation directe entre la température du processeur et le fait qu'il soit ou non en train d'exécuter une ou plusieurs instructions de calcul. Plus précisément, on remarque que plus la charge en calcul d'un processeur est importante, plus sa température est importante. On peut donc définir une correspondance entre des valeurs de température de processeur et des valeurs de taux de charge. Par exemple : on associe une charge en calcul nulle à toute information de température extraite par le contrôleur BMC inférieure à une température minimale prédéf nie, - on associe une charge en calcul pleine à toute information de température extraite par le contrôleur BMC supérieure à une température maximale prédéfinie, et - on associe une charge partielle, croissante en fonction de l'information de température extraite, à toute information de température extraite comprise entre les températures minimale et maximale prédéfinies. A titre parement illustratif et non limitatif pour l'invention, la température minimale prédéËi,iie est par exemple de 30°C et la température maximale prédéfinie est de 40°C. Le fonctionnement du système de calcul de la figure 1, pour la mise en oeuvre d'un procédé de sélection d'un processeur parmi l'ensemble des processeurs des calculateurs 10,, 102, ..., 10,,, ce procédé de sélection incluant lui-même un procédé de détermination de la charge en calcul d'au moins une partie des processeurs du..DTD: 6 système de calcul, va maintenant être décrit conformément à un mode de réalisation de l'invention. Dans le fonctionnement qui va être décrit, il est admis qu'une pluralité d'instructions d'exécutions de calculs doit être traitée par le système de calcul, la transmission de chaque instruction d'exécution de calcul à l'un ou l'autre des processeurs du s ystème de calcul étant gérée par le serveur de gestion 14 après une étape de sélection. Lors d'une première étape 100, une instruction d'exécution d'un calcul est reçue par le serveur de gestion 14. Lors d'une étape 102, le serveur de gestion émet une commande C de mesure de température d'au moins une partie des processeurs 161, 162, ..., 16n. Cette commance est émise à une partie correspondante des contrôleurs BMC 201, 202, ..., 20n, conformément au protocole IPMI, lors d'une étape suivante 104. Au cours de cette étape 104, la température de chaque processeur 16; concerné par la commande C est mesurée à l'aide du capteur 18, correspondant. Ensuite, à une étape 106, une information de température est extraite par chaque contrôleur BMC 20; concerné par la commande C. Cette information de température extraite est transmise par chaque contrôleur BMC 20; concer lé par la commande C au serveur de gestion 14 lors d'une étape 108. Ainsi, au cours de l'étape 108, le serveur de gestion 14 récolte toutes les informations de température de tous les processeurs du système de calcul dont il a sollicité les contrôleurs BMC 20; par la commande C. Ces valeurs de températures peuvent être iiterprétées directement comme des indices de charge des processeurs, si i'on considère que la température d'un processeur est directement liée à sa charge en calcul. Sinon, optionnellement, une correspondance peut être établie entre le: informations de températures récoltées et des valeurs de charge en calcul, à l'aide d'un tableau de correspondance T prédéfini, comme indiqué précédemment. On notera que la séquence d'étapes 102, 104, 106 et 108 constitue la mise en oeuvre d'un procédé de détermination de la charge en calcul d'au moins un processeur informatique selon un mode de réalisation de l'invention. Ensuite, I ers d'une étape de classement 110, le serveur de gestion 14 classe les valeurs récolées, que ce soit directement les valeurs de températures extraites 7 ou des valeurs de charges déduites de ces valeurs de températures, dans l'ordre croissant ou décroissant. On peut conc ainsi obtenir le classement suivant : - en pre inier, les processeurs non chargés dont la température se situe aux alentours de 30°C, puis les processeurs partiellement chargés dont la température se situe en moyenne aux alentours de 35°C, - puis les processeurs complètement chargés dont la température se situe aux alentours de 40°C. On notera que, puisque l'on procède à un tri des processeurs par températures (ou charges) croissantes ou décroissantes pour faire la sélection du processeur destinataire d'une instruction d'exécution de calcul, il n'est pas nécessaire d'étalonner le système, son bon fonctionnement étant indépendant des variations de température non liées à la charge des processeurs, telles que les variations saisonnières. Enfin, lors d'une dernière étape 112, le serveur de gestion sélectionne le processeur dont la charge en calcul est la plus faible, c'est-à-dire celui dont la température me:•,urée est la plus faible. II transmet alors l'instruction d'exécution de calcul au calculateur comportant ce processeur sélectionné. Dans un mode de réalisation de l'invention, le procédé de détermination de la charge en calcul des processeurs du système de calcul peut être exécuté périodiquement, c'est-à-dire à intervalles de temps réguliers, indépendamment de la réception d'instructions d'exécutions de calculs. Dans ce cas, le serveur de gestion 14 est capable de transmettre une instruction d'exécution de calcul au processeur sélectionné dès qu'il la reçoit. En outre, avantageusement, la période peut être d'une minute, ce qui est largement supérieur à l'inertie thermique des processeurs : on peut en effet constater généralement une variation d'environ 5°C par seconde tant au démarrage qu'à l'arrêt de l'exécution de calculs, le processeur concerné ayant donc une latence d'environ 2 secondes. On notera enfin que les erreurs de mesures de températures de processeurs sont en général pie l'ordre d'un degré Celsius, ce qui reste très inférieur à l'amplitude des variations de températures selon qu'un processeur est chargé en calcul ou non. Ce procédé d'estimation de la charge d'un processeur, puis de sélection, est donc fable. REVENDICATIONS 1. Procédé de détermination de la charge en calcul d'un processeur informatique (16;), caractérisé en ce qu'il comporte les étapes suivantes : extraction (106) d'une information de température mesurée à l'aide d'un capteur (18;) disposé sur le processeur (16;), - estimation (108) d'une information de charge en calcul du processeur (16;) à partir de l'information de température extraite. 2. Procédé de détermination de la charge en calcul d'un processeur informatique (1(;) selon la revendication 1, dans lequel l'extraction (106) de l'information de température est réalisée par un contrôleur (20;) de gestion d'une carte mère (26;) d'un calculateur (10;) à laquelle est connecté le processeur (16;), sur réception (104), par le contrôleur (20;) de gestion de la carte mère, d'une commande (C) de mesure de température du processeur. 3. Procédé de détermination de la charge en calcul d'un processeur informatique (16,) selon la revendication 2, comportant une étape d'émission (102), par un serveur 14) de gestion de la charge du processeur, de la commande (C) de mesure de la température et une étape de transmission (104), via un réseau de transmission de données (12) auquel sont connectés le serveur de gestion (14) et le calculateur (101, 102, ., 10n), de cette commande au contrôleur de gestion (20;) de la carte mère du calculateur...CLMF: 4. Procédé de détermination de la charge en calcul d'un processeur informatique (16) selon l'une quelconque des revendications 1 à 3, dans lequel l'estimation (108 de l'information de charge à partir de l'information de température extraite est effectuée sur la base d'une correspondance (T) prédéfinie entre des valeurs de température de processeur et des valeurs de taux de charge. 5. Procédé de détermination de la charge en calcul d'un processeur informatique (16;) selon la revendication 4, dans lequel : on associe une charge nulle à toute information de température extraite inférieure à une température minimale prédéfinie, on associe une charge pleine à toute information de température extraite supérieure à une température maximale prédéfinie, et on associe une charge partielle, croissante en fonction de I information de température extraite, à toute information de 9 température extraite comprise entre les températures minimale et rnaximale prédéfinies. 6. Procédé de sélection (112) d'un processeur informatique (16;) d'un système de calcul comportant une pluralité de calculateurs informatiques (101, 102, ..., 10n) interccnnectés en réseau (12) et comprenant chacun au moins un processeur (16), comportant les étapes suivantes, exécutées par un serveur de gestion (14) du système de calcul : - détermination (102, 104, 106, 108) de la charge en calcul de chaque processeur (16;) des calculateurs (101, 102, ..., 10e) du système de calcul, par la mise en oeuvre d'un procédé de détermination selon l'une quelconque des revendications 1 à 5, et sélection d'un processeur (101 sur la base de la charge en calcul estimée de l'ensemble des processeurs, pour l'exécution d'un calcul prédéterminé. 7. Procédé de sélection selon la revendication 6, dans lequel l'étape (102, 104, 106, 108) de détermination de la charge en calcul de chaque processeur est exécutée à intervalles de temps réguliers. 8. Procédé de sélection selon la revendication 6 ou 7, dans lequel l'étape (102, 104, 106, 108) de détermination de la charge en calcul de chaque processeur est suivie d'une étape (110) de classement des processeurs dans l'ordre croissant ou décroissant de leur charge en calcul telle que déterminée. 9. Sys1È me informatique de détermination de la charge en calcul d'un processeur informatique (16;), caractérisé en ce qu'il comporte : - un capteur de température (18;) disposé sur le processeur, - des moyens (20;) d'extraction d'une information de température mesurée à l'aide de ce capteur, et - des moyens (14) d'estimation d'une information de charge en calcul du processeur à partir de l'information de température extraite. 10. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre d'un procédé de détermination de la charge en calcul d'un processeur informatique (16;) selon l'une quelconque des revendications 1 à 5.