Brevet FR2807534A1 — publié le 20011012

La présente invention concerne une ferme d'ordinateurs avec système d'insertion/extraction à chaud de cartes processeurs. On connaît les clusters d'ordinateurs, qui sont des infrastructures informatiques constituées par un grand nombre d'ordinateurs fonctionnant simultanément et échangeant des données entre eux. Ces clusters sont par exemple utilisés pour offrir des accès à Internet auprès des particuliers. Un des problèmes qui se posent avec les clusters est leur encombrement, c'est pourquoi on a déjà proposé la solution consistant à réunir dans un même boîtier plusieurs ordinateurs reliés par un bus. On parle alors de ferme d'ordinateurs. Si les fermes d'ordinateurs proposées jusqu'à présent permettent effectivement de réduire la place occupée par le cluster, du fait qu'une seule ferme remplace six ou huit ordinateurs indépendants, il n'en reste pas moins que la maintenance du cluster d'ordinateurs est complexe car chaque ordinateur doit être individuellement administré et maintenu. A l'intérieur d'une ferme d'ordinateurs, les opérations de maintenance et d'administration peuvent même s'avérer plus complexes que pour des ordinateurs indépendants, car le remplacement d'un seul ordinateur de la ferme nécessite des manipulations particulières, afin de ne pas perturber le fonctionnement des autres ordinateurs de la même ferme. La présente invention vise à fournir une nouvelle ferme d'ordinateurs dont l'administration et la maintenance sont grandement facilitées. La présente invention a pour objet une ferme d'ordinateurs comprenant un bus et plusieurs cartes processeurs montées sur le bus, une adresse d'une zone mémoire, dite zone d'état, étant prédéfinie pour chaque emplacement du bus susceptible de recevoir une carte processeur, caractérisée en ce qu'elle comporte un moyen de surveillance périodique de toutes les zones d'état se trouvant aux adresses prédéfinies, par des cycles de lecture du bus, ce moyen de surveillance ayant pour fonction, lorsqu'il détecte une valeur particulière dans une desdites zones, de déclencher un processus particulier, défini par cette valeur particulière, de traitement de la carte processeur qui se trouve à l'emplacement correspondant et en ce que chaque carte processeur inclut un moyen automatique d'inscription d'une valeur particulière dans la zone d'état se trouvant à l'adresse prédéfinie correspondant à son emplacement sur le bus, moyen qui se déclenche lorsque survient un événement relatif à la mise sous tension de la carte, à sa remise à zéro ou à son extraction de la ferme. En d'autres termes, la ferme selon l'invention comporte un moyen automatique de gestion de l'insertion et de l'extraction des cartes processeurs qui constituent chacune un ordinateur individuel de la ferme. Ainsi, grâce à l'invention, il n'est plus nécessaire pour l'opérateur qui désire remplacer un ordinateur défaillant du cluster d'intervenir sur le fonctionnement dudit cluster pour relancer l'ordinateur de remplacement et le faire prendre en compte dans le cluster. L'insertion et l'extraction des cartes processeurs peut ainsi être effectuée à chaud , c'est-à-dire sans interruption du fonctionnement du cluster. Dans un mode de réalisation particulier de l'invention, la ferme inclut un moyen de simulation d'un réseau local entre les cartes processeurs montées sur le bus. Les ordinateurs de la ferme échangent des données entre eux de la même manière que s'ils étaient reliés par un réseau local. Dans un premier mode de réalisation de l'invention, le processus particulier est un processus de démarrage des programmes devant s'exécuter sur la carte et la valeur particulière est demande d'initialisation , le moyen automatique d'inscription de cette valeur se déclenchant à la mise sous tension ou à la remise à zéro de la ca rte. La mise sous tension de la carte intervient soit lors de l'allumage de la ferme d'ordinateurs, soit lors de l'insertion de la carte dans la ferme. Dans un deuxième mode de réalisation de l'invention, chaque processeur inclut un moyen permettant à un utilisateur de demander l'arrêt de la carte et le processus particulier est un processus d'arrêt des programmes s'exécutant sur la carte, la valeur particulière étant demande d'arrêt et le moyen automatique d'inscription de cette valeur se déclenchant dès que l'utilisateur demande l'arrêt de la carte. Pour son insertion et son extraction, chaque carte peut comporter des leviers de verrouillage dans son logement, manoeuvrables entre une position ouverte et une position fermée, ainsi qu'au moins un capteur apte à détecter la position ouverte d'au moins un desdits leviers. Dans ce cas, le moyen permettant à l'utilisateur de demander l'arrêt de la carte est constitué par les leviers. Lorsque l'utilisateur fait passer les leviers en position ouverte pour extraire la carte, le capteur détecte ce changement de position des leviers et le moyen automatique d'inscription inscrit la valeur demande d'arrêt dans la zone d'état, ce qui provoque l'exécution du processus d'arrêt des programmes s'exécutant sur la carte. Après quoi, la carte peut être physiquement extraite de la ferme. De même, lorsque la carte est insérée dans la ferme, sa mise sous tension provoque, de la part du moyen automatique d'inscription, l'inscription de la valeur demande d'initialisation dans la zone d'état de la carte et le processus de démarrage des programmes devant s'exécuter sur la carte est lancé. Dans un mode de réalisation particulier, le moyen automatique d'inscription inclus dans la carte est un programme mémorisé dans une mémoire non volatile, par exemple une mémoire morte montée sur la carte. Dans les cartes processeurs couramment utilisées, le lien entre le bus et la carte s'effectue à l'aide d'un pont, également désigné bridge dans la terminologie usuelle, lequel pont inclut un certain nombre de registres permettant d'établir la communication. Dans un mode de réalisation particulier utilisant de telles cartes, la zone d'état est un registre appartenant au pont servant à relier physiquement la carte au bus. Le registre d'état peut également être présent sur la carte ailleurs que dans le pont. Le registre d'état pourrait également être situé en tout autre endroit de la ferme, et pas nécessairement sur la carte. Dans un mode de réalisation particulier, le moyen de lecture périodique est un programme qui s'exécute sur l'une des cartes processeurs. La carte processeur hébergeant ce programme peut être par exemple une carte particulière, désignée carte contrôleur , sur laquelle s'exécutent un certain nombre de programmes liés à la simulation du réseau sur le bus, ainsi qu'à la surveillance des différentes cartes processeurs reliées par le bus. Dans un mode de réalisation particulier de l'invention, le processus de démarrage de la carte consiste en les étapes suivantes - téléchargement d'un système d'exploitation dans la mémoire de la carte, - démarrage à distance des systèmes d'exploitation sur la carte, - inscription de la valeur démarrer dans la zone d'état se trouvant à l'adresse prédéfinie correspondant à l'emplacement de la carte sur le bus. Ainsi, la zone d'état sert non seulement à provoquer le démarrage de la carte mais également à indiquer à un mécanisme de surveillance des cartes que le démarrage de la carte s'est effectué correctement. Pour mettre en oeuvre le processus de démarrage qui vient d'être décrit, on peut procéder de la manière suivante. Chaque carte comporte, mémorisés dans une mémoire non volatile, d'une part, un nombre limité de fonctions de base, d'autre part, un module d'exécution à distance qui scrute en permanence une zone mémoire paramètre prédéfinie de la carte et, lorsqu'il détecte une valeur inscrite dans la zone mémoire paramètre, déclenche l'exécution de la fonction identifiée par la valeur inscrite, puis inscrit dans la zone mémoire paramètre une valeur signifiant que l'exécution de la fonction est achevée. Parmi les fonctions de base mémorisées dans la mémoire non volatile de la carte figure une fonction de démarrage du système d'exploitation après téléchargement de ce dernier. Dans une variante avantageuse de ce mode de réalisation, la valeur signifiant que l'exécution de la fonction est achevée est la valeur démarrer , en cas de succès du démarrage, ou une indication d'un état intermédiaire, en cas d'échec partiel, en fonction du stade auquel le démarrage a échoué. Dans un mode de réalisation particulier, la ferme comporte un moyen pour préparer, avant démarrage du système d'exploitation, un disque destiné à être utilisé comme disque principal par ce système d'exploitation. Dans un mode de réalisation particulier, le processus d'arrêt consiste en les étapes suivantes - arrêt du système d'exploitation dans la mémoire de la carte, - inscription de la valeur inactif dans la zone d'état se trouvant à l'adresse prédéfinie correspondant à l'emplacement de la carte sur le bus. Comme précédemment décrit pour le démarrage d'une carte, le processus d'extinction de la carte peut être déclenché par exécution d'une des fonctions de base mémorisés dans la mémoire non volatile de la carte. La ferme d'ordinateurs selon l'invention peut notamment être construite autour d'un bus de type PCI ou compactPCI sur lequel est simulé un réseau de type Ethernet. Dans le but de mieux faire comprendre l'invention, on va en décrire maintenant un mode de réalisation donné à titre d'exemple non limitatif, en référence au dessin annexé dans lequel - la figure 1 est une vue en perspective de trois quarts avant d'une ferme d'ordinateurs selon l'invention, - la figure 2 est une vue schématique d'un bus et d'un ensemble de cartes processeurs montées sur ce bus, - la figure 3 est un tableau illustrant les opérations exécutées lors de l'insertion de la carte dans le bus, - la figure 4 est une vue en perspective d'une carte processeur. La ferme 1 représentée sur le dessin comporte un boîtier 2 qui renferme un bus (non visible sur cette figure) sur lequel sont montées huit cartes processeurs 3a à 3h. La ferme comporte un compartiment 4 contenant un ensemble d'alimentation et des mémoires de masse constituées notamment par un disque dur 5, ainsi qu'un lecteur de cédéroms 6. Le bus 7 est schématiquement représenté à la figure 2, sur laquelle on voit que les cartes processeurs 3a à 3h communiquent avec le bus par l'intermédiaire de ponts 4, les échanges de données entre les cartes processeurs 3a-3h s'effectuant par des cycles de lecture et d'écriture sur le bus 7. Chaque pont 4 contient des registres, dont un seul est représenté ici et sera désigné registre d'état 8 dans la suite de la description. Dans l'exemple décrit, la carte 3h joue le rôle de carte contrôleur. Elle surveille l'état des autres cartes et assure la gestion de la ferme, notamment lorsque survient un événement relatif à la mise sous tension de l'une quelconque des autres cartes, à sa remise à zéro ou à son extraction de la ferme. Pour la clarté du dessin, seuls les détails de la carte 3a et de la carte contrôleur 3h vont être décrits. Les autres cartes 3b à 3g sont identiques à la carte 3a, au moins en ce qui concerne les caractéristiques qui vont être décrites. Les cartes 3a à 3g peuvent néanmoins se distinguer par d'autres caractéristiques n'ayant pas de rapport avec la présente invention. La carte 3a comporte, d'une part, une mémoire non volatile 9, par exemple une mémoire morte (ROM), contenant un programme d'inscription d'une valeur demande d'initialisation (DI) ou demande d'arrêt (DA) dans le registre d'état 8. Ce programme démarre automatiquement au moment de la mise sous tension de la carte. D'autre part, la carte 3a comporte une autre mémoire non volatile 10, qui pourrait être une partie de la ROM 9, contenant une série de fonctions préprogrammées et un module d'exécution à distance. Les fonctions préprogrammées sont des fonctions de base dont l'exécution sert à l'administration et au test du fonctionnement de la carte. L'une de ces fonctions réalise l'initialisation de la carte, comme cela va être décrit. Le module d'exécution à distance a pour rôle de déclencher l'exécution de l'une des fonctions de base, sur instruction donnée par la carte contrôleur 3h. A cet effet, un autre registre 11 du pont, désigné registre paramètre, est utilisé, ainsi que cela sera ultérieurement décrit. La carte contrôleur 3h contient un programme 12 de surveillance des registres d'état 8 de toutes les autres cartes 3a à 3g, ainsi qu'un programme 13 d'initialisation ou d'arrêt desdites autres cartes. En référence à la figure 3, on va maintenant décrire le fonctionnement de la ferme, en cas d'insertion ou d'extraction d'une carte. - Le programme de surveillance 12 de la carte contrôleur 3h scrute en permanence le registre d'état 8 de chaque carte 3a à 3g. - La carte processeur 3a est insérée dans son emplacement sur le bus, ce qui provoque sa mise sous tension et le démarrage automatique du programme mémorisé dans la ROM 9 d'inscription de la valeur DI (demande d'initialisation) dans le registre d'état 8. - Immédiatement après, le module d'exécution à distance démarre sur la carte processeur et scrute le registre paramètre 11. - Le programme de surveillance 12 détecte la valeur DI et déclenche l'exécution du programme d'initialisation sur la carte contrôleur. - Ce dernier inscrit la valeur Init dans le registre paramètre 11, - et scrute le registre d'état 8 de la carte. - Le module d'exécution à distance sur la carte processeur 3a détecte la valeur Init dans le registre paramètre 11 et déclenche l'exécution de la fonction d'initialisation, dont le code est mémorisé dans la mémoire 10. - Cette dernière télécharge et démarre le système d'exploitation dans la carte processeur, à travers le bus, et inscrit dans le registre d'état 8 la valeur DT (démarrage terminé). - Le programme d'initialisation sur la carte contrôleur détecte la valeur DT , ce qui lui indique que la carte est correctement démarrée. Le programme d'initialisation se termine tandis que le programme de surveillance continue de scruter tous les registres d'état 8 de toutes les cartes 3a à 3g. L'initialisation de toute carte processeur qui est insérée dans un emplacement du bus s'effectue ainsi de manière automatique, sans qu'aucun opérateur n'ait à intervenir. Le même automatisme se déroule lors de la mise sous tension de la carte, par exemple lors de l'allumage de la ferme d'ordinateurs, où toutes les cartes processeurs doivent être initialisées bien que déjà insérées dans leurs emplacements. Si une carte doit être extraite, par exemple parce qu'un opérateur a décelé un dysfonctionnement de celle-ci, les étapes suivantes sont exécutées. Ces étapes vont être décrites par analogie avec processus de démarrage de la carte. - L'opérateur demande l'arrêt de la carte, en utilisant un moyen spécifique prévu à cet effet, par exemple des leviers basculants 14 permettant le verrouillage de la carte dans son emplacement, comme décrit à la figure 4. - Le programme d'inscription inscrit dans le registre d'état 8 la valeur DA (demande d'arrêt). - Le programme de surveillance de la carte contrôleur détecte cette valeur et lance un programme d'arrêt, homologue du programme d'initialisation. - Si des logiciels en cours d'exécution sont répartis sur tous les ordinateurs de la ferme, certaines opérations spécifiques peuvent être nécessaires pour que ces logiciels prennent en compte le fait que la carte processeur va être rendue indisponible. Le programme d'arrêt commence par exécuter ces opérations spécifiques, qui font partie intégrante des logiciels mais ont été déclarées, lors de leur installation sur la ferme, comme parties à exécuter en cas d'arrêt d'une carte. - Le programme d'arrêt inscrit ensuite dans le registre paramètre il de la carte la valeur Shutdown . - Le module d'exécution à distance détecte cette valeur et démarre une fonction Shutdown incluse dans les fonctions de base de la mémoire 10. - La fonction Shutdown arrête le système d'exploitation sur la carte et inscrit la valeur Idle dans le registre d'état 8. - Le programme d'arrêt détecte la valeur Idle . Ainsi, l'arrêt de la carte est intégralement pris en compte par la ferme, l'opérateur n'ayant qu'à demander l'arrêt. Cette demande d'arrêt peut être effectuée par manoeuvre des leviers de verrouillage 14 de la carte, comme on le voit à la figure 4. L'un de ces leviers comporte un capteur 15 formé par un interrupteur dont l'état est scruté en permanence par une boucle de surveillance s'exécutant sur la carte. De tels leviers sont déjà connus en eux-mêmes. Le mode de réalisation ci-dessus n'est qu'un exemple donné pour bien faire comprendre l'invention, laquelle n'est nullement limitée aux caractéristiques décrites en référence à cet exemple. REVENDICATIONS 1. Ferme d'ordinateurs, comprenant un bus (7) et plusieurs cartes processeurs (3a-3h) montées sur le bus, une adresse d'une zone mémoire, dite zone d'état (8), étant prédéfinie pour chaque emplacement du bus susceptible de recevoir une carte processeur, caractérisée en ce qu'elle comporte un moyen de surveillance périodique de toutes les zones d'état (8) se trouvant aux adresses prédéfinies, par des cycles de lecture du bus, ce moyen de surveillance ayant pour fonction, lorsqu'il détecte une valeur particulière ( DI , DA ) dans une desdites zones, de déclencher un processus particulier, défini par cette valeur particulière, de traitement de la carte processeur qui se trouve à l'emplacement correspondant, et en ce que chaque carte processeur inclut un moyen automatique d'inscription d'une valeur particulière ( DI , DA ) dans la zone d'état se trouvant à l'adresse prédéfinie correspondant à son emplacement sur le bus, moyen qui se déclenche lorsque survient un événement relatif à la mise sous tension de la carte, à sa remise à zéro ou à son extraction de la ferme. 2. Ferme d'ordinateurs selon la revendication 1, caractérisée en ce qu'elle inclut un moyen de simulation d'un réseau local entre les cartes processeurs (3a-3h) montées sur le bus (7). 3. Ferme d'ordinateurs selon l'une quelconque des revendications 1 et 2, caractérisée en ce que - le processus particulier est un processus de démarrage des programmes devant s'exécuter sur la carte et - la valeur particulière est demande d'initialisation ( DI ), - le moyen automatique d'inscription de cette valeur se déclenche à la mise sous tension ou à la remise à zéro de la carte. 4. Ferme d'ordinateurs selon la revendication 3, caractérisée en ce que la mise sous tension de la carte intervient lors de l'allumage de la ferme d'ordinateurs ou lors de l'insertion de la carte dans la ferme. 5. Ferme d'ordinateurs selon l'une quelconque des revendications 1 à 4, caractérisée en ce que chaque carte processeur inclut un moyen (14) permettant à un utilisateur de demander l'arrêt de la carte et en ce que - le processus particulier est un processus d'arrêt des programmes s'exécutant sur la carte et - la valeur particulière est demande d'arrêt ( DA ), - le moyen automatique d'inscription de cette valeur se déclenche dès que l'utilisateur demande l'arrêt de la carte. 6. Ferme d'ordinateurs selon la revendication 5, caractérisée en ce que chaque carte comporte des leviers de verrouillage (14) dans son logement, manoeuvrables entre une position ouverte et une position fermée, et au moins un capteur (15) apte à détecter la position ouverte d'au moins un desdits leviers, et en ce que le moyen permettant à l'utilisateur de demander l'arrêt de la carte est constitué par lesdits leviers. 7. Ferme d'ordinateurs selon l'une quelconque des revendications 1 à 6, caractérisée en ce que le moyen automatique d'inscription inclus dans la carte est un programme mémorisé dans une mémoire non volatile (9), par exemple une mémoire morte, montée sur la carte. 8. Ferme d'ordinateurs selon l'une quelconque des revendications 1 à 7, caractérisée en ce que la zone d'état est un registre d'état (8) présent sur la carte. 9. Ferme d'ordinateurs selon la revendication 8, caractérisée en ce que le registre d'état (8) appartient à un pont (4) servant à relier physiquement la carte au bus. 10. Ferme d'ordinateurs selon l'une quelconque des revendications 1 à 9, caractérisée en ce que le moyen de lecture périodique est un programme qui s'exécute sur l'une des cartes processeurs. 11. Ferme d'ordinateurs selon la revendication 3 et l'une quelconque des revendications 4 et 7 à 10, caractérisée en ce que le processus de démarrage de la carte consiste en les étapes suivantes - téléchargement d'un système d'exploitation dans la mémoire de la carte, - démarrage à distance du système d'exploitation sur la carte, - inscription de la valeur démarrée ( DT ) dans la zone d'état (8) se trouvant à l'adresse prédéfinie correspondant à l'emplacement de la carte sur le bus. 12. Ferme d'ordinateurs selon l'une quelconque des revendications 1 à 11, caractérisée en ce que chaque carte comporte, mémorisés dans une mémoire non volatile (10), d'une part un nombre limité de fonctions de base, d'autre part un module d'exécution à distance, qui scrute en permanence une zone mémoire paramètre (11) prédéfinie de la carte et, lorsqu'il détecte une valeur inscrite dans la zone mémoire paramètre, déclenche l'exécution de la fonction identifiée par la valeur inscrite, puis inscrit, dans la zone mémoire paramètre, une valeur ( DT ) signifiant que l'exécution de la fonction est achevée. 13. Ferme d'ordinateurs selon les revendications 11 et 12, caractérisée en ce que le démarrage du système d'exploitation téléchargé est déclenché par exécution d'une des fonctions de base. 14. Ferme d'ordinateurs selon l'une quelconque des revendications 11 à 13, caractérisée en ce que la valeur inscrite dans la zone mémoire après démarrage du système d'exploitation est la valeur démarrée en cas de succès du démarrage, ou une indication d'un état intermédiaire en cas d'échec partiel, en fonction du stade auquel le démarrage a échoué. 15. Ferme d'ordinateurs selon l'une quelconque des revendications 11 à 14, caractérisée en ce qu'elle comporte un moyen pour préparer, avant démarrage du système d'exploitation, un disque destiné à être utilisé comme disque principal par ce système d'exploitation. 16. Ferme d'ordinateurs selon l'une quelconque des revendications 11 à 15, caractérisée en ce qu'elle comporte un limiteur d'attente qui relance les étapes de démarrage de la carte si la valeur démarrée n'apparaît pas dans la zone mémoire d'état après un délai prédéfini. 17. Ferme d'ordinateurs selon la revendication 4 et l'une quelconque des revendications 5 à 10, caractérisée en ce que le processus d'arrêt consiste en les étapes suivantes - arrêt du système d'exploitation dans la mémoire de la carte, - inscription de la valeur inactif ( Idle ) dans la zone d'état (8) se trouvant à l'adresse prédéfinie correspondant à l'emplacement de la carte sur le bus. 18. Ferme d'ordinateurs selon les revendications 17 et 12, caractérisée en ce que l'extinction de la carte est déclenchée par exécution d'une des fonctions de base. 19. Ferme d'ordinateurs selon l'une quelconque des revendications 1 à 18, caractérisée en ce que le bus est de type PCI ou CompactPCI. 20. Ferme d'ordinateurs selon l'une quelconque des revendications 1 à 19, caractérisée en ce que le réseau local simulé est un réseau Ethernet.