FR2788868A1 - Appareil de traitement de donnees et procede de traitement de donnees - Google Patents

Appareil de traitement de donnees et procede de traitement de donnees Download PDF

Info

Publication number
FR2788868A1
FR2788868A1 FR9915468A FR9915468A FR2788868A1 FR 2788868 A1 FR2788868 A1 FR 2788868A1 FR 9915468 A FR9915468 A FR 9915468A FR 9915468 A FR9915468 A FR 9915468A FR 2788868 A1 FR2788868 A1 FR 2788868A1
Authority
FR
France
Prior art keywords
nodes
data processing
processing apparatus
request
shared memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9915468A
Other languages
English (en)
Other versions
FR2788868B1 (fr
Inventor
Yoshihisa Yamada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of FR2788868A1 publication Critical patent/FR2788868A1/fr
Application granted granted Critical
Publication of FR2788868B1 publication Critical patent/FR2788868B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Abstract

Un appareil de traitement de données de l'invention inclut plusieurs noeuds (101-104), chacun incluant au moins un processeur (111-114), divisés en plusieurs groupes, un bus (105) connecté aux noeuds et des éléments de mémoire (117) dans les noeuds. Les noeuds accèdent à des zones de mémoire partagée dans les groupes. Un autre appareil de l'invention inclut plusieurs noeuds (101-104), chacun incluant au moins un processeur (111-114), le bus (105) et les éléments de mémoire (117). Un premier élément (121) de l'appareil définit les noeuds dans des grappes. Un procédé de traitement de données dans l'appareil de l'invention inclut la sortie d'une requête adressée à la zone de mémoire partagée vers le bus par un noeud, la détermination, dans chaque noeud, de la possession ou non par son propre noeud de la mémoire partagée à laquelle la requête s'adresse, et l'accès à la mémoire partagée dans un des noeuds la possédant.

Description

APPAREIL DE TRAITEMENT DE DONNEES ET PROCEDE DE
TRAITEMENT DE DONNEES
Contexte de l'invention: La présente invention se rapporte à un appareil et à un procédé de traitement de données, et plus particulièrement, à un appareil de traitement de données qui possède plusieurs noeuds, chacun d'eux incluant un ou plusieurs processeurs et un dispositif de mémoire principale et qui est configuré en grappes, et à un procédé de traitement de données mettant en
oeuvre cet appareil.
Dans un appareil de traitement de données classique, plusieurs grappes, chacune ayant une ou plusieurs CPU (unité centrale de traitement) et un dispositif de mémoire principale, sont interconnectées par un réseau. Les grappes traitent des données simultanément. Un exemple d'un tel appareil de traitement de données classique est décrit dans le
brevet japonais publié sous le numéro Hei 6-231033.
Dans l'appareil de traitement de données classique, chaque grappe est connectée par l'intermédiaire d'un réseau, et les communications entre les grappes sont effectuées en utilisant une mémoire étendue. Cependant, ceci crée un problème parce que la grandeur totale du système augmente et la
vitesse de communication entre les grappes diminue.
De plus, une fois qu'un appareil a été conçu, une configuration en grappe désignée ne peut pas être changée facilement dans l'appareil de traitement de données classique. Ceci crée un problème parce que peu de changements de configuration sont permis lorsqu'une configuration en grappe est changée, selon le but du
fonctionnement d'un système.
Résumé de l'invention: Un objectif de l'invention de fournir un petit appareil de traitement de données qui a une
configuration en grappe.
Un autre objectif de l'invention est de fournir un appareil de traitement de données dans lequel des communications entre des grappes sont effectuées à une
grande vitesse.
Un autre objectif de l'invention est de fournir un appareil de traitement de données qui permet à un utilisateur de concevoir arbitrairement les grappes dans le système en fonction du but du fonctionnement du
système.
Selon un aspect de la présente invention, un appareil de traitement de données est fourni, qui inclut: plusieurs noeuds, chacun d'eux incluant au moins un processeur et qui sont divisés en plusieurs groupes; un bus auquel les noeuds sont connectés; des éléments de mémoire fournis dans les noeuds, respectivement; et des zones de mémoire partagée qui sont fournies dans les groupes, respectivement, et
auxquelles les noeuds accèdent.
Selon un autre aspect de la présente invention, un appareil de traitement de données est fourni, qui inclut: plusieurs neuds, chacun d'eux incluant au moins un processeur; un bus auquel les neuds sont connectés; des éléments de mémoire fournis dans les noeuds, respectivement; et un premier élément qui
définit les noeuds dans des grappes.
Selon un autre aspect de la présente invention, un procédé de traitement de données dans un appareil de -1 l- traitement de données, qui inclut plusieurs noeuds divisés en plusieurs groupes, un bus auquel les noeuds sont connectés et des zones de mémoire partagée correspondant aux groupes, respectivement, est fourni, qui inclut: la sortie d'une requête adressée à la zone de mémoire partagée vers le bus, par l'un des noeuds; la détermination, dans chacun des noeuds, de la possession ou non par son propre noeud de la mémoire partagée à laquelle la requête s'adresse; et l'accès à la mémoire partagée dans un des noeuds qui détermine que la mémoire partagée est possédée par son propre noeud
pendant l'étape de détermination.
Brève description des dessins:
D'autres caractéristiques et avantages de l'invention ressortiront plus clairement à la lecture
de la description détaillée ci-après faite en référence
aux dessins annexés, dans lesquels: La figure 1 est un schéma fonctionnel de la présente invention; La figure 2 est un schéma fonctionnel du dispositif de commande du système de la présente invention; La figure 3 est un schéma fonctionnel du contrôleur de configuration de grappe du premier mode de réalisation de la présente invention; La figure 4 montre un format d'une adresse utilisé dans l'appareil de traitement de données de la présente invention; et La figure 5 est un schéma fonctionnel du contrôleur de configuration en grappe du deuxième mode
de réalisation de la présente invention.
Dans les dessins, le mêmes numéros de référence
représentent les mêmes éléments structuraux.
Description détaillée des modes de réalisation préférés
Un premier mode de réalisation. de la présente
invention va être décrit en détail ci-dessous.
En se reportant à la figure 1, un appareil de traitement de données possède plusieurs noeuds. Les
noeuds sont interconnectés par un bus du système 105.
Dans ce mode de réalisation, quatre noeuds 101 à 104 sont fournis dans l'appareil de traitement de données. Chaque noeud comprend, comme représenté par le noeud 101, quatre processeurs 111 à 114, un dispositif de commande du système 116, et un dispositif de mémoire principale 117. Chaque processeur est connecté au dispositif de commande du système 116 par un bus de processeur 115. Le dispositif de commande du système 116 est connecté au bus du système 105 et au dispositif
de mémoire principale 117.
De façon similaire, un dispositif de commande du système, quatre processeurs et un dispositif de mémoire principale sont fournis dans les autres noeuds 102 à 104. En conséquence, il existe quatre dispositifs de commande du système, seize processeurs et quatre
dispositifs de mémoire principale dans tout le système.
De plus, l'espace mémoire du dispositif de mémoire principale 117 de chaque noeud est défini par les définitions de chaque registre d'un contrôleur de configuration en grappe 121 comme une mémoire spécifique d'un groupe auquel chaque noeud appartient et comme une mémoire partagée possédée par le groupe auquel le noeud appartient. Dans le présent mode de réalisation, bien que chaque noeud soit connecté par un bus du système et chaque processeur soit connecté par un bus de processeur, ils peuvent être connectés par un
montage en étoile.
La figure 2 montre la configuration du dispositif de commande du système 116 qui est fourni dans chacun des neuds 101 à 104. Le dispositif de commande du système 116 comprend un élément de commande du bus de processeur 211, un élément d'interface du dispositif de mémoire principale 212, un élément de commande du bus du système 213 et un contrôleur de configuration en grappe 121. L'élément de commande du bus de processeur 211 est connecté à un bus de processeur 115. L'élément d'interface du dispositif de mémoire principale 212 est
connecté au dispositif de mémoire principale 117.
L'élément de commande du bus du système 213 est connecté au bus du système 105. De plus, l'élément de commande du bus de processeur 211 est connecté à l'élément de commande du bus du système 213. L'élément de commande du bus du système 213 est en outre connecté à l'élément d'interface du dispositif de mémoire principale 212. Le contr1ôleur de configuration en grappe 121 est connecté à l'élément de commande du bus de processeur 211 et à l'élément de commande du bus du
système 213.
Chacun des processeurs 111 à 114 et des processeurs non indiqués mais fournis dans les noeuds 102 à 104 peut accéder à la mémoire spécifique d'un groupe auquel le processeur appartient (ci-après désigné par son "propre groupe"), à la mémoire partagée possédée par son propre groupe, et à la mémoire partagée possédée par un autre groupe auquel le processeur n'appartient pas (ci-après désigné par un "autre groupe"), mais ne peut pas accéder à la mémoire spécifique d'un autre groupe. De plus, chaque processeur peut se reporter au, mais ne peut pas changer le contenu de la mémoire partagée possédée par un autre groupe. La figure 3 montre un exemple d'une configuration du contrôleur de configuration en grappe 121. Puisqu'un système comprend quatre noeuds dans ce mode de réalisation, le nombre de groupes formant une grappe est au maximum de quatre. Si le nombre de groupes est
quatre, chaque groupe comprend un noeud.
Le contrôleur de configuration en grappe 121 comprend un élément d'opérations de grappe 317 et six registres 311 à 316. Le registre 311 indique le caractère effectif/sans effet de la configuration en grappe. Le registre 312 indique le numéro de noeud de son propre noeud. Le registre 313 indique le numéro de groupe du groupe auquel chaque noeud appartient. Le registre 314 indique le numéro de noeud d'un neud ayant la mémoire partagée possédée par chaque groupe. Le
registre 315 indique le volume de la mémoire partagée.
Le registre 316 indique l'adresse de base de la mémoire partagée. Les valeurs de ces registres sont définies par les processeurs 111 à 114 du noeud 101 et par les processeurs non indiqués mais fournis dans les neuds 102 à 104, ou par un processeur de service (non
indiqué) lorsqu'un système est initialisé.
En définissant ces registres, une configuration en grappe peut être réalisée dans un système. Comme décrit ci-dessous en détail, chaque registre est utilisé pour déterminer si une configuration en grappe est ou non effective, si le processeur accède à la mémoire spécifique de son propre groupe ou accède à la mémoire spécifique d'un autre groupe, si l'accès se fait vers la mémoire partagée possédée par son propre groupe ou vers la mémoire partagée possédée par un autre groupe,
et pour détecter un accès illégal.
Le registre 311 est un registre de 1 bit indiquant si la configuration en grappe est ou non effective dans le système. C'est-à-dire que lorsque le registre 311 est à 1, la configuration en grappe est effective, et les valeurs définies dans les registres 313 à 316 sont
significatives.
Le registre 312 est un registre de 2 bits
indiquant le numéro de neud de son propre neud.
Le registre 313 possède plusieurs entrées. Le nombre d'entrées dans le registre 313 est égal au nombre de noeuds formant une grappe (quatre dans ce mode de réalisation). Le registre 313 indique le numéro de groupe du groupe auquel chaque noeud appartient. Chaque entrée possède 2 bits. Lorsqu'une configuration en grappe est réalisée dans un système, un ou plusieurs noeuds sont définis comme un groupe, et un neud ou des neuds appartenant au groupe sont commandés par un système d'exploitation indépendant. En conséquence, lorsque plusieurs neuds sont définis comme étant dans le même groupe, l'entrée du registre 313 est définie au même numéro de groupe dans les neuds appartenant au
même groupe.
Le registre 314 possède des entrées correspondant à chaque noeud (quatre entrées dans ce mode de réalisation) et indique le numéro de neud d'un neud ayant la mémoire partagée qui est possédée par un groupe auquel chaque noeud appartient. Chaque entrée est
un registre de 2 bits.
Le registre 315 indique la capacité de la mémoire partagée possédée par le groupe auquel son propre noeud appartient. Le registre 316 indique l'adresse de base dans l'adresse de l'espace mémoire de la- mémoire partagée possédée par le groupe auquel son propre noeud appartient. Après la réception d'un signal d'adresse 306 demandant l'accès à la mémoire partagée, provenant de l'élément de commande du bus de processeur 211, l'élément d'opérations de grappe 317 détermine si l'adresse indique l'accès à la mémoire partagée de son propre groupe ou l'accès à la mémoire partagée d'un autre groupe. L'élément d'opérations de grappe 317 notifie à l'élément de commande du bus de processeur 211 le résultat de la détermination, en utilisant un signal 307. L'élément d'opérations de grappe 317 obtient le numéro de groupe de son propre noeud en utilisant le contenu du registre 312 et du registre 313, et notifie à l'élément de commande du bus de processeur 211 le résultat, en utilisant un signal 308. En outre, après la réception d'un signal d'adresse 304 demandant l'accès à la mémoire spécifique de chaque groupe, provenant de l'élément de commande du bus du système 213, l'élément d'opérations de grappe 317 se reporte aux registres 313 à 316 et au registre 311, et détermine si l'adresse indique l'accès à la mémoire spécifique de son propre groupe ou à la mémoire spécifique d'un autre groupe. L'élément d'opérations de grappe 317 notifie à l'élément de commande du bus du système 213 le résultat de la détermination en
utilisant un signal 305.
La figure 4 montre un exemple du format de
l'adresse utilisé de préférence dans cette invention.
Le format est utilisé lorsqu'un processeur accède à la mémoire spécifique de son propre groupe, et à la mémoire partagée de son propre groupe ou d'un autre groupe. Dans cet exemple, les bits 0 à 60 de 64 bits sont utilisés comme l'espace d'adresse réelle, et les bits 61 à 63 sont utilisés lors de l'accès à une mémoire partagée. C'est-à-dire que lorsqu'un processeur accède à la mémoire partagée, le bit 63 est mis à 1 et les bits 61 et 62 sont définis à un numéro de groupe pour que l'adresse de l'espace de mémoire partagée puisse être spécifiée par les bits 0 à 60. D'autre part, lorsqu'un processeur accède à la mémoire spécifique de son propre groupe, les bits 61 à 63 sont définis à 000 et une adresse est spécifiée par les bits
0 à 60.
Avec la configuration décrite ci-dessus, dans un appareil de traitement de données ayant un système incluant plusieurs neuds comprenant une ou plusieurs CPU et un dispositif de mémoire principale, chaque noeud peut être commandé dans plusieurs groupes dont chacun
est commandé par un système d'exploitation indépendant.
Les groupes peuvent communiquer entre eux par l'intermédiaire de la mémoire partagée à une grande
vitesse.
Ensuite, le fonctionnement du mode de réalisation
va être décrit.
Lorsque le registre 311 est à 0, le système est commandé par un système d'exploitation comme dans un système classique. Par conséquent, le cas dans lequel le registre 311 est à 1, c'est-à-dire- quand le système
a une configuration en grappe, est décrit ci-dessous.
Le fonctionnement lorsqu'une requête pour accéder à la mémoire spécifique de son propre groupe est sortie d'un processeur vers son propre groupe va être décrit ci-dessous. Lorsqu'un processeur sort une requête, la requête est transmise à l'élément de commande du bus de processeur 211 par le bus de processeur 115. Puisque le bit 63 de l'adresse de la requête est à 0, l'élément de commande du bus de processeur 211 reconnaît que la requête s'adresse à la mémoire spécifique. L'élément de commande du bus de processeur 211 définit les bits 61 et 62 de l'adresse de la requête au numéro de groupe du groupe auquel son propre neud appartient, et transmet la requête à l'élément de commande du bus du système 213. Le numéro de groupe est défini en se basant sur le signal de sortie 308 provenant du
contrôleur de configuration en grappe 121.
L'élément de commande du bus du système 213 sort la requête transmise depuis l'élément de commande du bus de processeur 211 vers le bus du système 105. Les unités de commande du bus du système 213 de tous les noeuds 101 à 104 reçoivent la requête par l'intermédiaire du bus du système 105 et transmettent l'adresse à chaque contrôleur de configuration en grappe 121. Puisque le bit 63 de l'adresse de cette requête est à 0, chaque contrôleur de configuration en grappe 121 reconnaît que cette requête s'adresse à la mémoire spécifique. En se reportant aux valeurs des -bits 61 et 62 de l'adresse et aux registres 312 et 313, le contrôleur de configuration en grappe 121 détermine si cette requête s'adresse ou non au groupe auquel son propre noeud appartient et rapporte le résultat à l'élément de
commande du bus du système 213.
Lorsque le rapport indique que l'accès s'adresse à la mémoire spécifique de son propre groupe, l'élément de commande du bus du système 213 définit les bits 61 et 62 de l'adresse à 00 et transmet la requête à l'élément d'interface du dispositif de mémoire
principale 212.
Après la réception de la requête provenant de l'élément de commande du bus du système 213, l'élément d'interface du dispositif de mémoire principale 212 sort la requête vers le dispositif de mémoire principale 117 et la requête est traitée selon une
procédure prédéterminée.
D'autre part, lorsque le rapport provenant du contrôleur de configuration en grappe 121 à l'élément de commande du bus du système 213 indique que l'accès s'adresse à la mémoire spécifique d'un autre groupe, l'élément de commande du bus du système 213 désaffecte
la requête.
Ensuite, le fonctionnement lorsqu'un processeur a 1T. sorti une requête pour accéder à une mémoire partagée
va être décrit.
Lorsqu'un processeur sort une requête, la requête est transmise à l'élément de commande du bus de processeur 211 par le bus de processeur 115. Puisque le bit 63 de l'adresse de la requête est à 1, l'élément de commande du bus de processeur 211 reconnaît que la requête s'adresse à la mémoire partagée et transmet le signal d'adresse 306 de la requête au contrôleur de configuration en grappe 121. Puisque le bit 63 de l'adresse est à 1, le contrôleur de configuration en grappe 121 reconnaît que cette requête s'adresse à la mémoire partagée. Le contrôleur de configuration en grappe 121 se reporte aux valeurs des bits 61 et 62 de l'adresse de la requête, aux registres 313 à 316 et au registre 312, et détermine si la requête se rapporte ou non à l'accès au groupe auquel son propre noeud appartient. Le contrôleur de configuration en grappe 121 rapporte le résultat de la détermination à
l'élément de commande du bus de processeur 211.
Alors, le contrôleur de configuration en grappe
121 détermine si l'adresse de la requête est ou non au-
delà de la portée de la plage d'adresse indiquée par les registres 315 et 316. Si elle est au-delà de la portée, alors il est déterminé que l'accès est illégal et l'information est rapportée à l'élément de commande
du bus de processeur 211.
Même lorsque l'élément de commande du bus de processeur 211 reçoit le rapport indiquant que l'adresse de la requête est une adresse appropriée dans la portée de la plage d'adresse, l'élément de commande du bus de processeur 211 reconnaît l'accès comme étant illégal si la requête est un accès d'écriture et s'adresse à la mémoire partagée possédée par un autre groupe. Lorsqu'un accès illégal est détecté, un processus de défaillance est active. Puisqu'un tel processus de défaillance est bien connu, l'explication
est omise.
Lorsqu'un accès illégal n'est pas détecté, l'élément de commande du bus de processeur 211 sort la requête vers l'élément de commande du bus du système 213. L'élément de commande du bus du système
213 transmet la requête au bus du système 105.
L'élément de commande du bus du système 213 de tous les neuds 101 à 104 reçoit la requête par le bus du système 105 et transmet l'adresse à chacun des contrôleurs de configuration en grappe 121 correspondants. Puisque le bit 63 de l'adresse de cette requête est à 1, chaque contrôleur de configuration en grappe 121 reconnaît que cette requête s'adresse à la mémoire partagée. Le contrôleur de configuration en grappe 121 détermine si la requête est ou non sortie vers la mémoire partagée en se basant sur le contenu du registre 314 et le numéro de groupe
inclus dans l'adresse.
L'élément de commande du bus du système 213 définit les bits 61 à 63 de l'adresse à 000 et transmet la requête à l'élément d'interface du dispositif de mémoire principale 212 de son propre noeud. Après la réception de la requête provenant de l'élément de commande du bus du système 213, l'élément d'interface du dispositif de mémoire principale 212 sort la requête vers le dispositif de mémoire principale 117 et la requête est traitée selon une procédure prédéterminée. Ensuite, un deuxième mode de réalisation de la
présente invention va être décrit en détail.
Puisque la configuration selon le deuxième mode de réalisation est la même que celle du premier mode de réalisation, excepté la configuration du contrôleur de configuration en grappe 121, une explication détaillée est omise. Puisqu'un système contient aussi quatre neuds dans le deuxième mode de réalisation, le nombre
de groupes formant une grappe est au maximum de quatre.
Lorsque le nombre de grappes est quatre, chaque groupe
comprend un neud.
En se reportant à la figure 5, le contrôleur de configuration en grappe 121 comprend un élément
d'opérations de grappe 518 et sept registres 511 à 517.
Le registre 511 indique le caractère effectif/sans effet de la configuration en grappe. Le registre 512 indique le numéro de neud de son propre neud. Le registre 513 indique l'adresse la moins significative de l'espace mémoire de chaque neud. Le registre 514 indique l'adresse la plus significative de l'espace mémoire de chaque noeud. Le registre 515 indique le numéro de groupe du groupe auquel chaque noeud appartient. Le registre 516 indique le volume de la mémoire partagée de chaque groupe. Le registre 517 indique l'adresse de base de la mémoire partagée de
chaque groupe.
Comme dans le premier mode de réalisation, les valeurs des registres 511 à 517 sont définies par les processeurs 111 à 114 du noeud 101 et par les processeurs non indiqués mais fournis dans les neuds 102 et 103, ou par un processeur de service (non indiqué) lorsqu'un système est initialisé. Le registre 511 est un registre de 1 bit indiquant si une configuration en grappe est ou non effective dans un appareil de traitement de données. C'est-à-dire que lorsque le registre 511 est à 1, la configuration en grappe est effective, et les valeurs définies dans
les registres 512 à 517 sont significatives.
Le registre 512 est un registre de 2 bits
indiquant le numéro de noeud de son propre noeud.
Le registre 513 possède plusieurs entrées. Le nombre d'entrées du registre 513 est égal au nombre de noeuds (quatre dans ce mode de réalisation). Le registre 513 indique l'adresse la moins significative de l'espace d'adressage du dispositif de mémoire principale de chaque noeud. Le registre 513 est, par
exemple, un registre de 61 bits.
Le registre 514 possède plusieurs entrées. Le nombre d'entrées du registre 514 est égal au nombre de noeuds (quatre dans ce mode de réalisation). Le registre 514 indique l'adresse la plus significative de l'espace d'adressage du dispositif de mémoire principale de chaque noeud. Le registre 514 est, par exemple, un
registre de 61 bits.
Le registre 515 possède plusieurs entrées. Le nombre d'entrées du registre 515 est égal au nombre de neuds (quatre dans ce mode de réalisation). Le registre 515 indique le numéro de groupe du groupe auquel chaque wr
noeud appartient. Chaque entrée possède 2 bits.
Lorsqu'une configuration en grappe est réalisée dans un système, un ou plusieurs neuds sont définis comme un groupe, et un neud ou des neuds appartenant à un groupe sont commandés par un système d'exploitation indépendant. Par conséquent, lorsque- plusieurs noeuds sont définis comme étant dans le même groupe, les entrées du registre 515 sont définies au même numéro de
groupe pour les neuds appartenant au même groupe.
Le registre 516 possède des entrées correspondant à chaque groupe (un maximum de quatre dans ce mode de réalisation) et indique la capacité de la mémoire
partagée possédée par chaque groupe.
Le registre 517 possède des entrées correspondant à chaque groupe (un maximum de quatre dans ce mode de réalisation) et indique l'adresse de base de l'adresse de l'espace mémoire de la mémoire partagée possédée par
chaque groupe.
Après la réception d'un signal d'adresse 306 demandant l'accès à la mémoire partagée, provenant de l'élément de commande du bus de processeur 211, l'élément d'opérations de grappe 518 détermine si l'adresse indique l'accès à la mémoire partagée de son propre groupe ou l'accès à la mémoire partagée d'un autre groupe. L'élément d'opérations de grappe 518 notifie à l'élément de commande du bus de processeur 211 le résultat de la détermination en utilisant un signal 307. L'élément d'opérations de grappe 518 obtient le numéro de groupe de son propre noeud en utilisant le contenu des registres 512 et 515, et -T-' notifie à l'élément de commande du bus de processeur
211 le numéro obtenu, en utilisant un signal 308.
D'autre part, après la réception d'un signal d'adresse 305 demandant l'accès à la mémoire spécifique de chaque groupe, provenant de l'élément de commande du bus du système 213, l'élément d'opérations de grappe 518 se reporte aux registres 512 et 515, et détermine si l'adresse indique l'accès à la mémoire spécifique de son propre groupe ou l'accès à la mémoire spécifique d'un autre groupe. L'élément d'opérations de grappe 518 notifie à l'élément de commande du bus du système 213 le résultat de la détermination, en utilisant un
signal 305.
Ensuite, le fonctionnement du mode de réalisation
va être décrit.
Lorsque le registre 511 est à 0, le système est commandé par un système d'exploitation comme dans un système classique. Par conséquent, l'explication de ces opérations est omise. Le cas dans lequel le registre 511 est à 1, c'est-à-dire qu'une configuration en
grappe est effective dans un système, est décrit ci-
dessous. Le fonctionnement lorsqu'une requête pour accéder à la mémoire spécifique de son propre groupe est sortie
va être décrit ci-dessous.
Lorsqu'un processeur sort une requête pour accéder à la mémoire, la requête est transmise à l'élément de commande du bus de processeur 211 par le bus de processeur 115. Puisque le bit 63 de l'adresse de cette requête est à 0, l'élément de commande du bus de processeur 211 reconnaît que la requête s'adresse à la mémoire spécifique. L'élément de commande du bus de processeur 211 définit les bits 61 et 62 de l'adresse de la requête au numéro de groupe du groupe auquel son propre noeud appartient, et transmet la requête à l'élément de commande du bus du système 213. Le numéro de groupe est défini en se basant sur le signal de sortie 308 provenant du contrôleur de configuration en
grappe 121.
L'élément de commande du bus du système 213 sort la requête transmise depuis l'élément de commande du bus de processeur 211 vers le bus du système 105. Les unités de commande du bus du système 213 de tous les noeuds 101 à 104 reçoivent la requête par l'intermédiaire du bus du système 105 et transmettent l'adresse à chaque contrôleur de configuration en grappe 121. Puisque le bit 63 de l'adresse de cette requête est à 0, chaque contrôleur de configuration en grappe 121 reconnaît que cette requête s'adresse à la
mémoire spécifique.
En se reportant aux valeurs des bits 61 et 62 de l'adresse et aux registres 512 et 515, le contrôleur de configuration en grappe 121 détermine si cette requête s'adresse ou non au groupe auquel son propre noeud appartient. Lorsque la requête s'adresse à un groupe auquel sonpropre noeud appartient, le contrôleur de configuration en grappe 121 détermine si la requête s'adresse ou non à son propre noeud en se reportant aux registres 513 et 514, et rapporte le résultat à
l'élément d'interface du bus du système 213.
Lorsque le rapport indique que l'accès s'adresse à la mémoire spécifique de son propre noeud, l'élément de commande du bus du système 213 définit les bits 61 et 62 de l'adresse à 00 et transmet la requête à l'élément d'interface du dispositif de mémoire principale 212. Après la réception de la requête provenant de l'élément de commande du bus du système 213, l'élément d'interface du dispositif de mémoire principale 212 sort la requête vers le dispositif de mémoire principale 117 et la requête est traitée selon une
procédure prédéterminée.
D'autre part, lorsque le rapport provenant du contrôleur de configuration en grappe 121 à l'élément de commande du bus du système 213 n'indique pas que l'accès s'adresse à la mémoire de son propre noeud, l'élément de commande du bus du système 213 désaffecte
la requête.
Ensuite, le fonctionnement lorsqu'un processeur a sorti une requête pour accéder à une mémoire partagée
va être décrit.
Lorsqu'un processeur sort une requête pour accéder à la mémoire, la requête est transmise à l'élément de commande du bus de processeur 211 par le bus de processeur 115. Puisque le bit 63 de l'adresse de cette requête est à 1, l'élément de commande du bus de processeur 211 reconnaît que la requête s'adresse à la mémoire partagée et transmet le signal d'adresse 306 de la requête au contrôleur de configuration en grappe 121. Puisque le bit 63 de l'adresse est à 1, le contrôleur de configuration en grappe 121 reconnaît que cette requête s'adresse à la mémoire partagée. Le contrôl81eur de configuration en grappe 121 se reporte aux valeurs des bits 61 et 62 de l'adresse de la requête, aux registres 512 et 515, et détermine si la requête s'adresse ou non au groupe auquel son propre noeud appartient. Le contr1ôleur de - configuration en grappe 121 rapporte le résultat de la détermination à
l'élément de commande du bus de processeur 211.
Alors, le contrôleur de configuration en grappe
121 détermine si l'adresse de la requête est ou non au-
delà de la portée de la plage d'adresse indiquée par les registres 513, 514, 516 et 517. Si elle est au-delà de la portée, alors il est déterminé que l'accès est illégal et l'information est rapportée à l'élément de
commande du bus de processeur 211.
Même lorsque l'élément de commande du bus de processeur 211 reçoit le rapport indiquant que l'adresse de la requête est une adresse appropriée dans la portée de la plage d'adresse, l'élément de commande du bus de processeur 211 reconnaît l'accès comme étant illégal si la requête est un accès d'écriture et s'adresse à la mémoire partagée possédée par un autre groupe. Lorsqu'un accès illégal est détecté, un processus de défaillance est activé. Puisqu'un tel processus de défaillance est bien connu, l'explication
est omise.
Lorsqu'un accès illégal n'est pas détecté, l'élément de commande du bus de processeur 211 sort la requête vers l'élément de commande du bus du système 213. L'élément de commande du bus du système
213 transmet la requête au bus du système 105.
Les unités de commande du bus du système 213 de tous les noeuds 101 à 104 reçoivent la requête par le bus du système 105 et transmettent l'adresse à chacun des contrôleurs de configuration en grappe 121 correspondants. Puisque le bit 63 de l'adresse de cette requête est à 1, chaque contrôleur de configuration en grappe 121 reconnaît que cette requête
s'adresse à la mémoire partagée.
En se reportant aux valeurs des bits 61 et 62 de l'adresse et aux registres 512 et 515, le contrôleur de configuration en grappe 121 détermine si la requête s'adresse ou non au groupe auquel son propre noeud appartient. Lorsque la requête s'adresse à un groupe auquel son propre noeud appartient, le contrôleur de configuration en grappe 121 détermine si la requête s'adresse ou non à son propre noeud en se reportant aux registres 513 et 514 et rapporte le résultat à
l'élément de commande du bus du système 213.
Lorsque le rapport indique l'accès à la mémoire partagée de son propre noeud, l'élément de commande du bus du système 213 définit les bits 61 à 63 de l'adresse à 000 et transmet la requête à l'élément
d'interface du dispositif de mémoire principale 212.
Après la réception de la requête provenant de l'élément de commande du bus du système 213, l'élément d'interface du dispositif de mémoire principale 212 sort la requête vers le dispositif de mémoire principale 117 et la requête est traitée selon une
procédure prédéterminée.
D'autre part, lorsque le rapport provenant du contrôleur de configuration en grappe 121 à l'élément de commande du bus du système 213 ne s'adresse pas à son propre noeud, l'élément de commande du bus du système 213 désaffecte la requête. La configuration du registre décrit ci-dessus et la configuration d'un format d'adresse sont des exemples pour mettre en oeuvre la présente invention. La
présente invention n'est pas limitée à ces exemples.
Comme décrit ci-dessus, il est possible de changer une configuration en grappe sélectivement dans un système. Dans ce cas, des groupes formant une grappe sont commandés par un système d'exploitation indépendant correspondant. Les communications entre les systèmes d'exploitation peuvent être synchronisés en utilisant une mémoire partagée. D'autre part, lorsqu'une configuration en grappe n'est pas adoptée, tout le système est commandé par un système
d'exploitation comme dans la technologie classique.
Donc, un système avec une configuration en grappe ou un système sans une configuration en grappe peut être choisi dans un système. De plus, un groupe configurant une grappe peut être défini arbitrairement en définissant des registres, afin qu'une configuration puisse être choisie de façon appropriée en fonction du
but du fonctionnement d'un système.
En outre, puisqu'il existe un mécanisme fourni pour détecter un accès illégal, les opérations d'un groupe formant une grappe n'influencent pas les autres
groupes.
-IrF? Bien que cette invention ait été décrite en conjonction avec les modes de réalisation préférés
décrits ci-dessus, il sera maintenant possible pour les hommes de l'art de mettre cette invention en pratique5 de diverses autres manières.

