Brevet FR2807533A1 — publié le 20011012

La présente invention concerne une ferme d'ordinateurs avec système de transfert de fichiers entre cartes processeurs. 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. clusters sont par exemple utilisés pour offrir des accès à Internet aupres des particuliers. 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. parle alors de ferme d'ordinateurs. Dans une ferme, chaque ordinateur est matérialisé par une carte processeur qui exécute son propre système d'exploitation, ainsi qu'un certain nombre de logiciels d'application. 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 ou huit ordinateurs indépendants, il n'en reste pas moins que la maintenance de chaque carte processeur de la ferme est complexe, notamment en ce qui concerne les mises à jour des logiciels qu'elle contient. Par exemple, dans le cas particulier d'une ferme d'ordinateurs dans laquelle un réseau local est simulé sur le bus, le système d'exploitation de chaque carte processeur intègre un module simulateur de réseau local, et à chaque révision ce simulateur, il est impératif que la mise à jour des modules ait lieu sur l'ensemble des cartes processeurs de la ferme, pour que le réseau soit correctement simulé et que toutes les cartes puissent échanger entre elles des paquets de données de type réseau. Une difficulté se présente alors, car chaque carte doit être mise à jour individuellement en fonction de sa propre configuration et du système d'exploitation qu'elle héberge. Ces mises à jour requièrent de nombreuses manipulations et sont des causes possibles de dysfonctionnement du réseau. La présente invention vise à fournir une solution à ce problème de mise à jour individuelle des cartes processeurs. La présente invention a pour objet une ferme d'ordinateurs comprenant un bus et plusieurs cartes processeurs montées sur le bus, chaque carte processeur exécutant un système d'exploitation apte à gérer des modules systèmes externes par l'intermédiaire de pilotes, caractérisée en ce que la ferme comporte - des moyens pour écrire, dans une mémoire d'au moins une carte processeur, un système d'exploitation, une partie cliente d'un logiciel de transfert de fichiers, un gestionnaire de modules externes et un logiciel d'ajout de modules système externes, ce logiciel d'ajout étant inscrit comme premier programme à exécuter par le système d'exploitation à son démarrage et ayant pour tâches de démarrer la partie cliente du logiciel de transfert de fichiers pour télécharger un module système, puis de démarrer le gestionnaire de modules externes pour insérer dans le système d'exploitation ledit module téléchargé, - des moyens pour démarrer à distance le système d'exploitation de la carte processeur, - une partie serveur du logiciel de transfert de fichiers pour envoyer sur la carte processeur, à la demande de la partie cliente lorsqu'elle s'exécute sur ladite carte processeur, un module système externe à exécuter sur la carte processeur. particulier, lorsque la ferme d'ordinateurs simule un réseau local sur le bus, l'invention permet de télécharger dans chaque carte non seulement le système d'exploitation nécessaire au fonctionnement de la carte mais également un module système externe de simulation du réseau local. Dans ce cas, les écritures dans la mémoire de la carte système d'exploitation, du logiciel d'ajout et du gestionnaire de modules s'effectuent par des cycles d'écriture du indépendants de la simulation du réseau Tous les modules systèmes externes étant identiques, la mise à jour de l'ensemble des cartes s'effectue très facilement. simulation du réseau est ainsi effectuée sur chaque carte grâce au module de simulation de réseau intégré au système d'exploitation grace au gestionnaire de module externe. présente invention s'applique notamment à des bus de type PCI ou CompactPCI sur lesquels sont simulés des réseaux locaux de type Ethernet. Dans le but de mieux faire comprendre l'invention, on 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 d'une demande de transfert de fichier entre deux cartes. 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 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 cartes processeurs 3a à 3h communiquent avec le bus l'intermédiaire de ponts é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 représenté ici et sera designé 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'etat des autres cartes et assure la gestion de la ferme, notamment lorsque survient evé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 de la carte contrôleur 3h vont être décrits. Les autres cartes 3b à 3g sont identiques à la carte 3a, au moins en 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 de démarrage qui s'exécute à la mise sous tension de la carte. D'autre part, la carte 3a comporte une mémoire vive 10, destinée à contenir des fichiers téléchargés comme cela va être décrit. La carte contrôleur 3h contient un programme 11 de surveillance des registres d'état 8 de toutes les autres cartes 3a à 3g, un programme 12 de lancement desdites autres cartes, ainsi qu'une partie serveur 13 d'un logiciel de transfert de fichiers, qui est apte, sur demande d'une carte, à envoyer à cette carte des fichiers contenus sur le disque 5. Sur le disque 5, ont été préparés les programmes suivants, prêts à être téléchargés sur les cartes processeurs 3a à 3g. - un système d'exploitation, - une partie cliente du logiciel de transfert de fichiers, - un gestionnaire de modules externes, - un logiciel d'ajout de modules systèmes externes. Ce dernier logiciel d'ajout est conçu et déclaré comme premier programme à exécuter par le système d'exploitation à son démarrage. En d'autres termes, il est la première tâche à accomplir par le système d'exploitation une fois celui-ci démarré. En référence à la figure 3, on va maintenant décrire le fonctionnement la ferme, en cas d'insertion ou d'extraction d'une carte. Le programme de surveillance 11 de la carte contrôleur scrute en permanence le registre d'état 8. A la mise sous tension de la carte, par exemple lorsqu'elle est insérée dans emplacement sur le bus, le programme de démarrage 9 effectue quelques initialisations de la carte et de ses registres, afin de lui permettre de communiquer bus avec d'autres cartes par des cycles de lecture et d'écriture en mode maître esclave, c'est-à-dire par adressage direct des zones mémoires de chaque carte. Le programme de démarrage inscrit ensuite la valeur DL (demande de lancement) dans le registre d'état 8. Le programme de surveillance 11 détecte la valeur DL et déclenche le programme de lancement 12. - Le programme de surveillance continue de scruter les registres d'état 8 de toutes les cartes. - Le programme de lancement 12 effectue les écritures en mode maître-esclave dans la mémoire 10. Les fichiers sont copiés à partir du disque 5 : système d'exploitation, partie cliente d'un logiciel de transfert de fichiers, gestionnaire de modules externes et logiciel d'ajout de modules systèmes externes. - Le programme de lancement démarre ensuite le système d'exploitation de la carte. - Le système d'exploitation démarre et exécute en premier lieu le programme d'ajout qui est stocké dans la mémoire vive de la carte. - Le programme d'ajout lance la partie client du logiciel de transfert de fichiers. - Dans la carte contrôleur, la partie serveur 13 du même logiciel transfère un module système externe, qui peut être par exemple un module de simulation de réseau. - Le programme d'ajout démarre ensuite le gestionnaire de modules externes pour que ce dernier insère le module téléchargé dans le système d'exploitation. La carte est ainsi démarrée et automatiquement mise à jour avec la dernière version du système d'exploitation et du module système. Bien entendu, les opérations d'écriture et de téléchargement décrites ci-dessus peuvent intervenir à tout moment et pas uniquement suite à l'insertion de la carte dans son emplacement. Grâce à l'invention, la mise ' jour du système d'exploitation et des modules systèmes dans la carte s'effectue automatiquement et sans risque d'erreur ni d'oubli de la part de l'opérateur. Si un module est révisé, sa mise à jour dans chacune des cartes intervient de manière systématique, ce qui garantit l'homogénéité des cartes processeurs d'une même ferme. II n'est ainsi plus nécessaire d'assurer individuellement l'administration de chaque carte processeur. Le mode de réalisation ci-dessus n'est qu'un exemple fourni pour bien faire comprendre l'invention, laquelle n' 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, chaque carte processeur exécutant un système d'exploitation apte à gérer des modules système externes l'intermédiaire de pilotes, caractérisée en ce que la ferme comporte - des moyens (12) pour écrire, dans une mémoire (10) moins une carte processeur (3a) , un système d'exploitation, une partie cliente d'un logiciel de transfert fichiers, un gestionnaire de modules externes et un logiciel d'ajout de modules système externes, ce logiciel d'ajout étant inscrit comme premier programme à exécuter par le système d'exploitation à son démarrage et ayant pour tâches de démarrer partie cliente du logiciel de transfert de fichiers pour télécharger un module système, puis de démarrer le gestionnaire de modules externes pour insérer dans le système d'exploitation ledit module téléchargé, - des moyens (12) pour démarrer à distance le système d'exploitation de la carte processeur, - partie serveur (13) du logiciel de transfert de fichiers pour envoyer sur la carte processeur, à la demande de la partie cliente lorsqu'elle exécute sur ladite carte processeur, un module système externe à exécuter sur la carte processeur. 2. Ferme d'ordinateurs selon la revendication 1, caractérisée en ce que le module système externe est un simulateur de réseau local sur bus (7) entre les cartes processeurs (3a-3h) présentes sur le bus, les écritures dans la mémoire de la carte système d'exploitation, du logiciel d'ajout et du gestionnaire de modules s'effectuant par des cycles d'écriture du bus indépendants de la simulation du réseau. 3. Ferme d'ordinateurs selon l'une quelconque des revendications 1 et 2, caractérisée en ce que le bus (7) est de type PCI ou CompactPCI. 4. Ferme d'ordinateurs selon l'une quelconque des revendications 1 et 2, caractérisée en ce que le réseau local est un réseau Ethernet.