FR 2608807 A1 19880624 FR 8718115 A 19871218 SYSTEME MULTI PROCESSEUR ET PROCEDE D'EQUILIBRAGE DE CHARGE POUR LEDIT SYSTEME La présente invention concerne de manière générale un système multi processeur et un procédé d'équilibrage de charge destinée audit système, et particulièrement à un système multi processeur disposant d'une pluralité de processeurs et d'un réseau, et d'un procédé de trai- tement d'équilibrage de charge dans le système multi processeur, dans lequel une charge de travail donnée est répartie entre une pluralité de segments de charge, chacun de ces segments de charge étant attribué dynami- quement à un processeur prédéterminé tout en gérant le système multi processeur. Le système multi processeur classique dispose d'une pluralité de processeurs et d'un réseau. Dans le cas o une charge donnée, écrite dans un langage de program- mation logique (par exemple PROLOG) est exécutée en parallèle dans le système multi processeur classique, la charge donnée (ou une tâche initiale) est répartie entre une pluralité de segments de charge initiale, qui sont attribués à tous les processeurs dans le cadre d'un étage d'équilibrage de charge initiale. De manière plus *25 spécifique, un premier segment de charge initiale est attribué à un premier processeur, par le biais duquel on obtient des données représentatives du résultat du trai- tement effectué sur le premier segment de charge ini- tiale, et les données en question doivent être trans- mises à un second processeur qui commence à traiter un second segment de charge initiale de ces données en utilisant lesdites informations. Ainsi, les données représentatives du résultat du traitement dans le pro- cesseur en cours de fonctionnement doivent être trans- mises au processeur suivant, qui est inoccupé au moment présent, mais qui commencera à traiter le segment de charge initiale desdites données en obéissant aux ins- tructions des données sus-mentionnées. Comme ci-dessus décrit, les segments de charge initiale sont attribués séquentiellement et à tour de rôle aux processeurs. Ain- si, le système multi processeur classique a-t-il besoin d'un temps de traitement prolongé avant la mise en exé- cution de ladite charge en parallèle au sein dudit sys- tème. Au moment o la tâche initiale est attribuée à un processeur, l'ensemble des processeurs inoccupés dans le cadre du système multi processeur ne travaille pas. Ainsi, un processeur doit répartir la tâche initiale donnée en une pluralité de segments de charge initiale qui doivent être attribués aux autres processeurs. De plus, le système multi processeur classique doit fournir le réseau permettant la transmission d'une information concernant la charge initialement attribuée et devant être répartie. Pour cette raison, le système multi pro- cesseur classique ne peut effectuer un équilibrage de charge initiale de la tâche initiale à grande vitesse. A l'origine, il est possible d'obtenir une amélioration des performances résultant d'un effet de traitement en parallèle, et destiné à améliorer les temps de traite- ment (effet ci-après appelé simplement effet parallèle) lorsqu'une charge donnée est exécutée en parallèle dans le système multi processeur classique. Cependant, le système multi processeur classique souf- fre d'un problème dans la mesure o il n'est pas pos- sible d'obtenir un tel effet parallèle dans les faits, et ce pour les raisons ci-dessus décrites. De plus, ledit processeur unique sus-mentionné, auquel est attribué la tâche initiale doit transmettre une certaine part des informations contenues dans ladite tâche à tous les autres processeurs; il en résulte que la quantité d'informations à transmettre augmente ainsi en volume. Ainsi, le système multi processeur clas- sique souffre-t-il d'un autre problème, à savoir que des capacités élevées de transfert de données à grande vi- tesse et la possibilité de transfert de grandes quan- tités de données sont nécessaires pour le réseau dans le contexte d'un système multi processeur classique. Par ailleurs, une description détaillée est four- nie dans le contexte des problèmes sus-mentionnés, en considérant que le langage de programmation logique (par exemple PROLOG) est exécuté dans le cadre du système multi processeur classique. Dans un processus permettant l'exécution séquen- tielle du PROLOG (illustré dans la figure 2), une prio- rité prédéterminée (soit par exemple une recherche de premier niveau) est attribuée de telle manière que les branches sont explorées de haut en bas et de gauche à droite dans le cadre d'un arbre d'inférence (ou un arbre de controle) du PROLOG. Lorsque le système ne peut trou- ver la branche correcte (ou la branche souhaitée) dans le cours de la recherche, le système retourne au noeud précédent et explore toutes les branches qui s'y rat- tachent de manière à déterminer la branche correcte. Au contraire, dans le cadre d'un autre procédé d'exécution en parallèle du PROLOG, une pluralité de processeurs explore simultanément une certaine section ou toutes les sections de l'arbre d'inférence de manière à découvrir les branches correctes en accord avec une première exploration en largeur prédéterminée. Ce pro- cédé s'appelle une exécution en parallèle OU, dans la- quelle on divise toutes les branches de l'arbre d'in- férence en des sections multiples (ci-après appelées procédé OU) chacune comportant un certain nombre de branches, et tous les procédés OU sont respectivement attribués aux processeurs inoccupés lors de l'attribu- tion de la tâche initiale au système. Dans ce cas, une information nécessaire pour exécuter chaque traitement OU doit être transmise au processeur inoccupé correspon- dant. Selon la description ci-dessus, un processeur auquel la tâche initiale a été attribuée doit répartir la tâche initiale donnée en une pluralité de segments de charge initiale qui doivent être attribués aux autres proces- seurs inoccupés, lors de l'étage initial d'équilibrage de charge. Aussi, est-il impossible que le système clas- sique effectue l'équilibrage de charge initiale à grande vitesse. Cependant, à l'issu de l'équilibrage de charge effectué entre le premier et le deuxième processeur dans le cadre du système multi processeur, il est souhaitable que le premier et le deuxième processeurs puissent ef- fectuer indépendamment des traitements respectifs sans que des données représentatives d'un environnement de travail du premier processeur ne soient transmises au deuxième processeur. Afin d'effectuer l'équilibrage de charge sus-men- tionné dans le cadre d'un système multi processeur clas- sique, un environnement de travail prédéterminé, néces- saire pour le second processeur doit être extrait (ou choisi), des environnements de travail obtenus par l'exécution de traitements prédéterminés dans le cadre du premier processeur avant que ne soit effectué l'é- quilibrage de charge dans le premier processeur, et ledit environnement de travail prédéterminé, doit être transmis au second processeur. En d'autres termes, le sus-dit environnement de travail prédéterminé est identique par rapport à l'in- formation obtenue en exécutant les traitements prédéter- minés autres que ledit procédé d'équilibrage de charge dans le cadre du premier processeur. Un tel environne- ment de travail prédéterminé est nécessaire pour le second processeur dans le cas o une certaine proportion de la charge de travail à exécuter dans le premier pro- cesseur est partagée avec, et exécutée par le second processeur. De plus, la quantité d'informations repré- sentatives des environnements de travail doit être aug- mentée au fur et à mesure que le système traite ladite charge. Pour cette raison, une assez grande quantité d'informations doit être transmise aux autres proces- seurs dans le cas o l'on procède à l'équilibrage de charge après qu'un long traitement ait été exécuté dans chaque processeur. Selon ce qui est décrit ci-dessus, le premier pro- cesseur doit arrêter d'exécuter le traitement original et doit extraire l'environnement de travail prédéterminé nécessaire à l'équilibrage de charge à partir des en- vironnements de travail concernés (lors d'une étape de génération de charge), et c'est alors que ledit environ- nement de travail prédéterminé, chargé d'une importante quantité d'informations, doit être transféré au deuxième processeur. Par la suite, le second processeur doit stocker les informations qui lui ont été transmises (dans le cours d'une étape de mémorisation de charge) afin de continuer le traitement original desdites infor- mations. En détail, une conversion de données doit être exigée pour le transfert desdites informations par l'u- tilisation du réseau. Dans la présente demande, le sens de "conversion de données" sera considéré comme étant inclu dans les sens attribués aux termes "génération de charge" et "mémorisation de charge" sus-mentionnés. Comme on peut le voir dans la figure 1, un certain temps système doit inévitablement être accompagné de l'équilibrage de charge sus-mentionné dans un système multi processeur classique. Dans la figure 1, le pre- mier processeur ne peut éviter l'apparition d'un premier temps système, et le second processeur non plus ne peut éviter la survenance d'un second temps système. En raison du temps système qui accompagne l'équi- librage de charge (ou en particulier en raison de l'ar- rêt du traitement dans le premier processeur), aucun processeur ne peut montrer la capacité de traitement nécessaire en fonction de toutes les unités de temps retenues. De plus, l'équilibrage de charge doit être effectué entre processeurs selon une chronologie arbi- traire et asynchrone. Ainsi, le système multi pro- cesseur classique souffre-t-il du problème suivant: il n'est pas possible de démontrer l'effet parallèle sus- décrit. Cet effet parallèle peut être évalué par la capacité totale qu'il est possible d'obtenir à partir de la formule suivante: (capacité totale) = (capacité de traitement de chaque processeur) x (nombre de processeurs pouvant fonctionner en parallèle en vue de traiter la charge donnée). Ainsi, le système conventionnel doit-il avoir besoin d'un réseau extrêmement onéreux, capable de transférer une masse importante d'informations selon une chrono- logie arbitraire et asynchrone. En vue de transférer la quantité importante d'informations, le réseau est oc- cupé pendant de longues périodes de temps, ainsi, il devient impossible d'effectuer correctement l'équili- brage de charge entre les processeurs. Le système clas- sique souffre donc d'un problème dans la mesure o un déséquilibrage de charge doit inévitablement se pro- duire. En comparaison avec une récente amélioration de la vitesse de traitement du processeur, l'amélioration de la vitesse de transfert du réseau dans le cadre du système multi processeur est relativement faible. On crée ainsi une tendance à augmenter les temps de com- munication du réseau plus que ceux des processeurs. Dans ce cas, le problème sus-mentionné devient sérieux. Au fur et à mesure que le nombre de processeurs dans le système multi processeur augmente, cette tendance de- vient remarquable. Ensuite, une description du problème sus-mentionné est donnée de manière concrète dans le cadre de la fi- gure 2, lorsque l'on exécute le PROLOG en parallèle dans le système multi processeur. Dans le cas o le premier processeur effectue l'é- quilibrage de charge sur le second processeur dans le cadre de l'exécution parallèle OU ci-dessus décrite, le premier processeur divise un traitement OU provenant de toutes les branches de l'arbre d'inférence, et le trai- tement OU ainsi divisé est attribué au second proces- seur. Dans ce cas, les données de transmission (données devant être transmises du premier processeur au second processeur) peuvent être classées sous l'entête de don- nées de transmission primaire et secondaire. Les données de transmission primaire représentent les informations du traitement OU divisé. Les données de transmission se- condaire représentent les informations du traitement OU divisé plus une autre catégorie d'informations néces- saires pour l'exécution du traitement OU divisé. Le premier processeur doit transférer les sus-dites données de transmission secondaire au deuxième proces- seur lorsque les premiers et seconds processeurs exécu- tent indépendamment ces traitements respectifs après un stade d'équilibrage de charge. Et ce parce que le deuxi- ème processeur doit se référer à l'environnement de travail du premier processeur, lorsque ledit premier processeur transmet au second processeur les premières données de transmission au lieu des deuxièmes données de transmission. Cependant, les deuxièmes données de transmission doivent inclure des informations représentatives de la quantité importante d'informations de l'environnement de travail du premier processeur, qui est nécessaire pour l'exécution du traitement OU divisé. Cet environnement de travail dans l'exécution du PROLOG comprend "des données de liaison" représentatives d'une relation d'in- terconnection entre les variables et les valeurs et "des informations de controle" pour controler le déroulement du PROLOG, par exemple. L'environnement de travail sus-mentionné est créé par le premier processeur avant la mise en oeuvre de l'équilibrage de charge. Le second processeur nécessite un tel environnement de travail pour pouvoir exécuter le traitement OU divisé après l'exécution de l'équilibrage de charge. Et ce parce que, lorsque le deuxième pro- cesseur obtient indépendamment une solution (ou un ré- sultat de traitement) dans le cadre de la tâche ini- tiale, en effectuant le traitement OU divisé, le second processeur peut avoir besoin de l'ensemble des informa- tions de liaison produites par le premier processeur entre l'instant o la tâche initiale est attribuée, et un instant subséquent dans lequel le premier processeur commence à effectuer l'équilibrage de charge. De plus, la quantité de telles données de liaison doit augmenter presque en proportion avec le temps de traitement. Pour cette raison, le premier processeur doit transférer une quantité assez importante d'informations représentatives de l'environnement de travail dudit premier processeur au second processeur, lorsque le premier processeur ef- fectue l'équilibrage de charge pour le second processeur à l'issue d'un temps de traitement prolongé. Dès lors que le premier processeur doit diviser le traitement OU, et transmettre l'importante quantité d'informations représentatives de l'environnement de travail dudit premier processeur, chaque fois que ledit premier processeur effectue l'équilibrage de charge sur le deuxième processeur, il sera nécessaire d'interrompre de manière intermittente le traitement original du pre- mier processeur. D'autre part, dès lors que le deuxième processeur reçoit l'environnement de travail du premier processeur à chaque exécution de l'équilibrage de charge, le trai- tement original du deuxième processeur doit être inter- rompu afin de permettre la réception de l'importante quantité d'informations représentant l'environnement de travail du premier processeur ainsi que la mémorisation de l'information ainsi transmise. Donc, chaque processeur ne pourra démontrer sa capacité de traitement. De plus, l'équilibrage de charge est nécessaire entre les processeurs dans une situation de chronologie arbitraire et asynchrone. Ainsi, le sys- tème multi processeur souffre-t-il du problème issu du fait qu'il est impossible d'obtenir l'effet parallèle ci-dessus décrit. De plus, le système classique exige un réseau ex- trémement onéreux pour permettre la transmission d'une importante quantité d'informations dans le cadre de la chronologie arbitraire et asynchrone. Dans le présent cas, le réseau est occupé longuement pour permettre la transmission d'une importante quantité d'informations, ainsi, il devient presque impossible d'effectuer l'équi- librage de charge entre processeurs. Pour cette raison, le système multi processeur classique souffre du pro- blème résultant du déséquilibrage de charge qui se pro- duit selon la description ci-dessus. Le problème sus-mentionné devient sérieux dans le cadre d'une machine à inférence séquentielle récemment développée (ou machine PROLOG) qui peut exécuter elle même l'inférence séquentielle à grande vitesse. Ceci résulte du fait que lorsque le système multi processeur gère un millier de machines de ce genre (c'est-à-dire de processeurs), et plus encore en parallèle, le système classique entraine une tendance se traduisant par le fait qu'une amélioration de la vitesse de transfert des données du réseau devient plus faible que celle de la vitesse de traitement de chaque machine ci-dessus décri- te. Au fur et à mesure qu'augmente le nombre de proces- seurs dans le système multi processeur, la tendance sus- mentionnée devient de plus en plus remarquable. La machine d'inférence séquentielle de 1 MLIPS (c'est-à-dire un million d'inférences logiques par se- conde) produit l'environnement de travail qui contient environ 5 méga mots d'informations (dans le cas de quarante bits/mot). Par exemple, il sera nécessaire de disposer d'un interface série de 10 MBPS (c'est-à-dire mégas bits par seconde) entre deux processeurs ad- jacents dans le réseau qui interconnecte toutes les machines d'inférence séquentielle disposées, au nombre de mille, dans le système multi processeur. Dans ce cas, il est possible de transférer 0,25 méga mots d'informa- tions (nombre obtenu en divisant 10 MBPS par 40 bits/- mot) par seconde, représentant l'environnement de tra- vail entre deux processeurs adjacents. Dans ce cas, le temps de traitement pour l'exécu- tion de l'inférence divisé par le temps de communication du réseau devient égal à 1/20, ladite valeur 20 étant obtenue en divisant 5 méga mots par 0,25 méga mots. En raison de l'équilibrage de charge (ou en raison de la transmission d'une importante quantité d'informations en particulier), la machine d'inférence séquentielle (c'est-à-dire le processeur) doit interrompre l'exécu- tion du traitement d'inférence original pendant une période de temps prolongée. Ainsi, la capacité apparente de traitement de la machine d'inférence séquentielle doit-elle être réduite. Dès lors que les processeurs, qui fonctionnent, et le réseau sont occupés à transmettre les informations représentatives des environnements de travail pendant une longue période de temps, il devient impossible d'ef- fectuer l'équilibrage de charge nécessaire, de telle ma- nière que la disponibilité réelle du processeur doit être révisée en baisse. Ainsi, l'effet parallèle im- pliqué au système multi processeur doit être révisé en baisse selon ce qui est expliqué ci-dessus. Un objectif primordial de la présente invention consiste donc à permettre un procédé de traitement d'é- quilibrage de charge dans un système de multi proces- seur, qui pourra atteindre un effet parallèle élevé, en effectuant l'équilibrage de charge initiale de la tâche initiale à grande vitesse lorsque le langage de program- mation logique est exécuté en parallèle dans le système multi processeur. Un autre objet de la présente invention consiste à proposer un procédé de traitement d'équilibrage de char- ge dans un système multi processeur, qui réduise de manière significative la quantité d'informations trans- mise entre les processeurs, afin d'effectuer l'équili- brage de charge à grande vitesse, et sans interruption intermittente du traitement original de chaque proces- seur, afin que l'on puisse obtenir un effet parallèle élevé, même lorsque l'on adapte un réseau d'un coût raisonnable au système multi processeur. Dans un premier aspect de cette invention, un sys- tème multi processeur est proposé pour le traitement d'une charge donnée, écrite dans un langage de program- mation prédéterminé, caractérisé en ce qu'il comprend: - une pluralité de processeurs et un réseau pour interconnecter lesdits processeurs, - chacun des processeurs comprenant: a.des premiers moyens de mémorisation d'informa- tions système représentant des caractéristiques du système multi processeur, et b.des seconds moyens de sélection automatique et dynamique d'un segment spécifique de la charge initiale à partir de la charge donnée en faisant appel aux informations-système, sans transmission d'informations, entre les processeurs; d'o il résulte qu'on obtient un équilibrage de charge initiale dans le système multi processeur. Dans un deuxième aspect de l'invention, on propose un système multi processeur pour le traitement d'une charge donnée écrite dans un langage de programmation prédéterminé, caractérisé en ce qu'il comprend: - une pluralité de processeurs et un réseau pour interconnecter lesCits processeurs - chacun des processeurs comprenant: a.un premier moyen pour générer une information historique, dont le volume est inférieur à celui d'une information représentant l'environnement de travail total d'un processeur source tout en effectuant le traitement d'un segment de charge spécifique attribué à chaque processeur; b.un second moyen pour permettre la transmission de l'information historique à un processeur récepteur, tout en travaillant dans le cadre du système multi processeur, c.des troisièmes moyens de reproduction de l'en- vironnement de travail du processeur source met- tant en oeuvre l'information historique transmise à partir d'un processeur source, et d.des quatrièmes moyens pour effectuer le traite- ment d'un segment de charge spécifique en utili- sant l'environnement de travail reproduit du pro- cesseur source,d'o il résulte qu'un équilibrage de charge est obtenu au niveau du système multi processeur. Dans un troisième aspect de l'invention, on propose un procédé d'exécution d'équilibrage de charge dans un système multi processeur, équipé d'une pluralité de processeurs et d'un réseau interconnectant lesdits pro- cesseurs, auquel est attribuée une charge écrite dans un langage de programmation prédéterminé, caractérisé en ce qu'il comprend les étapes suivantes: - mémoriser des informations-système représenta- tives des caractéristiques du système multi processeur, - sélectionner un segment de charge spécifique ini- * tiale, pour chaque processeur à partir de la charge donnée, en utilisant les informations-système, sans transfert d'informations automatique et dynamique entre processeurs, et - traiter indépendamment le premier segment de charge initiale dans chaque processeur, d'o il résulte qu'un équilibrage de charge initiale est obtenu dans le système multi processeur. Dans un quatrième aspect de l'invention, on propose un procédé d'exécution d'équilibrage de charge dans un système multi processeur ayant une pluralité de proces- seurs et un réseau interconnectant lesdits processeurs, auquel est attribuée une charge écrite dans un langage de programmation prédéterminé, caractérisé en ce qu'il comprend les étapes suivantes: - générer une information historique dans un pre- mier processeur,dont le volume est inférieur à celui d'une information représentant l'ensemble de l'environ- nement de travail du premier processeur, alors que le premier processeur traite un premier segment de charge spécifique à lui attribuer, transmettre l'information historique du premier processeur au second processeur tout en gérant le sys- tème multi processeur, - reproduire l'environnement de travail du premier processeur dans le second processeur au moyen de l'in- formation historique transmise dynamiquement à partir du premier processeur, et - traiter un segment de charge spécifique du second processeur dans le cadre dudit second processeur en utilisant l'environnement de travail reproduit du pre- mier processeur, d'o il résulte qu'un effet d'équili- brage de charge est obtenu entre le premier et le second processeur, et un segment partiel de charge du premier processeur est partagé avec le second processeur. Dans un cinquième aspect de l'invention, on propose un procédé d'exécution d'équilibrage de charge dans un système multi processeur équipé d'une pluralité de pro- cesseurs et d'un réseau interconnectant lesdits proces- seurs, auquel est attribué une charge écrite, dans un langage de programmation prédéterminé, caractérisé en ce qu'il comprend les étapes suivantes: - mémoriser des informations-système représen- tatives des caractéristiques du système multi proces- seur, - sélectionner un premier segment de charge spéci- fique pour chaque processeur dars la charge attribuée, par l'utilisation des informations-système, sans trans- mission automatique et dynamique d'informations entre processeurs, - exécuter ledit segment de manière indépendante du segment initial de charge spécifique dans chaque proces- seur, d'o il résulte que l'on obtient un équilibrage de charge initiale dans le système multi processeur, - générer une information historique dans un pre- mier processeur, dont le volume est plus réduit que celui d'un ensemble d'informations représentatif de l'ensemble de l'environnement de travail du premier processeur alors que le premier processeur exécute un segment de charge spécifique qui lui est attribué, - transmettre l'information historique à partir du premier processeur à destination d'un second processeur pendant le fonctionnement du système multi processeur, reproduire l'environnement de travail du premier processeur dans le cadre d'un second processeur par l'utilisation de l'information historique transmise dynamiquement à partir du premier processeur,et - exécuter un segment spécifique de charge du se- cond processeur dans ledit second processeur par l'u- tilisation de l'environnement de travail reproduit du premier processeur, d'o il résulte que l'on obtient un équilibrage de charge entre le premier et le second pro- cesseur, et le partage d'un segment de charge partiel du premier processeur avec le second processeur. D'autres objets et avantages de la présente inven- tion apparaitront au cours de la description ci-dessous, description qui se réfère aux dessins annexés, dans lesquels des formes de réalisation préférées de la pré- sente invention sont clairement illustrées. La figure 1 présente des diagrammes de temps pour expliquer la résultante inévitable en temps système de l'équilibrage de charge dans un système multi processeur classique. La figure 2 illustre un exemple d'un arbre d'in- férence représentant une solution en langage PROLOG. La figure 3 est un schéma fonctionnel illustrant un mode de réalisation pour un système multi processeur complet selon la présente invention. La figure 4 est un schéma fonctionnel illustrant une première réalisation du processeur qui constitue le système multi processeur selon la présente invention. Les figures 5 et 6 illustrent des arbres d'infé- rence pour expliquer l'équilibrage de charge initiale de la tâche initiale traitée dans le système multi pro- cesseur selon la présente invention. Les figures 7 et 8 sont des schémas fonctionnels illustrant l'un et l'autre une seconde réalisation du processeur dans le cadre du système multi processeur selon la présente invention. La figure 9 est une illustration d'une partie d'ar- bre d'inférence du langage de programmation logique pour expliciter un processus d'élaboration pour produire une information historique (représentée par des données de trois mots ou de cinq mots) à transférer dans le premier processeur. La figure 10 illustre en partie un arbre d'infé- rence pour expliquer un processus de reproduction des- tiné à la reproduction de l'environnement de travail nécessaire par l'utilisation de l'information historique transférée (représentée par des données de trois mots) en direction du second processeur. La figure 11 illustre en partie un arbre d'infé- rence pour expliquer un processus de reproduction pour reproduire l'environnement de travail nécessaire par l'utilisation de l'information historique transférée (représentée par des données de cinq mots) en direction du second processeur. La figure 12 illustre en partie un arbre d'infé- rence pour expliquer un processus de reproduction du deuxième processeur, pour la reproduction de l'envi- ronnement de travail nécessaire par l'utilisation de l'information historique transférée représentée par des données de (1 + 2n) mots répondant à des temps "n" pour effectuer l'équilibrage de charge dans le premier pro- cesseur. En se référant aux dessins, dans lesquels des ré- férences semblables désignent des parties semblables ou correspondantes à travers plusieurs vues, la figure 3 est un schéma fonctionnel illustrant la constitution dans son ensemble d'un système multi processeur (1) selon la présente invention. Le système multi processeur (1) (entouré de pointillés) constitue un réseau (entouré par des lignes pointillées) et une pluralité de proces- seurs PRO & PRn (o "n" représente un nombre entier). Ces processeurs PRO à PRn sont interconnectés au moyen du réseau. La présente invention met en évidence chaque processeur plûtot que le réseau, et c'est ainsi que la description du réseau sera omise dans la présente de- mande. Dans une première forme de réalisation une descrip- tion de la constitution d'un premier mode de réalisa- tion du processeur PRi (ou "i" indique un nombre entier entre 1 et "n") est donnée en liaison avec la figure 4. Dans la figure 4, chaque processeur PRi comprend un registre Rpi pour la mémorisation de données représenta- tives d'un identificateur de processeur pi, un registre Rpn pour stocker les données représentatives d'un nombre pn de processeurs (qui sont ciaprès appelés processeurs affectables) qui sont assujettis à l'équilibrage de charge initiale de la tâche initiale, un compteur Cpc pour dénombrer un nombre pc des branches situées à cha- que noeud (par exemple lors de chaque traitement pour rechercher la branche souhaitée en cours de l'équili- brage de charge initiale), une section drapeau F pour mémoriser un drapeau destiné à indiquer si l'équilibrage de charge initiale a été effectué ou pas, une section d'opérations (11) pour effectuer les opérations ainsi que les décisions qui seront décrites ci-après, une mé- moire programme (12) pour stocker les programmes écrits dans le langage de programmation logique et devant être exécutés, et une mémoire de travail (13) pour le stoc- kage des données représentatives des environnements de travail qui sont utilisés pour exécuter les programmes. Ensuite, une description est donnée dans le domaine d'une procédure stratégique pour l'exécution du trai- tement OU dans chaque processeur PRi en liaison avec la figure 5. La figure 5 illustre une procédure stratégique pour effectuer l'équilibrage de charge initiale dans le cas o le nombre de processeurs initialement affectables est de 12 (douze). Dans la figure 5, chacun des ca- ractères pO à pli, désigne chacun des identificateurs pi des 12 processeurs. Dans la description suivante un chiffre id repré- sentant la profondeur d'inférence du langage logique de programmation varie successivement "0","1"l,"2",... au fur et à mesure que le niveau d'inférence s'accroit. De plus, le chiffre id est égale à "O" au stade de la tâche initiale. De plus, un chiffre m (ou m représente un nombre entier) de branches bm connectées sur un noeud commun varie successivement "0","1",... en succession à partir de la branche la plus à gauche. Premièrement, le système multi processeur initia- lise les registres Rpi et Rpn, le compteur Cpc et la section drapeau F. Deuxièmement, les processeurs affectables sont également affectés aux branches de l'arbre d'inférence, lequel prend une structure arborescente au point d'une tâche initiale. Par exemple, cinq processeurs ayant les identificateurs pO, pl, p2, p3 et p4 sont affectés res- pectivement et dynamiquement à cinq branches bO, bl, b2, b3 et b4, qui sont rattachées au noeud commun (c'est-à- dire le point de la tâche initiale) sur la branche si- tuée le plus à gauche. De la même manière sept autres processeurs, ayant les identificateurs p5 à pli sont affectés aux cinq branches bO à b4. Ainsi, trois proces- seurs ayant les identificateurs pO, p5 et plO, sont affectés à la branche bO. De plus, les trois processeurs ayant les identificateurs pl,p6 et pll sont affectés à la branche bl. De la même manière, les deux processeurs ayant les identificateurs p4 et p9 sont affectés à la branche b4. Conformément à ce qui est décrit ci-dessus, plu- sieurs processeurs sont affectés à chacune des branches bO à b4. Les processeurs affectés à une branche défi- nissent les processeurs affectables au niveau d'un stade suivant. Ensuite, le système en question effectue l'équi- 1-ibrage de charge initiale dans le sens de la profondeur d'inférence. De manière similaire à la procédure sus- mentionnée, les processeurs affectés à une branche sont affectés à des branches suivantes raccordées sur une branche. Lorsqu'un processeur est affecté à chacune des branches suivantes, l'équilibrage de charge initiale est complet. Dans ce cas, lorsque le nombre pn de pro- cesseurs affectables est plus petit que le nombre de branches affectables, une branche voisine de la branche affectée par le dernier processeur est mise de côté pour le dernier processeur (c'est-à-dire la branche de droite est mise de côté pour le dernier processeur), mais les branches situées à côté des branches qui sont chacune affectées par les autres processeurs ne sont pas con- cernées (c'est-à-dire les branches de droite sont cou- pées pour les autres processeurs). Par exemple, les processeurs ayant les identifica- teurs pO, p5 et plO sont respectivement affectés aux branches bO, bl et b2 à un niveau d'inférence id = 1, et la branche b3 est conservée pour le pro- cesseur ayant l'identificateur plO. De la même manière, d'autres branches sont affectées par les processeurs correspondants, comme on le voit dans la figure 5. Ce qui précède constitue une explication schéma- tique de l'équilibrage initial de charge pour la tâche initiale. Par la suite, une description généralisée sera donnée dans le domaine de l'équilibrage de charge ini- tiale. En un premier lieu, le système présent initialise les registres Rpi et Rpn, le compteur Cpc et la section de drapeau F selon la description ci-dessous. a) l'identificateur pi de chaque processeur est mémorisé dans le registre Rpi. b) le nombre pn de processeurs affectables est stocké dans le registre Rpn. c) le drapeau d'état "1" attestant que le pro- cesseur est initialisé, est apparent dans la section de drapeau F. Le niveau d'inférence id est égale à "k", dont la valeur varie séquentiellement selon O, 1,... a) dans le cas o le nombre pn de processeurs af- fectables dépasse 1, l'équilibrage de charge initiale est effectué selon la séquence des procédures suivantes (i) à (v). i.le compteur Cpc compte le nombre actuel pc de branches. Dans la figure 5, la valeur de compte du compteur Cpc est égale à "5". ii. la valeur de l'identificateur pi stockée dans registre Rpi est divisée par la valeur de compte du compteur Cpc de manière à obtenir un quotient égale à "a", et un reste égale à "b". Sur la base du quotient et du reste, les processeurs sont affectés aux branches correspondantes. Dans le cas d'un processeur ayant un identifi- cateur pi égale à "8" comme on le voit dans la figure 5, ladite valeur "8" est divisée par la valeur "5" de manière à obtenir un quotient égale à "1" et un reste égale à "3" (c'est-à-dire a = 1 et b = 3). Ceci veut dire que ledit proces- seur est affecté à la branche b3 dans le rôle de second processeur. La valeur ci-dessus désignée "a" est stockée dans le registre Rpi sous la forme d'un nouvel identi- ficateur pi. iii. Ensuite, le système actuel sélectionne une bran- correspondant au reste "b". Lorsque le reste "b" est inférieur à la valeur de (pn - 1), une bran- che à droite d'une telle branche est coupée. Cependant, lorsque le reste "b" n'est pas infé- rieur à la valeur de (pn - 1), une branche à droite d'une telle branche est conservée. Par exemple, les processeurs pO,p5 et plO peu- vent être affectés aux quatre branches bO à b3 sur le côté gauche de le niveau d'in- férence id = 1. Dans ce cas, le nombre pn de processeurs affectables est égale à 3 de telle manière que la valeur de (pn - 1) soit égale à 2. Ainsi, les branches de droite parmi les branches bO et bl sont coupées, et les processeurs pO et p5 sont respectivement affec- tés aux branches bO et bl. Au contraire, la branche b3 à droite de la branche b2 n'est pas coupée, mais elle est conservée, et le processeur plO est affecté aux deux branches b2 et b3. iv.le nombre pn stocké dans le registre Rpn est di- visé par la valeur de compte du compteur Cpc de manière à obtenir un quotient "c" et un reste "d". Dans la tâche initiale illustrée dans la figure 5, on divise 12 par 5 de manière à ob- tenir un quotient "c"="2" et un reste "d"="2". Lorsque le système actuel compare le reste "b" avec le reste "d" et détermine que le reste "b" est inférieur au reste "d", une valeur (c + 1) est stockée dans le registre Rpn. D'autre part, lorsque le reste "b" est égal ou supérieur à la valeur du reste "d", la valeur "c" est stockée dans le registre Rpn. Dans le cas sus-mentionné, trois processeurs (c'est-à-dire c + 1) sont affectés à chacune des branches bO et bl. De plus, deux processeurs (c'est-à-dire c) sont affectés à chacune des branches b2, b3 et b4. Selon la description précédente, "c" (c'est-à- dire 2) processeurs sont affectés à chacune des branches (c'est-à-dire les branches b2 à b4) sur le côté droit de la branche (c'est-à-dire la branche bl) affecté au dernier processeur (c'est- à dire le processeur p1l). Par ailleurs, (c + 1) (c'est-à-dire 3) processeurs sont affectés à chacune des branches côté gauche (c'est-à-dire les branches bO et bl). v.Ensuite, les traitements similaires au traitement décrit dans le cadre des procédures ci-dessus (i) à (iv) dans (2) sont effectués de manière répé- titive dans le cas d'un niveau d'inférence id = m + 1 sur la base d'un identificateur pi nouvellement saisi et d'un nombre pn nouvellement déterminé de processeurs affectables. Dans une zone située sur la gauche de l'arbre d'inférence illustré dans la figure 5 et à un niveau d'inférence id = 1, l'équilibrage de charge initiale sus-mentionné est effectué en utilisant le nombre pn = 3, et en faisant varier l'identificateur pi selon les valeurs 0, 1 et 2. b.Dans le cas ou le nombre pn de processeurs affec- tables est égal ou inférieur à 1, l'équilibrage de charge initiale est effectué comme suit. En mettant le drapeau situé dans la section F dans l'état "0", l'équilibrage de charge initiale est complété. Ainsi, l'équilibrage de charge initiale illustré dans la figure 5 est effectué. Ensuite, le tableau suivant (voir page suivante) montre comment les valeurs stockées dans les registres de chaque processeur varient, dans le cas o la tâche initiale est divisée en traitement OU multiple sur la base des procédures stratégiques décrites dans la colon- ne (a), dans un exemple donné pour quatre processeurs, comme montré à la figure 6. Il est facile de comprendre le contenu du tableau suivant, sur la base des procé- dures décrites dans la colonne (a), leur description sera donc omise. Dans le tableau suivant, une portion en rangée du reste "b" montre comment sélectionner la branche de recherche pour chaque niveau d'inférence id. D'une ma- nière plus spécifique, cette portion en forme de ran- gées indique si la branche de droite est coupée ou con- servée. De plus, les rangées de "Rpi'" et "Rpn'" (ou "'" veut dire "tiret") et les rangées de "Rpi" et "Rpn" ont l'une et l'autre le même contenu entre les colonnes de id = O et id = 1, et entre les colonnes de id = 1 et id = 2. // // / / / // /J /- / / - 27 - TABLEAU NIVEAU PROCESSEUR PROCESSEUR PROCESSEUR PROCESSEUR D'INFERENCE PRO PR1 PR2 PR3 id = 0 Rpi = 0 Rpi = 1 Rpi = 2 Rpi = 3 Rpn = 4 Rpn = 4 Rpn = 4 Rpn = 4 Cpc = 2 Cpc = 2 Cpc = 2 Cpc = 2 a =0 a =0 a =1 a =1 b =0 b =1 b =0 b = 1 coupée coupée coupée coupée c =2 c =2 c =2 c =2 d =0 d =0 d =0 d =0 Rpi'= O Rpi'= 0 Rpi'= 1 Rpi'= 1 Rpn'= 2 Rpn'= 2. Rpn'= 2 Rpn'= 2 id = 1 'Rpi = 0 Rpi = 0 Rpi = 1 Rpi = 1 Rpn = 2 Rpn = 2 Rpn = 2 Rpn = 2 Cpc = 3 Cpc = 4 Cpc = 3 Cpc = 4 a =0 a =0 a =0 a =0 b = 0 b =0 b = 1 b = 1 25.coupée coupée conservée conservée c =0 c =0 c =0 c =0 d =2 d =2 d =2 d =2 Rpi'= O Rpi'= O Rpi'= 0 Rpi'= O Rpn'= 1 Rpn'= 1 Rpn'= 1 Rpn'= 1 id = 2 Rpi = O Rpi = 0 Rpi = 0 Rpi = 0 Rpn = 1 Rpn = 1 Rpn = 1 Rpn = 1 F coupé F coumé F coupé F coupé Selon la description ci-dessus, les processeurs dans le système précédent sélectionnent simultanément et indépendamment les traitements OU en utilisant l'iden- tificateur pi de chaque processeur et le nombre pn de processeurs affectables. Ainsi, il est possible d'effec- tuer l'équilibrage de charge initiale de la tâche ini- tiale à grande vitesse et sans transmission d'informa- tions entre les processeurs. De plus, le système présent peut réduire la quan- tité d'informations transmises parce que chaque proces- seur dans le système présent produit une partie de l'information en provenance d'une autre processeur, auquel la charge initiale a été attribuée, dans un sys- tème classique. Dans la figure 6, les processeurs pO et p2 exécutent en parallèle la même charge de la branche bO, à titre d'exemple. Dans ce cas, les processeurs pO et p2 produisent à ce niveau le même environnement de travail, il est donc inutile de transférer l'information entre les processeurs pO et p2. Comme décrit ci-dessus, il est possible de réduire la quantité d'informations qu'accompagne l'équilibrage de charge initiale et qui est transmise entre les processeurs. Incidemment, l'équilibrage initial de charge de la tâche initiale cidessus décrite tend à assigner les charges initiales à tous les processeurs. Cependant, la première forme de réalisation ne se rapporte pas à l'é- quilibrage de charge intervenant après l'équilibrage de charge initiale, et pour cette raison la description en sera omise. Selon la description ci-dessus, il est possible d'obtenir les effets suivants (ou avantages) (i) à (iii) dans le premier mode de réalisation. i. Il est inutile de transférer l'information entre les processeurs lorsque les segments de charge initiale sont dynamiquement affectés à tous les processeurs après que la tâche initiale ait été attribuée au système ac- tuel. Ainsi, la nécessité d'effectuer l'équilibrage de charge initiale ne doit pas être concentré sur un seul processeur, et il est possible d'effectuer l'équilibrage de charge initiale de la tâche initiale à grande vi- tesse. ii. Le traitement spécifique OU est assigné à chaque processeur, et les processeurs qui exécutent le même traitement partiel OU en parallèle produisent la même information partielle. Ainsi, il est inutile de trans- férer l'information partielle entre ces processeurs, lors de l'exécution de l'équilibrage de charge initiale. Ainsi, il est possible de réduire la quantité d'informa- tions dans le premier mode de réalisation. En résultat, il est possible de réduire la capacité de communication (c'est-à-dire la vitesse de transmis- sion et la capacité de transmission) du réseau actuel appliqué au premier mode de réalisation du système multi processeur à un niveau moindre que dans le cas d'un réseau classique. Ainsi, l'échelle et le prix du réseau actuel peuvent être réduits, cependant, il est possible d'obtenir un effet parallèle presque similaire à celui obtenu avec un système classique. En d'autres termes, si le réseau classique s'applique au système multi proces- * seur actuel, l'effet parallèle du système multi proces- seur actuel peut être remarquablement augmenté. iii. On peut s'attendre à ce que chaque processeur présente un haut niveau de disponibilité juste après que la tâche initiale ait été attribuée au système multi processeur actuel. De plus, le système actuel peut ré- duire la quantité d'informations transmises entre les processeurs, ainsi, le système multi processeur actuel permet d'obtenir un effet parallèle de haut niveau en général. Une description est ensuite donnée en ce qui con- cerne la constitution d'un deuxième mode de réalisation pour le processeur PRi en liaison avec la figure 7. Ce deuxième mode de réalisation du processeur PRi est es- sentiellement constitué d'une unité centrale de trai- tement (CPU) (21), d'une mémoire (22), d'une première section (23) générant des informations, et d'une deu- xième section (24) générant des informations. La première section (23) générant des informations gé- nère une information historique qui n'est pas nécessaire pour la reproduction de l'environnement de travail, et cette information historique est transmise pendant l'é- quilibrage de charge. D'un autre côté, la deuxième sec- tion (24) génératrice d'informations génère l'environ- nement de travail nécessaire sur la base de l'infor- mation historique qui est transmise à destination de ladite section pendant l'équilibrage de charge. La figure 8 est un schéma fonctionnel permettant d'expliquer une fonction du deuxième mode de réalisation sus-mentionné pour le processeur PRI illustré dans la figure 7. De manière plus spécifique, la figure 8 est un schéma fonctionnel permettant d'expliquer la fonction du processeur PRi qui exécute une charge donnée écrite par le langage logique de programmation, c'est-à-dire le langage PROLOG. Les parties illustrées dans la figure 8 correspondent à celles illustrées dans la figure 4, elles sont identifiées par les mêmes références, ainsi évitera-t-on d'en faire une description détaillée. Dans la figure 8, les première et deuxième sections (23) et (24) générant des informations (et entourées par des traits pointillés) comprennent le registre Rpi pour stocker l'identificateur pi de chaque processeur PRi, un registre Ridb pour le stockage d'un niveau d'inférence idb de l'équilibrage de charge, un registre Rblp pour le stockage d'un identificateur blp du traitement OU qui est assigné au processeur PRi, une mémoire historique d'équilibrage de charge (25) pour stocker une paire du niveau d'inférence idb et de l'identificateur blp, l'un et l'autre dépendant des temps mis à compléter l'équi- librage de charge, et une section opérationnelle (26) pour effectuer des opérations simples en utilisant les données stockées dans les registres sus-mentionnés Rpi, Ridb et Rblp et les données stockées dans la mémoire (25) sus-mentionnée. De plus, le processeur comprend également le comp- teur Cpc pour compter le nombre pc de branches de re- cherche à chaque noeud, le registre Rpn pour stocker le nombre pn de processeurs affectables connectés et la section de drapeau F permettant de savoir si l'équili- brage de charge initiale est effectué ou si l'environ- nement de travail a été généré. De plus, la mémoire programme (12) stocke les pro- grammes écrits dans le langage de programmation logique, et la mémoire de travail est utilisée pour stocker l'en- vironnement de travail pendant l'exécution des pro- grammes. A ce sujet, la mémoire historique d'équilibrage de charge (25) peut être incluse dans la mémoire de travail (13). Ensuite, une description du fonctionnement du deu- xième mode de réalisation est donnée. D'abord, on donne une description concernant le cas o le premier processeur effectue l'équilibrage de charge sur le deuxième processeur en liaison avec la figure 9. D'une manière plus spécifique, la figure 9 montre un arbre d'inférence pour expliquer des exemples d'une procédure destinée à générer l'information his- torique qui est essentielle pour la protection de l'en- vironnement de travail, et une autre procédure pour générer l'environnement de travail (qui sera nécessaire à l'issue de l'équilibrage de charge) par l'utilisation de l'information historique transmise. Incidemment, le premier processeur est défini par le référence PRI et le second processeur est défini par la référence PR2 pour des raisons de commodités. Comme montré dans la figure 9, le premier pro- cesseur PR1 effectue l'équilibrage de charge en deux temps à des niveaux d'inférence successivement égaux à "3" et "7". Dans la figure 9 les branches (exécutées) qui ont déjà été exécutées sont représentées avec des traits comparativement fins, les branches (exécutantes) qui sont maintenant exécutées sont desssinées avec des traits.renforcés, et les branches (non exécutées) qui ne sont pas exécutées sont dessinées en traits pointillés. L'équilibrage de charge actuellement en cours divise les branches (ou les traitements OU) qui ne sont pas exécu- tées mais qui sont relativement proches du noeud repré- sentatif de la tâche initiale. De manière conventionnelle, le premier processeur PR1 transfère l'ensemble de l'information représentatif des environnements de travail, au deuxième processeur PR2. Les environnements de travail de ce genre sont générés dans les branches exécutantes dessinées en traits renforcés avant que ne soit effectué l'équili- brage de charge (c'est-à-dire avant les branches non exécutées dessinées en traits pointillés). Par la suite, le deuxième processeur PR2 exécute les branches non encore exécutées. Au contraire, le premier processeur PR1 transmet l'information historique nécessaire pour la reproduction des environnements de travail de ce premier processeur au second processeur PR2 dans le deuxième mode de réa- lisation de l'invention. Dans ce cas, les mots de don- nées représentatifs de l'information historique tota- lisent trois mots dans un premier équilibrage de charge, cinq mots dans un second équilibrage de charge et (1 + 2n) mots dans le nième équilibrage de charge respective- ment. Puis, le second processeur PR2 reproduit les en- vironnements de travail générés dans les branches d'exé- cution (représentées en traits renforcés) du premier processeur PR1 en utilisant l'information historique transmise. D'abord, chaque processeur PRi effectue l'équili- brage de charge initiale de la tâche initiale selon la description donnée dans le premier mode de réalisation. Ce premier équilibrage de charge est effectué en uti- lisant les registres Rpi et Rpn, le compteur Cpc, la section de drapeau F et la section opérationnelle (26). Fondamentalement, l'équilibrage initial de charge en question est obtenu par la répétition d'une procédure dans laquelle chaque branche (ou chaque traitement OU) est répartie également en direction de chaque pro- cesseur. Lorsque l'on obtient l'équilibrage de charge ini- tiale, la recherche concernant les branches est pour- suivie selon un ordre de priorité prédéterminé, (c'est-à-dire recherche d'abord en profondeur) de ma- nière à ce que la recherche dans les branches soit ef- fectuée de haut en bas et de gauche à droite selon un ordre de priorité du niveau d'inférence dans le pre- mier processeur PRI. Lorsque la branche correcte n'est pas l'objet de la recherche, le premier processeur PR1 régresse jusqu'au noeud précédent et recommence la re- cherche sur la branche. Aux niveaux d'inférence "3" et "7", un segment partiel de charge du premier processeur PR1 est partagé avec les autres processeurs. Dans le premier équilibrage de charge, le premier processeur PR1 transmet l'information historique selon une conformation de trois mots qui représentent (a) l'identificateur pi du premier processeur PR1, (b) le niveau d'inférence idb (1 = 3) de l'équilibrage de char- ge et (c) l'identificateur blp (1) du traitement OU qui est partagé avec un autre processeur. L'identificateur pi (a) sus-mentionné doit varier dans le cadre de l'équilibrage de charge initiale. Le premier processeur PR1 utilise, cependant comme valeur pour ledit identificateur pi, l'identificateur pi ini- tialement utilisé au cours du premier équilibrage ini- tial de charge. Cependant, dans le cas o une branche bep(1) est choisie au niveau d'inférence "3", les re- gistres correspondants mémorisent respectivement un pointeur blp (1) désignant le traitement OU non exécuté ainsi que le niveau d'inférence idb (1). Le pointeur blp (1) indique l'adresse de la mémoire programme (12) ou l'information représentative du numéro de la branche. Ainsi, on peut obtenir les éléments sus-mentionnés sui- vants, (b) le niveau d'inférence idb et (c) l'identifi- cateur blp du traitement OU. En tant que représentation historique de l'équi- librage de charge, la mémoire (25) stocke l'information représentative du niveau d'inférence idb (1) = 3 et de la branche choisie bep(1). Dans le deuxième équilibrage de charge, le premier processeur PR1 transmet l'information historique dans le format de cinq mots qui représentent (a) l'identifica- teur pi du premier processeur PR1, (b) le niveau d'in- férence idb (1 = 3) qui est stockée dans la mémoire (25) au cours du premier équilibrage de charge, (c) la bran- che choisie bep(1) qui est stockée dans la mémoire (25) au cours du premier équilibrage de charge, (d) un nou- veau niveau d'inférence idb (2 = 7) du deuxième équi- librage de charge et (e) un identificateur idb (2) du traitement OU devant faire l'objet du deuxième équili- brage de charge. Dans le cas o la branche blp(2) est choisie au niveau d'inférence "7", les registres correspondants stockeront respectivement un pointeur blp(2) pour le traitement non exécuté OU et le niveau d'inférence idb (2 = 7). Ainsi pourra-t-on obtenir le niveau d'inférence sus-mentionnée (d) idb (2 = 7) et (e) l'identificateur idb (2). Comme dans le premier cas d'équilibrage de charge, la mémoire (25) stocke le niveau d'inférence idb (2) et la branche choisie bep(2) au stade actuel en tant qu'é- lément historique du deuxième équilibrage de charge. Ces éléments historiques des équilibrages de charge primaire et secondaire sont identiques à une partie de l'information historique qui est transmise à partir du premier processeur PR1 dans l'équilibrage de charge suivant. Les environnements de travail du premier processeur PRI sont nécessaires pour le second processeur PR2 après l'équilibrage de charge. Les environnements de travail de ce genre sont reproduits en utilisant l'information historique transmise à partir du premier processeur PR1 à destination du second processeur PR2. Ensuite, une description est donnée dans le cadre du procédé sus-mentionné pour reproduire les environ- nements de travail et du premier processeur PR1 dans le second processeur PR2. L'information historique transmise à partir du premier processeur PR1 à destination du second proces- seur PR2 comprend les éléments d'information suivants: (a) l'identificateur pi de chaque processeur (b) le niveau d'inférence idb de l'équilibrage de charge (c) l'identificateur blp du traitement OU partagé avec le second processeur PR2. Les quantités des deux éléments d'information ci- dessus indiqués (b) et (c) (l'un et l'autre) sont aug- mentées en fonction du temps de traitement pour l'équi- librage de charge. Le second processeur PR2 stocke l'information his- torique transmise y compris les éléments d'information sus-mentionnés (a) à (c). Ensuite, le second processeur PR2 exécute le traitement qui lui est attribué selon l'algorithme suivant. Incidemment, le niveau d'inférence est égal à idc au stade présent dans le deuxième processeur PR2 dans le cadre de la description ci-des- sous. Le procédé de reproduction des environnements de travail du premier processeur PR1 en direction du second processeur PR2 se déroule selon les procédures suivantes au niveau du niveau d'inférence idc. (a) initialisation du compteur, des registres, de la mémoire et de la section de drapeau. (i) initialisation du compteur Cpc, des registres Rpi et Rpn: l'identificateur pi du processeur est confi- guré dans le registre Rpi; le nombre pn de processeurs affectables est configuré dans le registre Rpn; la valeur "0" est configurée sur le compteur Cpc. (ii) initialisation de la section drapeau F: le drapeau à l'état "1" indiquant que l'équi- librage de charge initiale est en cours ou que l'environnement de travail est en cours de reproduction est configuré dans la section de drapeau F. (iii) initialisation de la mémoire (25): la mémoire (25) stocke à la fois le niveau d'inférence idb de l'équilibrage de charge et l'identificateur blp du traitement OU qui est partagé avec le second processeur PR2. (iv) initialisation des registres Ridb et Rblp: les registres Ridb et Rblp stockent le mot de niveau supérieur des informations stockées dans la mémoire (25) selon une séquence du niveau d'inférence; à partir du niveau d'inférence affecté d'un petit chiffre et en allant dans le sens du niveau d'inférence affectée d'un chiffre important. (b) exécution d'un équilibrage de charge initiale au moyen des registres Rpi, Rpn et du compteur Cpc. Comme montré à la figure 10 et dans les figures suivantes, cet équilibrage de charge initiale est exé- cuté en utilisant l'identificateur pi du premier proces- seur PR1. D'une manière plus spécifique, le second pro- cesseur PR2 effectue de manière continue l'équilibrage de charge initiale selon la description dans l'équili- brage de charge initiale du premier processeur PR1 il- lustré dans la figure 9 et ce jusqu'à ce que l'équili- brage de charge initiale soit complété. (c) procédure pour reproduire l'environnement de travail du premier processeur après équilibrage de char- ge initiale. (i) Dans le cas o le niveau d'inférence idc est inférieur à la valeur du registre Ridb, on choi- sit la branche la plus à droite et celle-ci est exécutée à chaque niveau d'inférence. Par la suite, on configurera le niveau d'inférence suivant idc = idc + 1, et le traitement ci-dessus est exécuté de manière répétitive à ce nouveau niveau d'inférence. (ii) Dans le cas o le niveau d'inférence idc est égal à la valeur du registre Ridb: - si le dernier mot est lu à partir de la mémoire (25), la branche correspondant à la valeur du registre Rblp est exécutée et la branche située à droite est conservée. On configure ensuite la section de dra- peau F dans l'état "0" de manière à compléter la reproduction des environnements de travail (c'est-à-dire à compléter l'équilibrage de charge); - si le mot lu à partir de la mémoire (25) n'est pas le dernier mot, la branche corres- pondant à la valeur du registre Rblp est seule exécutée et la branche à droite de ce registre est coupée. Par la suite, les données de mots suivants lus dans la mémoire (25) sont stockées dans les registres Ridb et Rblp, et le niveau d'infé- rence suivante idc =idc + 1 est configuré de manière à effectuer de façon répétitive le traitement sus-mentionné de (i). Selon les procédures sus-mentionnées, un environne- ment de travail spécifique du premier processeur PR1 est reproduit au niveau du second processeur PR2 avant que le premier processeur PR1 n'effectue l'équilibrage de charge. Le second processeur PR2 peut reproduire les environnements de travail spécifiques de ce genre sur la base des informations historiques transmises à partir du premier processeur PR1. Cet environnement de travail spécifique est essen- tiel pour le second processeur PR2 après que le premier processeur PR1 effectue son équilibrage de charge. Dans les procédures illustrées dans la figure 10, le second processeur PR2 reproduit l'environnement de travail du premier processeur PR1 (qui est généré avant que le premier processeur PR1 n'effectue l'équilibrage de charge) en utilisant l'information historique en format trois mots transmis au second processeur PR2 en un premier temps. Ledit environnement de travail est illustré en lignes renforcées avant un noeud représen- tatif du niveau d'inférence "3". Par la suite le second processeur PR2 effectue certains traitements après l'é- quilibrage de charge. Lesdits certains traitements sont illustrés en traits pointillés après le noeud représen- tatif du niveau d'inférence "3". Dans la figure 10 l'équilibrage de charge initiale est effectué en utilisant l'identificateur pi du premier processeur PR1 en un premier temps. Ensuite, la branche la plus à droite est choisie et exécutée jusqu'à ce que le niveau d'inférence atteigne la valeur idb (1 = 3) valeur à laquelle l'équilibrage de charge est effectué. En dernier, le second processeur PR2 choisit et exécute la branche représentée par l'identificateur blp (1) du traitement OU partagé lequel est partagé avec le second processeur PR2 au niveau d'inférence "3". Dans le cas ci-dessus, l'identificateur blp (1) du traitement OU partagé est indiqué par le dernier mot de l'information stockée dans la mémoire (25). Ainsi, la branche de droite de la branche ci-dessus correspondant au dernier mot de la mémoire (25) est conservée parce que ladite branche de droite doit probablement être exécutée. Selon les procédures susmentionnées, l'équilibrage de charge entre le premier processeur PR1 et le second processeur PR2 est obtenu complètement au niveau d'in- férence "3" et ce par la seule transmission de données en format trois mots. Dans les procédures illustrées dans la figure 11, le second processeur PR2 reproduit l'environnement de travail du premier processeur PR1 (qui est généré avant que le premier processeur PRI n'effectue l'équilibrage de charge) en utilisant l'information historique au format cinq mots transmis en direction du second proces- seur PR2 en un premier temps. Ledit environnement de travail est illustré en traits renforcés avant un noeud représentatif du niveau d'inférence "7". Par la suite, le second processeur PR2 exécute certains traitements à la suite de l'équilibrage de charge. Lesdits certains traitements sont illustrés par des traits pointillés après le noeud représentatif du niveau d'inférence "7". Dans la figure 11, l'équilibrage de charge initiale est effectué en utilisant l'identificateur pi du premier processeur PR1 en un premier temps. Ensuite, la branche la plus à droite est choisie et exécutée jusqu'à ce que le niveau d'inférence atteigne la valeur idb (1 = 3), dont les données sont stockées dans la mémoire (25). A ce niveau d'inférence "3", la branche bep(1) stockée dans la mémoire (25) seule est choisie et exécutée. Dans ce cas, cette branche bep (1) ne correspond pas au der- nier mot stocké dans la mémoire (25), donc, la branche de droite de cette nouvelle branche bep (1) est coupée. Ensuite, le second processeur PR2 choisit et exé- cute la branche la plus à droite à chaque niveau d'in- férence jusqu'à ce que le niveau d'inférence atteigne le niveau d'inférence idb(2 = 7), auquel niveau l'équi- librage de charge est effectué. En dernier, le second processeur PR2 choisit et exécute la branche représentée par l'identificateur blp (2) du traitement OU partagé, qui est sujet à l'équilibrage de charge au niveau d'in- férence "7". Cette branche correspond au dernier mot stocké dans la mémoire (25), donc, la branche de droite de cette branche n'est pas coupée mais elle est con- servée. Selon les procédures illustrées dans la figure 11, le premier processeur PR1 effectue l'équilibrage de charge sur le second processeur PR2 au niveau d'infé- rence "7" en transmettant l'information historique dans le format cinq mots. Dans les procédures générales illustrées dans la figure 12, le second processeur PR2 reproduit l'environ- nement de travail du premier processeur PR1 (qui est généré avant que le premier processeur PR1 n'effectue l'équilibrage de charge) en utilisant l'information historique de (1 + 2n) mots transmis en un premier temps au second processeur PR2. Par la suite, le second pro- cesseur PR2 effectue certains traitements après l'équi- librage de charge. De même que dans les procédures illustrées dans les figures 10 et 11, le second processeur effectue l'équi- librage de charge initiale en utilisant l'identificateur pi du premier processeur PR1. Par la suite, et jusqu'à ce que 2e niveau d'infé- rence atteigne un niveau d'inférence de "20" auquel l'équilibrage de charge est effectué, le second proces- seur PR2 choisit et exécute les branches b2 et bl à des niveaux d'inférence de "7" et "15", dont les données sont stockées par exemple dans la mémoire (25). En rai- son du fait que ces branches b2 et bl ne correspondent pas au dernier mot stocké dans la mémoire (25), les branches de droite parmi ces branches b2 et bl sont coupées. Aux niveaux d'inférence autres que les niveaux d'inférence "7" et "15", et inférieurs au niveau d'in- férence "20", la branche la plus à droite est sélection- née et exécutée pour chaque niveau d'inférence. Enfin, le second processeur PR2 choisit et exécute la branche b3 du traitement OU partagé au niveau d'in- férence "20" o est effectué l'équilibrage de charge. Cette branche correspond au dernier mot stocké dans la mémoire (25), la branche de droite sur cette branche n'est donc pas coupée mais conservée. Selon les procédures ci-dessus décrites, le premier processeur PR1 peut effectuer et compléter l'équilibrage de charge sur le second processeur PR2 à un niveau d'in- férence arbitraire, simplement en transmettant l'infor- mation historique, dont le volume correspond à la pé- riode de temps prise par le premier processeur PR1 pour effectuer l'équilibrage de charge, dans le passé. * Dans le second mode d'exécution, le second proces- seur PR2 reproduit l'environnement de travail (qui est obtenu entre la tâche initiale et le niveau d'inférence actuel) du premier processeur PR1 en utilisant l'infor- mation historique transmise audit premier processeur. Cependant, le second processeur PR2 peut réutiliser une partie de l'environnement de travail du premier proces- seur de manière à reproduire un environnement de travail partiel du premier processeur PRI en comparant l'infor- mation historique transmise avec l'information stockée dans le second processeur PR2. Cette information stockée dans le second processeur PR2 est identique aux iden- tificateurs précédents pi et au contenu des données stockées dans la mémoire (25). Selon la description dans le cadre du second mode d'exécution, dans le système multi processeur qui exé- cute le langage de programmation logique (par exemple le PROLOG), le premier processeur PR1 transmet l'infor- mation historique de (1 + 2n) mots dont le volume est relativement réduit par rapport & celui second proces- seur PR2, chaque fois que le premier processeur PR1 ef- fectue l'équilibrage de charge, le volume de cette in- formation historique transmise correspond aux éléments de temps "n" occupés pour effectuer l'équilibrage de charge dans le premier processeur PR1. En utilisant l'information historique transmise, le second processeur PR2 reproduit l'environ- nement de travail qui est essentiel pour le second processeur PR2 après que le premier processeur PRI ait effectué l'équilibrage de charge. Par la suite, le se- cond processeur PR2 en effectue le traitement après équilibrage de charge effectué en utilisant l'environ- nement de travail reproduit. En comparant le deuxième mode d'exécution avec le système conventionnel, il est possible d'obtenir les avantages suivants: Il n'est pas nécessaire d'interrompre de manière intermittente le déroulement du traitement original de chaque processeur dans le cadre de l'équilibrage de charge. Ainsi, il est possible d'effectuer l'équilibrage de charge à grande vitesse et avec une quantité assez réduite d'informations transmises entre les processeurs. En particulier, les avantages du second mode d'exé- cution sont effectivement intéressants lorsque le lan- gage de programmation logique (PROLOG) est appliqué au système multi processeur. Le système multi processeur classique souffre d'un problème qui résulte de la charge en temps système qui est entrainé par la génération de charge de travail, la communication nécessaire pour transmettre une quantité assez importante de ce qui constitue l'environnement de travail, le stockage de la charge, et autres éléments similaires. Cependant, le deuxième mode de réalisation peut éliminer les temps système qui sont l'objet de la des- cription ci-dessus. Ainsi, il est possible d'élaborer une machine parallèle en PROLOG à multi processeur, douée d'une grande vitesse de traitement et de communi- cation, avec un effet parallèle de haut niveau. Au lieu de transmettre l'environnement de travail qui contient un assez grand volume d'informations li- néairement en proportion avec les temps mis pour effec- tuer le traitement d'inférence, le deuxième mode d'exé- cution transmet l'information historique contenant une quantité de données assez réduites, et qui correspond au temps "n" pris pour effectuer l'équilibrage de charge (c'est-à-dire, l'information historique de (1 =2n) mots lorsque le PROLOG est attaché au deuxième mode de réa- lisation). Ainsi, l'équilibrage de charge du second mode de réalisation est-il complété. Aussi, est-il possible de réduire de manière notable le volume de communication pour les éléments transmis en cours d'équilibrage de charge. En d'autres termes, les temps consacrés à l'é- quilibrage de charge peuvent être réduits de manière moins importante que ceux consacrés au traitement d'in- férence. En comparant le réseau du système multi processeur de la présente demande avec celui d'un système multi processeur classique, la capacité de communication du deuxième mode de réalisation peut être réduite de ma- nière notable. Ainsi, le second mode de réalisation peut obtenir un effet parallèle similaire à celui d'un sys- tème multi processeur classsique, même lorsque le deuxième mode de réalisation utilise un réseau de coût raisonnable et d'échelle réduits. En d'autres termes, il est possible d'élaborer un système multi processeur ayant un effet parallèle d'un niveau supérieur à celui d'un système multi processeur classique, lorsque le second mode de réalisation utilise un réseau similaire à celui d'un système multi processeur classique. Le deuxième mode de réalisation est élaboré en interconnectant de manière complémentaire plusieurs registres et mémoires à la machine d'inférence séquen- tielle existante (ou à la machine PROLOG existante) et en interconnectant les machines PROLOG l'une à l'autre à l'aide d'un simple réseau. Selon les procédures ci-des- sus décrites, le second mode de réalisation génère l'in- formation historique devant être transmise en cours d'équilibrage de charge, et reproduit l'environnement de travail essentiel en utilisant l'information historique transmise, procédé par lequel le second mode de réali- sation peut effectuer l'équilibrage de charge à grande vitesse. De plus, il est possible de réaliser une ma- chine PROLOG parallèle du type multi processeur douée d'une grande vitesse et d'un haut niveau d'effet pa- rallèle. Selon la description des avantages sus-mentionnés, le second mode de réalisation peut éliminer le temps système qui est inévitablement entrainé dans le cours de l'équilibrage de charge classique comme on le voit dans la figure 1. Ainsi, les problèmes auxquels on est ex- posés dans le système classique peuvent être éliminés par le second mode de réalisation. Par ailleurs, la présente invention ne se limite pas à une méthode de sélection et de génération d'infor- mations historiques, méthode qui est essentielle pour la reproduction de l'environnement de travail, et à une méthode alternative pour reproduire l'environnement de travail nécessaire en utilisant l'information histo- rique, par exemple. De plus, la présente invention n'impose pas (et ne limite pas) la structure interne détaillée de chaque processeur, ou la constitution du réseau qui intercon- necte les processeurs, mais propose également une mé- thode pour reconnaitre les processeurs inoccupés. Ainsi, il est possible d'utiliser un bus, un réseau en mailles, ou un réseau utilisant un routeur multi-étage pour cons- tituer le réseau selon les présentes. De plus, il est possible d'utiliser un réseau qui reçoit en entrée une information représentative d'un état (par exemple d'un état inoccupé ou occupé) pour chaque processeur. De plus, il est possible d'ajouter extérieurement un péri- phérique qui gère la condition ci-dessus mentionnée pour chaque processeur. La présente invention peut être réalisée par d'au- tres moyens encore, sans se départir de son esprit ou de ses caractéristiques essentielles. Par exemple, le lan- gage de programmation appliqué au système multi pro- cesseur objet de la présente demande n'est pas limité par le langage de programmation logique, et il est pos- sible d'utiliser un langage de programmation général dans le cadre du système multi processeur objet de la demande. Pour cette raison, les modes préférés de réa- lisation décrits dans la présente sont-ils illustratifs et non pas restrictifs, le domaine couvert par l'inven- tion étant indiqué par les revendications, et toutes les variations pouvant entrer dans le sens de ces revendi- cations en feront partie. REVENDICATIONS 1/ Système multi processeur pour le traitement d'une charge de travail donnée écrite dans un langage de programmation prédéterminé, caractérisé en ce qu'il com- prend: - une pluralité de processeurs et un réseau inter- connectant lesdits processeurs, - chacun desdits processeurs comprenant: a.des premiers moyens de mémorisation d'informa- tions système représentant des caractéristiques dudit système multi processeur, et b.des seconds moyens pour sélectionner de manière automatique et dynamique un segment spécifique de la charge initiale à partir de ladite charge donnée en utilisant lesdites informations- sys- tème sans transmission d'informations entre les- dits processeurs,d'o il résulte qu'un équili- brage de charge initiale est obtenu dans ledit système multi processeur. 2/ Système multi processeur pour le traitement d'une charge donnée écrite dans un langage de program- mation prédéterminé caractérisé en ce qu'il comprend: - une pluralité de processeurs et un réseau inter- connectant lesdits processeurs, - chacun desdits processeurs comprenant: a.des premiers moyens pour générer une information historique, dont le volume est plus réduit que celui d'une information représentative de l'en- vironnement de travail total d'un processeur source pendant le traitement d'un segment de charge spécifique attribué à chaque processeur, b.des seconds moyens (50) pour la transmission de ladite information historique en direction d'un processeur récepteur pendant le fonctionne- ment dudit système multi processeur, c.des troisièmes moyens pour la reproduction dudit environnement de travail dudit processeur source, et par l'utilisation de ladite information histo- rique transmise à partir d'un processeur source, d.des quatrièmes moyens pour l'exécution dudit seg- ment de charge spécifique par l'utilisation de l'environnement de travail reproduit dudit pro- cesseur source,d'o il résulte que l'obtient un équilibrage de charge dans ledit système multi processeur. 3/ Système multi processeur selon les revendica- tions 1 ou 2, caractérisé en ce que ledit langage de programmation prédéterminé est un langage de program- mation logique. 4/ Système multi processeur selon la revendication 1, dans lequel le système de données est caractérisé en ce qu'il comprend: a. une première information représentative d'un identificateur pour chaque processeur et b. une deuxième information représentative d'un nombre de processeurs affectables qui sont soumis audit équilibrage de charge initiale. / Système multi processeur selon la revendication 2, caractérisé en ce que ladite information historique comprend: a. une troisième information représentative d'un niveau d'inférence pour ledit processeur source, et b. une quatrième information représentative d'un identificateur d'un segment de charge partielle dudit processeur source, lequel est dynamiquement affecté audit processeur récepteur, un couple de ladite troi- sième information et de ladite quatrième information étant généré chaque fois que ledit segment de charge partielle dudit processeur source est partagé par ledit processeur destinataire. 6/ Procédé d'exécution d'équilibrage de charge dans un système multi processeur ayant une pluralité de pro- cesseurs, et un réseau interconnectant lesdits proces- seurs,auquel est attribuée une charge écrite dans un langage de programmation prédéterminé, caractérisé en ce qu'il comprend les étapes suivantes: - mémoriser un système d'informations représentatif des caractéristiques dudit système multi processeur, ' - choisir un segment de charge initiale spécifique pour chaque processeur dans la charge donnée, en utili- sant lesdites informations-système sans transférer d'in- formations entre lesdits processeurs de manière automa- tique et dynamique,et - exécuter ledit segment de charge initiale indé- pendamment dans chaque processeur, d'o il résulte que l'on obtient un équilibrage de charge initiale dans ledit système multi processeur. 7/ Procédé d'exécution d'équilibrage de charge dans un système multi processeur ayant une pluralité de pro- cesseurs et un réseau interconnectant lesdits proces- seurs, auquel est attribuée une charge écrite dans un langage de programmation prédéterminé, caractérisé en ce qu'il comprend les étapes suivantes: - générer une information historique dans un pre- mier processeur, dont le volume est plus réduit que celui d'une information représentative de l'ensemble de l'environnement de travail du premier processeur, alors que le premier processeur exécute un segment de charge spécifique à lui attribuer, - transmettre ladite information historique dudit premier processeur à un second processeur pendant le fonctionnement dudit système multi processeur, - reproduire ledit environnement de travail dudit premier processeur dans ledit second processeur en uti- lisant ladite information historique transmise dynami- quement à partir du premier processeur, et - exécuter un segment de charge spécifique dudit second processeur dans ce dernier en utilisant l'envi- ronnement de travail reproduit du premier processeur, d'o il résulte qu'un équilibrage de charge est obtenu entre ledit premier et ledit second processeur, et un segment de charge partielle dudit premier processeur est partagé avec ledit second processeur. 8/ Procédé d'exécution d'équilibrage de charge dans un système multi processeur ayant une pluralité de pro- cesseurs et un réseau interconnectant lesdits proces- seurs,auquel est attribuée une charge écrite dans un langage de programmation prédéterminé, caractérisé en ce qu'il comprend les étapes suivantes: - mémoriser des informations système représen- tatives des caractéristiques dudit système multi proces- seur, - choisir un segment de charge spécifique initiale pour chaque processeur à partir de la charge donnée, par l'utilisation desdites informations-système, sans trans- mission automatique et dynamique des informations entre lesdits processeurs, - exécuter ledit segment de charge initiale spé- cifique indépendamment dans chaque processeur, d'o il résulte que l'on obtient un équilibrage de charge ini- tiale dans ledit système multi processeur, - générer une information historique dans un pre- mier processeur, dont le volume est plus réduit que celui d'une information représentative de l'ensemble de l'environnement de travail dudit premier processeur alors que ledit premier processeur exécute un segment de charge spécifique qui lui est attribué, - transmettre ladite information historique à par- tir dudit premier processeur à un second processeur pendant le fonctionnement dudit système multi proces- seur, - reproduire ledit environnement de travail dudit premier processeur dans ledit second processeur en uti- lisant ladite information historique transmise dynami- quement à partir dudit premier processeur,et - exécuter un segment de charge spécifique dudit second processeur à l'intérieur de ce dernier en utili- sant l'environnement de travail reproduit dudit premier processeur, d'o il résulte que l'on obtient un équi- librage de charge entre ledit premier et ledit second processeur, et un partage du segment de charge partielle dudit premier processeur avec ledit second processeur. 9/ Procédé selon les revendications 6, 7 ou 8 ca- ractérisé en ce que ledit langage de programmation pré- déterminé est un langage de programmation logique. 10/ Procédé selon les revendications 6 ou 9, carac- térisé en ce que les informations-système comprennent: a. une première information représentative d'un identificateur de chaque processeur et 00e b. une seconde information représentative d'un nombre de processeurs affectables qui sont assujettis audit équilibrage de charge initiale. 11/ Procédé selon les revendications 7 ou 9, carac- térisé en ce que ladite information historique comprend: a. une troisième information représentative d'un niveau d'inférence dudit premier processeur et, b. une quatrième information représentative d'un identificateur d'un segment de charge partielle dudit premier processeur qui est affecté dynamiquement audit second processeur, le couple constitué par ladite troi- sième information et ladite quatrième information étant généré chaque fois que ledit segment de charge partiel- le dudit premier processeur est partagé avec ledit se- cond processeur. 12/ Procédé selon les revendications 8 ou 9, carac- térisé en ce que lesdites informations système com- prennent: a. une première information représentative d'un identificateur pour chaque processeur et, b. une deuxième information représentative d'un nombre de processeurs affectables qui sont assujettis audit équilibrage de charge initiale; et ladite information historique comprend: a.ladite première information représentative du- dit identificateur de chaque processeur, b.une troisième information représentative d'un niveau d'inférence dudit premier processeur, et c.une quatrième information représentative d'un identificateur d'un segment de charge partielle dudit premier processeur, lequel est dynamique- ment affecté audit second processeur, le couple constitué par ladite troisième information et ladite quatrième information étant généré chaque fois que ledit segment de charge partielle dudit premier processeur est partagé avec ledit second processeur. 13/ Procédé selon la revendication 10 caractérisé en ce que chaque processeur comprend: a. un premier registre pour la mémorisation de la première information, b. un second registre pour la mémorisation de la- dite seconde information et c. des moyens d'exécution pour effectuer une opéra- tion prédéterminée en utilisant lesdites première et seconde informations. 14/ Procédé selon la revendication 11, caractérisé en ce que chaque processeur comprend: a. un troisième registre pour mémoriser ladite troisième information, b. un quatrième registre pour mémoriser ladite qua- trième information, c. des moyens de mémoire pour mémoriser lesdites troisième et quatrième informations et d. des moyens d'exécution pour effectuer une opéra- tion prédéterminée en utilisant lesdites troisième et quatrième informations. 15/ Procédé selon la revendication 12, caractérisé en ce que chaque processeur comprend: a. un premier registre pour mémoriser ladite pre- mière information, b. un second registre pour mémoriser ladite seconde information, - c. un troisième registre pour mémoriser ladite troisième information, d. un quatrième registre pour mémoriser ladite qua- trième information, e. des moyens de mémoire pour mémoriser lesdites troisième et quatrième informations et f. des moyens d'exécution pour effectuer une o- pération prédéterminée en utilisant lesdites informa- tions, de la première à la quatrième. DEPOSANT: NIPPON TELEGRAPH & TELEPHONE CORPORATION MANDATAIRE: Cabinet Michel LAURENT