Claims (17)

REVENDICATIONS
1. Appareil de traitement de données caractérisé en ce qu'il comprend: plusieurs noeuds (101-104), chacun d'eux incluant au moins un processeur (111-114), et qui sont divisés en plusieurs groupes; - un bus (105) auquel les noeuds (101-104) sont connectés; - des éléments de mémoire (117) fournis dans les neuds (101-104), respectivement; et - des zones de mémoire partagée qui sont fournies dans les groupes, respectivement, et auxquelles les
noeuds (101-104) accèdent.
2. Appareil de traitement de données selon la revendication 1, dans lequel les neuds (101-104) communiquent les uns avec les autres en utilisant la
mémoire partagée.
3. Appareil de traitement de données selon la revendication 1, dans lequel chacun des groupes est
commandé par un système d'exploitation correspondant.
4. Appareil de traitement de données selon la revendication 1, comprenant en outre une zone de mémoire spécifique qui correspond à chacun des groupes et dans laquelle un accès depuis les autres groupes est interdit.
5. Appareil de traitement de données selon la revendication 1, comprenant en outre des premiers éléments (121) fournis dans les neuds (101-104), respectivement, qui définissent les neuds dans les groupes.
-i- -
6. Appareil de traitement de données selon la revendication 5, dans lequel le premier élément (121) inclut un premier registre (311; 511) qui indique si
l'appareil est commandé ou non dans les groupes.
7. Appareil de traitement de données selon la revendication 5, dans lequel le premier élément (121) inclut un deuxième registre (313; 515) qui indique les
groupes auxquels les noeuds appartiennent.
8. Appareil de traitement de données caractérisé en ce qu'il comprend: plusieurs neuds (101-104), chacun d'eux incluant au moins un processeur (111-114); - un bus (105) auquel les noeuds (101-104) sont connectés; des éléments de mémoire (117) fournis dans les noeuds (101-104), respectivement; et - un premier élément (121) qui définit les noeuds
(101-104) dans des grappes.
9. Appareil de traitement de données selon la revendication 8, dans lequel le premier élément (121) inclut un premier registre (311; 511) qui indique si
l'appareil est commandé ou non dans les grappes.
10. Appareil de traitement de données selon la revendication 8, dans lequel le premier élément (121) inclut un deuxième registre (313; 515) qui indique les
grappes auxquelles les noeuds (101-104) appartiennent.
11. Appareil de traitement de données selon la revendication 8, comprenant en outre des zones de mémoire partagée qui sont fournies dans les groupes, respectivement, et auxquelles les neuds (101-104) accèdent; et -V-r dans lequel le premier élément (121) inclut un troisième registre (314) qui indique lequel des noeuds
possède la zone de mémoire partagée.
12.. Appareil de traitement de données selon la revendication 11, dans lequel le premier élément (121) détermine si l'accès s'adresse à la' zone de mémoire
partagée de sa propre grappe ou des autres grappes.
13. Appareil de traitement de données selon la revendication 8, dans lequel le premier élément (121) détecte un accès illégal qui est adressé au-delà d'une
plage d'adresse prédéterminée.
14. Appareil de traitement de données selon la revendication 13, dans lequel le premier élément (121)
inclut un quatrième registre (315-316; 513-514, 516-
517) qui indique la plage d'adresse prédéterminée.
15. Appareil de traitement de données selon la revendication 8, comprenant en outre une zone de mémoire spécifique qui correspond à chacune des grappes et dans laquelle un accès depuis les autres grappes est
interdit.
16. Appareil de traitement de données selon la revendication 15, dans lequel le premier élément (121) détermine si l'accès s'adresse à la zone de mémoire
spécifique de sa propre grappe ou des autres grappes.
17. Procédé de traitement de données dans un appareil de traitement de données, qui inclut plusieurs noeuds (101-104) divisés en plusieurs groupes, un bus (105) auquel les noeuds (101-104) sont connectés, et des zones de mémoire partagée correspondant aux groupes, respectivement, caractérisé par - la sortie d'une requête adressée à la zone de mémoire partagée vers le bus (105), par l'un des noeuds
(101-104);
- la détermination, dans chacun des neuds (101-
104), de la possession ou non par son propre noeud de la mémoire partagée à laquelle la requête s'adresse; et - l'accès à la mémoire partagée dans un des neuds (101-104) qui détermine que la mémoire partagée est possédée par son propre noeud pendant l'étape de détermination.
FR9915468A 1998-12-09 1999-12-08 Appareil de traitement de donnees et procede de traitement de donnees Expired - Fee Related FR2788868B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35045698A JP3976432B2 (ja) 1998-12-09 1998-12-09 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
FR2788868A1 true FR2788868A1 (fr) 2000-07-28
FR2788868B1 FR2788868B1 (fr) 2005-05-20

