Brevet FR2840701A1 — publié le 20031212

anneaux superposes vent formees par les bords circulaires des anneaux. - 1 - > La presente invention concerne un procede pour synchroniser un ensemble d'ordinateurs utilises en cluster. Wile vise egalement un dispositif de synchronisation pour la mise en ceuvre du procede selon ['invention. On considere ici un ensemble d'ordinateurs de type PC, appele couramment cluster de PC. Chaque ordinateur de ce cluster est equipe d'une carte graphique. Lorsqutun cluster de machines est utilise pour la generation et le traitement d'images numeriques, une difficulte reside dans la synchronisation des cartes graphiques standard equipant chacune de ces machines. En effet, les horloges respectives de ces cartes graphiques n'ont pas en pratique des periodes identiques et ne vent pas synchrones. Jusqu'a present, il etait considere qu'une synchronisation des cartes graphiques d'un cluster n'est pas envisageable car cette synchronisation ne pourrait pas Gtre suffisamment rapide pour fournir une qualite suffisante et aurait un impact negatif trop important sur les temps d ' execution d es machines. 2 0 Le but de la presente invention est de lever cet obstacle en proposant un procede de synchronisation diun ensemble d'ordinateurs utilises en cluster, qui satisfasse les exigences de qualite attendues pour des images tridimensionnelles generees et traitees, sans penaliser la vitesse d'execution du cluster. 2 5 Cet objectif est atteint avec un procede pour synchroniser un ensemble d'ordinateurs utilises en cluster, caracterise en ce qu'il comprend les etapes suivantes: - acquerir sur chaque carte graphIque du cluster un signal caracteristique, - decoder lesdits signaux caracteristiques ainsi acquis, pour generer un signal numerique de synchronisation, - traiter lesdits signaux numeriques de synchronisation, et - 2 - modifier si necessaire les periodes d'affichage respectives desdites cartes graphiques en fonction du resultat du traitement desdits signaux de synchronisation. Ainsi, avec le procede selon ['invention, il est desormais possible d'obtenir une synchronisation d'un cluster d'ordinateurs, sans requerir de modification materielle des cartes graphiques equipant ces ordinateurs. On peut en pratique obtenir une synchronisation a 50 pixels, tout en n'utilisant que des cartes graphiques standards. Dans une forme de realisation avantageuse, les signaux caracteristiques acquis comprennent des signaux VGA generes par les cartes graphiques respectives du cluster. Le traitement des signaux numeriques de synchronisation, en pratique les signaux de synchronisation verticale, conduit de preference a la generation de signaux de recalage appliques respectivement chacun sur une entree d'interruption de chaque processeur equipant respectivement chaque cartes graphique du cluster. Pour chaque carte graphique du cluster, la modification de la periode d'affichage est effectuee par execution d'un sous-programme d/interruption declenche en reponse a la reception d'un signal de recalage sur une entree diinterruption du processeur de ladite carte graphique. Suivant un autre aspect de ['invention, il est propose un dispositif pour synchroniser un ensemble d'ordinateurs utilises en cluster pour generer et traiter des images graphiques, chacun desdits ordinateurs etant equipe d'une carte graphique, ce dispositif mettant en ceuvre le procede selon 2 5 I'invention. Ce Dispositif de synchronisation comprend: - des moyens pour acquerir sur chaque carte graphique du cluster un signal caracteristique, - des moyens pour decoder lesdits signaux caracteristiques ainsi acquis, de 3 0 facon a generer pour chaque carte graphique un signal numerique de synchronisation, - des moyens pour traiter lesdits signaux numeriques de synchronisation issus du decodage, et - des moyens pour modifier si necessaire les periodes d'affichage respectives desdites cartes graphiques en fonction du resultat du traitement desdits signaux de synchronisation. Les moyens de traitement des signaux numeriques de synchronisation vent avantageusement agences pour generer des signaux de recalage appliques respectivement chacun sur une entree d'interruption de chaque processeur equipant respectivement chaque cartes graphique du cluster. D'autres avantages et caracteristiques de ['invention appara^'tront a liexamen de la description detaillee d'un mode de mise en ceuvre nullement limitatif, et des dessins annexes sur lesquels: - la figure 1 est un schema synoptique d'un cluster d'ordinateurs equipes d'un dispositif de synchronisation selon ['invention; et - la figure 2 est un chronogramme illustrant ['evolution temporelle de signaux caracteristiques mis en couvre dans le procede de synchronisation selon ['invention. On va maintenant decrire, en reference a la figure precitee, un exemple de realisation d'un dispositif de synchronisation selon ['invention, ainsi que le procede mis en ceuvre dans ce dispositif. On considere un ensemble ou cluster diordinateurs M1,...,Mi,...,Mn utilises en parallele et pourvus chacun d'une carte graphique CG1, Cgi,... ,CGn. Ces ordinateurs vent controles par une unite de pilotage qui coordonne et commande leurs taches respectives, par exemple la 2 5 generation de portions d'une image video numerique, destinee a etre visualisee sur un ecran unique ou sur un mur d'ecrans. Le dispositif de synchronisation 1 comprend un circuit de decodage qui recoit en entree des signaux VGA issus de chacune des cartes graphiques et genere des signaux de synchronisation decodes, et une unite 3 o de traitement qui traite ces signaux de synchronisation pour delivrer en retour des signaux de recalage appliques sur des entrees d' interruption respectives des processeurs equipant chaque carte graphique. Le dispositif de synchronisation 1 est connecte d'une part a une horloge externe de reference et d'autre part a ['unite de pilotage pour recevoir des informations sur la synchronisation effective ou le decalage des signaux video numeriques delivres par chaque carte graphique du cluster. Lorsqu'une desynchronisation entre deux cartes graphiques ou plus est detectee, le dispositif de synchronisation 1 genere un signal de recalage sur la ou les cartes graphiques concernees, avec pour effet de declencher ['execution d'un ou plusieurs sous-programmes d' interruption par le ou les processeurs des cartes graphiques a recaler ou resynchroniser. Ces sous- programmes d'interruption ont pour fonction de modifier les periodes d'affichage des cartes graphiques. Le processus de recalage mis en ceuvre dans le procede de synchronisation selon ['invention a pour effet de synchroniser les donnees Image 1, Image 2,...1mage N generees respectivement par ies cartes graphiques des ordinateurs 1,2,...,N du cluster, en reference a la figure 2. Ainsi, si l ton observe les signaux de synchronisation vertical e decodes Vsync1, Vsync2,...,VsyncN issus respectivement des cartes graphiques CG1,. ..,CG2,...CGN, on constate que ces signaux ne vent pas synchrones du fait de differences, memes tres falbles, entre les periodes d'affichage dtimage T1, T2,...,TN. Les executions des sous-programmes d/interruption commandees par les signaux de recalage generes par le dispositif de synchronisation ont pour effet de fournir ['equivalent d'un signal de synchronisation Vsync commun a ltensemble des cartes graphiques du cluster, avec pour consequence une synchronisation des flux de donnees Image 1, Image 2,...,1mage N delivres par les cartes graphiques CG 1, CG2, ...,CGN. Ces flux de donnees synchronises vent alors traites par ['unite de pilotage pour delivrer un signal video resultant applique sur le moniteur ou ecran graphique E pour produire une image resultante issue du traitement graphique du cluster. - s Bien sOr, I'invention n'est pas limits flux examples qua viennenl d'6tre daunts et de nombreux amdnagemenls peuven1 Atre spportAs ces examples sons sorer du Cadre de Clnventlon. s as REVENDICATIONS 1. Procede pour synchroniser un ensemble d'ordinateurs (M 1, M2, Mi,..Mn) utilises en cluster pour generer et traiter des images graphiques, chacun desdits ordinateurs etant equipe diune carte graphique (CG 1, CG2,,Cgi, CGn), caracterise en ce qutil comprend les etapes suivantes: - acquerir sur chaque carte graphique du cluster un signal caracteristique, - decoder lesdits signaux caracteristiques ainsi acquis, pour generer un signal numerique de synchronisation, - traiter lesdits signaux numeriques de synchronisation, et - modifier si necessaire les periodes d'affichage respectives desdites cartes graphiques en fonction du resultat du traitement desdits signaux de synchronisation. 2. Procede selon la revendication 1, caracterise en ce que les signaux caracteristiques acquis comprennent des signaux VGA generes par les cartes graphiques respectives du cluster. 3. Procede selon l'une des revendications 1 ou 2, caracterise en ce que le traitement des signaux numeriques de synchronisation conduit a la generation de signaux de recalage appliques respectivement chacun sur une entree d'interruption de chaque processeur equipant respectivement chaque cartes graphique du cluster. 4. Procede selon la revendication 3, caracterise en ce que pour chaque carte graphique du cluster, la modification de la periode d'affichage est effectuee par execution diun sous-programme d'interruption declenche en reponse a la reception d'un signal de recalage sur une entree d'interruption du processeur de ladite carte graphique. 5. Dispositif (1) pour synchroniser un ensemble d'ordinateurs (M1,M2,..., Mi,...,Mn) utilises en cluster pour generer et traiter des images graphiques, chacun desdits ordinateurs etant equipe d'une carte graphique (CG1, CG2,...,Cgi,...CGn), ce dispositif mettant en ceuvre le procede selon I'une quelconque des revendications precedentes: caracterise en ce qu'il comprend; - des moyens pour acquerir sur chaque carte graphique du cluster un signal caracteristique, - des moyens pour decoder lesdits signaux caracteristiques ainsi acquis, de facon 3 generer pour chaque carte graphique un signal numerique de synchronisation, - des moyens pour traiter lesdits signaux numeriques de synchronisation issus du decodage, et - des moyens pour modifier si necessaire les periodes d'affichage respectives desdites cartes graphiques en fonction du resultat du traitement desdits signaux de synchronisation. 6. Dispositif selon la revendication 5, caracterise en ce qu'il comprend des entrees d'acquisition de signaux caracteristiques sur les sorties VGA des differentes cartes graphiques du cluster. 7. Dispositif selon l'une des revendications 5 ou 6, caracterise en ce que les moyens de traitement des signaux numeriques de synchronisation vent agences pour generer des signaux de recalage appliques respectivement 2 5 chacun sur une entree d' interruption de chaque processeu r equipant respectivement chaque cartes graphique du cluster. 8. Dispositif selon la revendication 7, caracterise en ce qu'il comprend en outre des terminaux de sortie de recalage connectes respectivement 3 des entrees d'interruption respectives de processeurs equipant respectivement