Brevet FR2807594A1 — publié le 20011012

présente invention concerne une ferme d'ordinateurs simulant un réseau local avec surveillance de la simulation. Plus précisément, l'invention est relative à une ferme d'ordinateurs comprenant un sur lequel est simulé un réseau local entre plusieurs cartes processeurs montées sur le bus. On connaît déjà des fermes d'ordinateurs du type comprenant un bus sur lequel est simulé un réseau local. Dans ces fermes, les échanges de données entre ordinateurs sont réalisés via bus, sous un format de paquets de données conforme aux spécifications du réseau local simulé. ce fait, sur chaque ordinateur, le système d'exploitation reçoit et envoie paquets de données exactement de la même manière que s'il était relié aux autres ordinateurs par un véritable réseau local. type de simulation est particulièrement intéressant, étant donné que transfert des données par le bus permet d'atteindre des taux de transfert sans commune mesure avec ceux des réseaux locaux, et ce avec une fiabilité très supérieure du fait que la structure du bus évite les collisions de données. L'inconvénient de tels réseaux simulés est qu'ils peuvent connaître des dysfonctionnements dont l'origine n'est pas toujours facile à diagnostiquer. effet, si un logiciel système ou d'application s'exécute de façon anormale sur un des ordinateurs, la situation est la même que sur un véritable réseau local. En revanche, s'il s'agit d'un dysfonctionnement de la simulation du réseau local, la situation est propre aux réseaux simulés et les logiciels autres que ceux concernés par la simulation ne doivent pas être mis en cause. La difficulté est que la seule constatation d'une panne sur un ordinateur de la ferme ne permet pas de distinguer entre ces deux catégories de dysfonctionnements. La présente invention vise à proposer une solution pour diagnostiquer les dysfonctionnement de la simulation du réseau. La présente invention a pour objet une ferme d'ordinateurs comprenant un bus sur lequel est simulé un réseau local entre plusieurs cartes processeurs montées sur ce bus, caractérisée en ce que chaque carte comporte d'une part, mémorisée dans une mémoire non volatile, une fonction de test qui met en oeuvre, lors de son exécution, au moins une partie des fonctionnalités nécessaires à la simulation du réseau local sur la carte et effectue un calcul donné pour fournir un résultat, d'autre part un module d'exécution de la fonction de test, qui scrute en permanence une zone mémoire paramètre prédéfinie de carte et, lorsqu'il détecte une valeur inscrite dans la zone mémoire paramètre, déclenche l'exécution de la fonction test avec ladite valeur comme paramètre, la ferme comporte un moyen de test qui exécute périodiquement les opérations suivantes inscription, dans la zone mémoire paramètre de chacune des cartes processeurs, d'une valeur spécifique à chaque carte processeur et àlchaque inscription, par un cycle d'écriture du bus indépendant du fonctionnement du réseau simulé, exécution du même calcul que la fonction test en prenant ladite valeur comme paramètre, pour obtenir un résultat de référence, - récupération du résultat du calcul effectué par la fonction test de la carte processeur, - comparaison avec le résultat de référence, - en cas de différence entre les deux résultats, déclenchement d'une action de remise à niveau de la carte processeur. L'intérêt de la ferme selon l'invention est que les fonctionnalites nécessaires à la mise en oeuvre de la simulation sont régulièrement testées chaque carte processeur de la ferme, par un moyen de test qui communique avec chaque carte via le bus, et indépendamment de l'état des simulations du réseau sur chaque carte. De cette manière, si la simulation du réseau sur l'une des cartes ne fonctionne pas correctement, le test pourra quand même se dérouler et, éventuellement, un diagnostic plus complet de la carte pourra être entrepris. Dans un mode de réalisation particulier de l'invention, la remise à niveau de la carte consiste en sa réinitialisation. Dans un mode de réalisation particulier de l'invention, la valeur inscrite dans la zone mémoire paramètre dépend notamment de l'emplacement de carte sur le bus. Cette valeur peut également être déterminée en fonction d'autres critères choisis manière qu'une valeur unique soit fournie à chaque carte et à chaque test lors du calcul. La présente invention s'applique notamment à des simulations de réseau sur bus type PCI ou CompactPCI pour 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 d'un test d'une des cartes processeurs. La ferme 1 représentée sur le dessin comporte un boîtier 2 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 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 par l'intermediaire de ponts 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 designé registre paramètre 8 dans la suite de la description. Dans l'exemple décrit, la carte 3h joue le rôle de carte moniteur. Elle surveille l'état des autres cartes. Pour la clarté du dessin, seuls les détails de la carte 3a et de carte moniteur 3h vont être décrits. Les autres cartes 3b à 3,g 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 rapport avec la présente invention. La carte 3a comporte une mémoire non volatile 9, par exemple une mémoire morte (ROM), 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 ces fonctions est une fonction de test 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 moniteur 3h. Cette instruction est donnée par le programme de surveillance 10 qui s'exécute en boucle sur la carte moniteur. En référence à la figure 3, on va maintenant décrire la manière dont la carte moniteur 3h teste la simulation du réseau sur les autres cartes 3a à 3g. Le programme de surveillance 10 de la carte moniteur 3h envoie de manière périodique, par exemple toutes les secondes, un paramètre P de fonction spécifique à chaque carte 3a_ à 3g. Ce paramètre P tient compte du numéro d'emplacement de la carte testée sur le bus, du numéro du test effectué pour l'ensemble des cartes et d'un nombre aléatoire fourni par la carte moniteur, afin que le paramètre en question soit unique non seulement parmi les paramètres envoyés lors du même cycle de test aux autres cartes mais également parmi tous les paramètres déjà fournis aux cartes lors de tests précédents. L'envoi du paramètre s'effectue en mode maître-esclave, par écriture directe via bus de sa valeur dans le registre paramètre 8 de la carte testée. La carte moniteur 3h contient une fonction test 11. Le programme de surveillance déclenche l'exécution de cette fonction test sur carte moniteur avec le même paramètre et récupère le résultat fourni par cette fonction test. Ce résultat sera désigné dans la suite résultat de référence. Sur la carte processeur 3a, le module d'exécution à distance s'exécute aussi en boucle fermée, en scrutant en permanence le registre paramètre 8. Lorsqu'il détecte la valeur inscrite par le programme de surveillance, le module d'exécution à distance déclenche l'exécution d'une fonction test 12 identique a celle contenue par la carte moniteur 3h, avec la valeur P du registre paramètre 8 comme paramètre de cette fonction. La fonction test s'exécute et effectue un calcul sur la base de la valeur fournie en paramètre, puis retourne un résultat qui est inscrit dans le même registre paramètre 8. Le programme de surveillance lit le résultat inscrit dans le registre paramètre 8 avec le résultat de référence et - soit constate l'identité des deux résultats, auquel cas la carte est considérée comme simulant correctement le réseau, - soit constate une différence entre les deux résultas, auquel cas la carte est considérée comme ne fonctionnant pas normalement. Dans le second cas, la carte est réinitialisée et réinstallée dans la ferme. Dans le premier cas, aucune action n'est entreprise, la surveillance de la carte est maintenue par exécution du même cycle de test à la prochaine période, par exemple une seconde après. On comprend que la surveillance de simulation réseau selon l'invention fournit un diagnostic fiable car les paquets de données de type réseau qui sont échangés entre les cartes dans le cadre de la simulation réseau empruntent exactement la même méthode d'envoi, par écriture directe lors de cycles d'écriture du bus, le paramètre qui est fourni à la fonction test. Si le passage du paramètre et la récupération du résultat s'effectuent sans erreur, on peut donc considérer sans faire une trop grande approximation les transferts de paquets de données sont fiables. La différence dans le traitement des paquets de données par le logiciel de simulation se situe dans le fait que ces paquets données sont transmis à la couche supérieure du réseau sous un format respectant le protocole du réseau simulé, de sorte que la simulation réseau est parfaitement transparente pour les systèmes d'exploitation qui s'exécutent sur les cartes, alors que les paramètres de test demeurent dans la couche de simulation et sont jamais transmis au système d'exploitation de la carte. Le mode de réalisation ci-dessus n'est qu'un exemple fourni 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 (7) sur lequel est simulé un réseau local entre plusieurs cartes processeurs (3a-3h) montées sur le bus, caractérisée en ce que - chaque carte comporte d'une part, mémorisee dans une mémoire non volatile (9), une fonction de test (11) qui met en oeuvre lors de son exécution, au moins une partie des fonctionnalités nécessaires à la simulation du réseau local sur la carte et effectue un calcul donné pour fournir résultat, d'autre part un module d'exécution de la fonction de test, qui scrute en permanence une zone mémoire paramètre (8) prédéfinie de la carte et, lorsqu'il détecte une valeur inscrite dans la zone mémoire paramètre, déclenche l'execution de la fonction test avec ladite valeur comme paramètre, - la ferme comporte un moyen de test qui exécute périodiquement les opérations suivantes - inscription, dans la zone mémoire paramètre (8) de chacune des cartes processeurs, d'une valeur (P) spécifique à chaque carte processeur et à chaque inscription, par un cycle d'écriture du bus indépendant du fonctionnement du réseau simulé, - exécution du même calcul que la fonction test en prenant ladite valeur comme paramètre, pour obtenir un résultat de référence, - récupération du résultat du calcul effectué par la fonction test de la carte processeur, - comparaison avec le résultat de référence, - en cas de différence entre les deux résultats, déclenchement d'une action de remise à niveau de la carte processeur. 2. Ferme d'ordinateurs selon la revendication 1, caractérisée en ce que la valeur (P) inscrite dans la zone mémoire paramètre dépend notamment de l'emplacement de la carte sur le bus. 3. Ferme d'ordinateurs selon l'une quelconque des revendications 1 et 2, caractérisée en ce que la remise à niveau de carte consiste en sa réinitialisation. 4. Ferme d'ordinateurs selon l'une quelconque des revendications 1 à 3, caractérisée en ce que le bus est de type PCI ou CompactPCI. 5. Ferme d'ordinateurs selon l'une quelconque des revendications 1 à 4, caractérisée en ce que le réseau local est un réseau Ethernet.