Family

ID=18410627

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9915468A Expired - Fee Related FR2788868B1 (fr) 1998-12-09 1999-12-08 Appareil de traitement de donnees et procede de traitement de donnees

Country Status (3)

Country Link
US (1) US6938078B1 (fr)
JP (1) JP3976432B2 (fr)
FR (1) FR2788868B1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139881B2 (en) * 2003-09-25 2006-11-21 International Business Machines Corporation Semiconductor device comprising a plurality of memory structures
US8009556B2 (en) * 2003-10-17 2011-08-30 Ip Infusion, Inc. System and method for providing redundant routing capabilities for a network node
US7743375B2 (en) 2008-06-27 2010-06-22 International Business Machines Corporation Information handling system including dynamically merged physical partitions
US20230004426A1 (en) * 2019-12-05 2023-01-05 Nippon Telegraph And Telephone Corporation Distributed Processing System

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0844559A2 (fr) * 1996-11-22 1998-05-27 MangoSoft Corporation Réseau d'ordinateurs à mémoire partagée
EP0848327A2 (fr) * 1996-12-12 1998-06-17 Sun Microsystems, Inc. Ordinateur multiprocesseur avec des domaines de système matériel configurables

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5036041A (fr) 1973-07-11 1975-04-04
JPS53139939A (en) 1977-05-13 1978-12-06 Toshiba Corp Memory addressing method
JPS5833766A (ja) 1981-08-22 1983-02-28 Nippon Signal Co Ltd:The マルチマイクロコンピユ−タ
JPS58103053A (ja) 1981-12-14 1983-06-18 Mitsubishi Electric Corp 共有記憶システム
JPS58144273A (ja) 1982-02-19 1983-08-27 Nec Corp プロセツサ間通信方式
JPS6412364A (en) 1987-07-06 1989-01-17 Nippon Telegraph & Telephone System constitution control system
JPH01106150A (ja) 1987-10-17 1989-04-24 Fanuc Ltd ローカルメモリ保護方式
JP2594979B2 (ja) * 1987-10-23 1997-03-26 株式会社日立製作所 マルチプロセツサシステム
JPH01134656A (ja) 1987-11-20 1989-05-26 Nippon Telegr & Teleph Corp <Ntt> 主記憶分散構成をもつ情報処理装置
JP2953584B2 (ja) 1988-01-12 1999-09-27 三菱電機株式会社 マルチプロセッサシステムにおける各メモリボードの記憶保護方式
JP3004278B2 (ja) 1988-11-24 2000-01-31 富士通株式会社 マルチプロセッサシステム
JPH03271861A (ja) 1990-03-20 1991-12-03 Fujitsu Ltd 共有メモリアクセス制御方式
JPH04278662A (ja) 1991-03-06 1992-10-05 Nec Corp マルチプロセッサシステム
JP2770603B2 (ja) * 1991-03-14 1998-07-02 三菱電機株式会社 並列計算機
US6282583B1 (en) * 1991-06-04 2001-08-28 Silicon Graphics, Inc. Method and apparatus for memory access in a matrix processor computer
US5428803A (en) * 1992-07-10 1995-06-27 Cray Research, Inc. Method and apparatus for a unified parallel processing architecture
JPH06231033A (ja) 1993-02-05 1994-08-19 Fujitsu Ltd 分散共有メモリシステムを有するデータ処理装置
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
US6295585B1 (en) * 1995-06-07 2001-09-25 Compaq Computer Corporation High-performance communication method and apparatus for write-only networks
US5590301A (en) * 1995-10-06 1996-12-31 Bull Hn Information Systems Inc. Address transformation in a cluster computer system
JP3573546B2 (ja) * 1995-10-27 2004-10-06 富士通株式会社 並列計算機における並列プロセススケジューリング方法および並列計算機用処理装置
US5793962A (en) 1996-04-30 1998-08-11 International Business Machines Corporation System for managing membership of a group of processors in a distributed computing environment
US5787249A (en) 1996-04-30 1998-07-28 International Business Machines Coporation Method for managing membership of a group of processors in a distributed computing environment
JP3849951B2 (ja) 1997-02-27 2006-11-22 株式会社日立製作所 主記憶共有型マルチプロセッサ
US6094532A (en) * 1997-03-25 2000-07-25 Sun Microsystems, Inc. Multiprocessor distributed memory system and board and methods therefor
US6442670B2 (en) * 1997-03-25 2002-08-27 Sun Microsystems, Inc. Data processing system including a shared memory resource circuit
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network
US6148349A (en) * 1998-02-06 2000-11-14 Ncr Corporation Dynamic and consistent naming of fabric attached storage by a file system on a compute node storing information mapping API system I/O calls for data objects with a globally unique identification
US6611911B1 (en) * 1999-12-30 2003-08-26 Intel Corporation Bootstrap processor election mechanism on multiple cluster bus system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0844559A2 (fr) * 1996-11-22 1998-05-27 MangoSoft Corporation Réseau d'ordinateurs à mémoire partagée
EP0848327A2 (fr) * 1996-12-12 1998-06-17 Sun Microsystems, Inc. Ordinateur multiprocesseur avec des domaines de système matériel configurables

Also Published As

Publication number Publication date
JP2000172655A (ja) 2000-06-23
JP3976432B2 (ja) 2007-09-19
FR2788868B1 (fr) 2005-05-20
US6938078B1 (en) 2005-08-30

Similar Documents

Publication Publication Date Title
US7093079B2 (en) Snoop filter bypass
JP3996455B2 (ja) 情報処理システムのデータ転送方法及び情報処理システム
EP1701274B1 (fr) Architecture de noeud de communication dans un système de réseau sur puce globalement asynchrone
JP2002508099A (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
US8209497B2 (en) Multi-port memory and system using the same
JPH05507374A (ja) 半導体メモリ装置
FR2752466A1 (fr) Dispositif processeur integre de signaux numeriques
EP0755013B1 (fr) Système informatique multinodal et procédé de transfert de messages dans ledit système informatique multinodal
US20050265108A1 (en) Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same
WO1999000819A2 (fr) Procede et appareil, dans un commutateur d&#39;acheminement par paquets, permettant de regler l&#39;acces a une memoire partagee a differentes vitesses de transmission de donnees
FR2517442A1 (fr) Dispositif d&#39;interruption pour un systeme de multitraitement, procede pour sa commande et systeme pour sa mise en oeuvre
CN106844245A (zh) 数据传输方法及装置
US7506074B2 (en) Method, system, and program for processing a packet to transmit on a network in a host system including a plurality of network adaptors having multiple ports
EP0752669B1 (fr) Dispositif de communication entre une pluralité de modules fonctionnels installés dans une unité locale et un bus externe de type ARINC 629
US5146560A (en) Apparatus for processing bit streams
US7162579B2 (en) Asymmetrical load balancing for mirrored storage volumes
EP0027851A1 (fr) Système pour commander la durée de l&#39;intervalle de temps entre blocs de données dans un système de communication calculateur à calculateur
EP3217290A1 (fr) Systeme sur puce et procede d&#39;echange de donnees entre noeuds de calculs d&#39;un tel systeme sur puce
FR2788868A1 (fr) Appareil de traitement de donnees et procede de traitement de donnees
FR3091766A1 (fr) Dispositif d&#39;arbitrage
US8880772B2 (en) System and method for serial interface topologies
JP2003198356A (ja) 半導体チップおよび集積回路
FR2749726A1 (fr) Dispositif de communication entre une pluralite de modules fonctionnels installes dans une unite locale et un bus externe de type ethernet
EP3611623B1 (fr) Contrôleur mémoire comprenant deux buffers et un selecteur d&#39;un mode de remplissage desdits buffers
JPH10340247A (ja) データ通信インターフェース

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20070831