FR2802318A1 - Procede d'acces a des donnees dans un systeme en reseau et systeme en reseau - Google Patents

Procede d'acces a des donnees dans un systeme en reseau et systeme en reseau Download PDF

Info

Publication number
FR2802318A1
FR2802318A1 FR0016056A FR0016056A FR2802318A1 FR 2802318 A1 FR2802318 A1 FR 2802318A1 FR 0016056 A FR0016056 A FR 0016056A FR 0016056 A FR0016056 A FR 0016056A FR 2802318 A1 FR2802318 A1 FR 2802318A1
Authority
FR
France
Prior art keywords
data
memories
speculative
memory
nodal
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
FR0016056A
Other languages
English (en)
Other versions
FR2802318B1 (fr
Inventor
Hidetoshi Kondo
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 FR2802318A1 publication Critical patent/FR2802318A1/fr
Application granted granted Critical
Publication of FR2802318B1 publication Critical patent/FR2802318B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0884Parallel mode, e.g. in parallel with main memory or CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Dans le procédé de l'invention des informations d'étiquette sont lues dans la mémoire d'étiquette (310), les données sont extraites de manière spéculative depuis l'unité de mémoire (30a) dans le dispositif auto-nodal (100a). Lorsque les informations d'étiquette extraites montrent que les données extraites de façon spéculative n'existent pas dans l'une quelconque des mémoires caches (20a, 20b), des données extraites de façon spéculative de ce type sont envoyées au processeur (10a) dans le dispositif auto-nodal (100a). Lorsque les informations d'étiquette extraites montrent que les données extraites de façon spéculative existent dans l'une des mémoires caches (20a, 20b), les données existant dans une mémoire cache (20a; 20b) de ce type sont prises et envoyées au processeur (10a) dans le dispositif auto-nodal (100a) et les données extraites de façon spéculative sont supprimées.

Description

PROCEDE D'ACCES A DES DONNEES DANS UN SYSTEME EN RESEAU
ET SYSTEME EN RESEAU
ARRIERE-PLAN DE L'INVENTION
DOMAINE DE L'INVENTION
La présente invention se rapporte à une technique d'accès à des données pouvant être appliquée, de préférence, à un système en réseau, et particulièrement à un système NUMA (modèle d'Accès à la Mémoire Non
Uniforme).
DESCRIPTION DE LA TECHNIQUE CONCERNEE
La figure 21 représente un schéma fonctionnel de
configuration représentant un exemple du système NUMA.
Dans ce système, chaque dispositif de plusieurs dispositifs nodaux 1000a,. .., lO1000n est relié à un autre dispositif par un bus 1040 de sorte qu'ils peuvent mutuellement envoyer et recevoir les informations requises entre eux. Chaque dispositif nodal comporte une CPU 100llOa (..., 100llOn) , une mémoire locale 1020a (.... 1020n) et une unité de commande 1030a (.. ., 1030n). De plus, comme le montre la figure 22, les mémoires locales 1020a,..., 1020n des dispositifs nodaux constituent une mémoire commune. Les CPU 0ll0a,..., 1010n des dispositifs nodaux sont configurées de sorte qu'elles peuvent accéder à une
mémoire commune de ce type.
Dans le système NUMA tel que précédemment décrit, lorsque les CPU 100llOa, ..., 1010n dans les dispositifs nodaux 1000la,..., 1000ln accèdent à la mémoire commune, le temps de latence, qui est la période entre le début de lecture jusqu'à l'achèvement de la sortie de données, diffère entre elles. Une mémoire cache est incorporée dans chacune des CPU 0ll0a,..., 1010n de sorte que le nombre d'accès à partir d'un certain dispositif nodal (auquel on se réfère dans la suite du document par dispositif auto- nodal ou neud local) à la mémoire cache dans la CPU de l'autre dispositif nodal (auquel on se réfère parfois dans la suite du document
par noeud distant) peut être réduit.
Cependant, si aucune restriction n'est imposée pour la copie des données stockées dans la mémoire commune vers la mémoire cache, la copie de données ayant la même adresse dans la mémoire commune peut être stockée dans les mémoires caches de plusieurs processeurs, ce qui aurait pour conséquence de fréquents accès entre les dispositifs nodaux. Cela dégrade le temps de latence de l'accès à la mémoire cache ou à la mémoire locale du noeud distant, ce qui
conduit à des performances inférieures du système.
De plus, étant donné que les mémoires locales constituant la mémoire commune sont montées individuellement une par une pour les dispositifs nodaux dans ce système, la différence de temps de latence entre le noeud local et le noeud distant devient plus grande. Cela a également pour conséquence des
performances inférieures du système.
RESUME DE L'INVENTION
Un premier objectif de la présente invention est de proposer un procédé d'accès à des données qui permet la réduction du temps de latence, un système en réseau et un support d'enregistrement contenant un programme
d'accès à des données.
Un autre objectif de la présente invention est de réduire la différence de temps de latence entre les noeuds. Selon un premier aspect de l'invention, un procédé d'accès à des données utilisé dans un système en réseau ayant plusieurs dispositifs nodaux reliés pour des communications, configuré de sorte que chaque dispositif nodal peut exécuter un certain traitement en accédant à des mémoires dans les plusieurs dispositifs nodaux ou mémoires caches à une vitesse d'accès supérieure, dans lequel chaque dispositif nodal exécute l'accès spéculatif aux mémoires dans le système tout en extrayant, depuis la mémoire d'étiquettes, les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans les mémoires caches prévues dans le système, et décide s'il faut ou non supprimer les données récupérées dans les mémoires au moyen de l'accès spéculatif selon les informations d'étiquette
extraites.
Selon la présente invention, un accès spéculatif à la mémoire est effectué dans le système en même temps que l'extraction des informations d'étiquette à partir de la mémoire d'étiquettes et, sur la base des informations d'étiquette extraites, on décide s'il faut ou non supprimer les données obtenues à partir de la mémoire au moyen de l'accès spéculatif. Cette procédure n'est pas semblable au procédé classique comportant une série d'opérations dans lesquelles les informations d'étiquette sont d'abord extraites et, si les informations d'étiquette extraites montrent que les données auxquelles on doit accéder ne sont pas stockées dans la mémoire cache dans le système, alors
l'opération d'accès à la mémoire est ensuite exécutée.
A la place, l'accès à la mémoire est exécuté en même temps que l'extraction des informations d'étiquette et, si les informations d'étiquette extraites montrent que les données auxquelles on doit accéder ne sont pas stockées dans la mémoire cache du système, les données
déjà obtenues par l'accès précédent sont conservées.
Ainsi, le temps de latence peut être réduit.
Selon un deuxième aspect de l'invention, un procédé d'accès à des données utilisé dans un système en 'réseau ayant plusieurs dispositifs nodaux reliés pour des communications mutuelles, configuré de sorte que chaque dispositif nodal peut exécuter un certain traitement en extrayant des données à partir de mémoires dans les plusieurs dispositifs nodaux ou mémoires caches à une vitesse d'accès supérieure, dans lequel chaque dispositif nodal exécute l'extraction spéculative des données à partir des mémoires dans les dispositifs nodaux tout en extrayant, à partir de la mémoire d'étiquettes, les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans les mémoires caches prévues dans le système, détermine si les mêmes données que les données soumises à l'extraction spéculative sont dans l'une quelconque des mémoires caches sur la base des informations d'étiquette extraites, envoie les données extraites spéculatives au processeur dans le dispositif auto-nodal lorsque les mêmes données que les données soumises à l'extraction spéculative ne sont pas trouvées dans l'une quelconque des mémoires caches, et prend, lorsque les mêmes données que les données soumises à l'extraction spéculative sont dans l'une des mémoires caches, des données de ce type dans la mémoire cache et envoie les données au processeur dans le
dispositif auto-nodal.
Dans la structure préférée, les données extraites spéculatives sont supprimées lorsque les données trouvées dans la mémoire cache sont prises et envoyées
au processeur dans le dispositif auto-nodal.
Dans une autre structure préférée, chaque dispositif nodal extrait de manière spéculative les
données à partir de la mémoire dans le dispositif auto-
nodal tout en extrayant les informations d'étiquette à partir de la mémoire d'étiquettes. Dans une autre structure préférée, chaque dispositif nodal extrait de manière spéculative les données à partir de la mémoire dans l'autre dispositif nodal tout en extrayant les informations d'étiquette à
partir de la mémoire d'étiquettes.
Selon un troisième aspect de l'invention, un système en réseau ayant plusieurs dispositifs nodaux reliés pour des communications, configuré de sorte que chaque dispositif nodal peut exécuter un certain traitement en accédant à des mémoires dans les plusieurs dispositifs nodaux ou mémoires caches à une vitesse d'accès supérieure, dans lequel chaque dispositif nodal comprend des moyens d'accès pour accéder de manière spéculative aux mémoires dans le système tout en extrayant, à partir de la mémoire d'étiquettes, les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans les mémoires caches prévues dans le système, et des moyens de détermination pour déterminer s'il faut ou non supprimer les données récupérées dans les mémoires au moyen de l'accès spéculatif selon les
informations d'étiquette extraites.
Selon un quatrième aspect de l'invention, un système en réseau ayant plusieurs dispositifs nodaux reliés par un mécanisme de communication pour des communications mutuelles, configuré de sorte que chaque dispositif nodal peut exécuter un certain traitement en extrayant des données à partir de mémoires dans les plusieurs dispositifs nodaux ou mémoires caches à une vitesse d'accès supérieure, dans lequel chaque dispositif nodal comprend des moyens d'extraction spéculative pour exécuter l'extraction spéculative des données à partir des mémoires dans les dispositifs nodaux tout en extrayant, à partir de la mémoire d'étiquette, les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans les mémoires caches prévues dans le système, des moyens de détermination pour déterminer si les mêmes données que les données soumises à l'extraction spéculative sont dans l'une quelconque des mémoires caches sur la base des informations d'étiquette extraites, et des moyens de traitement de données extraites qui envoient les données extraites spéculatives au processeur dans le dispositif auto-nodal lorsque les mêmes données que les données soumises à l'extraction spéculative sont déterminées comme n'existant pas dans l'une quelconque des mémoires caches et, lorsque les mêmes données sont déterminées comme existant dans l'une des mémoires caches, prennent des données de ce type dans la mémoire cache et envoient les données au
processeur dans le dispositif auto-nodal.
Dans la structure préférée, les moyens de traitement de données suppriment les données extraites spéculatives lorsque les données trouvées dans la mémoire cache sont prises et envoyées au processeur
dans le dispositif auto-nodal.
Dans une autre structure préférée, les moyens d'extraction spéculative extraient de manière spéculative les données à partir de la mémoire dans le
dispositif auto-nodal.
Dans une autre structure préférée, les moyens d'extraction spéculative extraient de manière spéculative les données à partir de la mémoire dans
l'autre dispositif nodal.
Dans une autre structure préférée, la mémoire d'étiquettes est prévue dans le mécanisme de communication. Selon un cinquième aspect de l'invention, une mémoire informatique pouvant être lue stockant un programme d'accès à des données pour commander l'accès à des données dans un système en réseau ayant plusieurs dispositifs nodaux reliés pour des communications mutuelles, configuré de sorte que chaque dispositif nodal peut exécuter un certain traitement en accédant à des mémoires dans les plusieurs dispositifs nodaux ou mémoires caches à une vitesse d'accès supérieure, dans laquelle le programme d'accès à des données exécute un traitement d'accès spéculatif pour les mémoires dans le système tout en extrayant, à partir de la mémoire d'étiquettes, les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans les mémoires caches prévues dans le système et un traitement pour déterminer s'il faut ou non supprimer les données récupérées à partir des mémoires au moyen de l'accès spéculatif selon les informations
d'étiquette extraites.
Selon un autre aspect de l'invention, une mémoire informatique pouvant être lue stockant un programme d'accès à des données pour commander l'accès à des données dans un système en réseau ayant plusieurs dispositifs nodaux reliés pour des communications mutuelles, configuré de sorte que chaque dispositif nodal peut exécuter un certain traitement en extrayant des données à partir de mémoires dans les plusieurs dispositifs nodaux ou mémoires caches à une vitesse d'accès supérieure, dans laquelle le programme d'accès à des données exécute un traitement d'extraction spéculative pour extraire les données à partir des mémoires dans les dispositifs nodaux tout en extrayant, à partir de la mémoire d'étiquettes, les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans les mémoires caches prévues dans le système, un traitement de détermination pour déterminer si les mêmes données que les données soumises à l'extraction spéculative sont trouvées dans l'une quelconque des mémoires caches sur la base des informations d'étiquette extraites, et un traitement lorsque les mêmes données que les données soumises à l'extraction spéculative ne sont pas trouvées dans l'une quelconque des mémoires caches pour envoyer les données extraites spéculatives au processeur dans le dispositif auto-nodal et, un traitement lorsque les mêmes données que les données soumises à l'extraction spéculative sont trouvées dans l'une des mémoires caches pour prendre des données de ce type dans la mémoire cache et envoyer
les données au processeur dans le dispositif auto-
nodal.
D'autres objectifs, caractéristiques et avantages de la présente invention vont devenir évidents à partir
de la description détaillée qui va suivre.
BREVE DESCRIPTION DES DESSINS
La présente invention va être mieux comprise à
partir de la description qui va suivre et des dessins
annexés du mode de réalisation préféré de l'invention, lesquels, cependant, ne doivent pas être considérés comme limitant l'invention mais servent uniquement à
son explication et à sa compréhension.
Dans les dessins: la figure 1 est un schéma fonctionnel représentant un système en réseau selon un premier mode de réalisation de la présente invention; la figure 2 est une vue explicative des informations d'étiquette à stocker dans la mémoire d'étiquettes dans le premier mode de réalisation; la figure 3 est une vue explicative des informations d'état dans le premier mode de réalisation; la figure 4 est une vue explicative représentant l'état de cartographie de la mémoire commune dans le premier mode de réalisation; la figure 5 est une vue de configuration de la partie principale selon le premier mode de réalisation de la présente invention; la figure 6 est un schéma de configuration d'une unité de commande dans le RDCB selon le premier mode de réalisation; la figure 7 est une vue explicative des bits stockés dans la mémoire de bits selon le premier mode de réalisation; la figure 8 est un schéma de configuration du SCB selon le premier mode de réalisation; la figure 9 est une vue explicative des informations de commande utilisées dans le SCB selon le premier mode de réalisation; la figure 10 est une vue explicative pour représenter la mise en oeuvre dans le premier mode de réalisation; la figure 11 est un graphique de synchronisation pour représenter la différence de temps de latence entre le premier exemple de mise en oeuvre du premier mode de réalisation et la technique antérieure; la figure 12 est un graphique de synchronisation pour représenter le deuxième exemple de mise en ouvre du premier mode de réalisation; la figure 13 est un graphique de synchronisation pour représenter le troisième exemple de mise en oeuvre du premier mode de réalisation; la figure 14 est un graphique de synchronisation pour représenter le quatrième exemple de mise en ouvre du premier mode de réalisation; la figure 15 est une vue explicative d'un exemple spécifique d'informations d'étiquette pour expliquer le premier exemple de mise en oeuvre du premier mode de réalisation; la figure 16 est une vue explicative d'un exemple spécifique d'informations d'étiquette pour expliquer le deuxième exemple de mise en ouvre du premier mode de réalisation; la figure 17 est une vue explicative d'un exemple spécifique d'informations d'étiquette pour expliquer le troisième exemple de mise en oeuvre du premier mode de réalisation; la figure 18 est une vue explicative d'un exemple spécifique d'informations d'étiquette pour expliquer le quatrième exemple de mise en oeuvre du premier mode de réalisation; la figure 19 est un schéma fonctionnel de configuration d'un système en réseau selon un autre mode de réalisation de la présente invention; la figure 20 est une vue explicative pour expliquer la mise en euvre du système en réseau selon un autre mode de réalisation de la présente invention; la figure 21 est un schéma fonctionnel de configuration représentant un exemple du système NUMA classique; et la figure 22 est une vue explicative de la
technique antérieure, comme le montre la figure 21.
DESCRIPTION DU MODE DE REALISATION PREFERE
Le mode de réalisation préféré de la présente invention va être examiné de façon détaillée dans la
suite du document en se référant aux dessins annexés.
Dans la description qui va suivre, de nombreux détails
spécifiques sont présentés pour permettre la
compréhension approfondie de la présente invention.
Cependant, il va être évident aux hommes de l'art que la présente invention peut être mise en pratique sans ces détails spécifiques. Dans un autre cas, des structures bien connues ne sont pas représentées de façon détaillée afin de ne pas compliquer inutilement
la présente invention.
En se référant aux dessins annexés, on va décrire, dans la suite du document, des modes de réalisation préférés de la présente invention. Bien que l'explication qui va suivre soit donnée en ce qui concerne des cas dans lesquels deux dispositifs nodaux constituent un système NUMA, de façon à faciliter la compréhension de la présente invention, un système NUMA
peut être constitué de 3 dispositifs nodaux ou plus.
Comme le montre la figure 1, un système en réseau comporte deux dispositifs nodaux 10Oa et 100Ob, qui sont mutuellement reliés par un ICN (réseau de connexion interne) 300 de sorte qu'ils peuvent envoyer et
recevoir les informations requises entre eux.
Etant donné que les dispositifs nodaux 10Oa et 10Ob ont la même configuration, on va seulement expliquer ici la configuration du dispositif nodal a. Le dispositif nodal 0la comprend une unité de mémoire (MU) 30a, un processeur 10a incorporant une mémoire cache 20a, qui permet un accès à une vitesse supérieure à celle d'une unité de mémoire de ce type, et une unité de commande de système (SCU) 200a pour la commande d'accès. Le processeur 10a est configuré de sorte que la cohérence de la mémoire cache est assurée par des algorithmes d'écriture de reprise, d'écriture en surimpression ou par d'autres algorithmes connus. L'unité de commande de système (SCU) 200a comprend une PIU (unité d'interface de processeur) 40a pour les opérations de commande d'interface avec le processeur a, une MIU (unité d'interface de mémoire) 35a pour les opérations de commande d'interface avec la MU (unité de mémoire) 30a et une SIU (unité d'interface de système) 45a pour les opérations de commande d'interface avec l'autre dispositif nodal 10Ob. La PIU a a une fonction de détection du noeud de départ (le dispositif nodal dans lequel l'adresse pouvant être appliquée est située) sur la base de l'adresse de transaction délivrée par le processeur 10a. De plus, comme le montre la figure 4, l'unité de mémoire (MU) a du dispositif nodal 0la et l'unité de mémoire (MU) 30b du dispositif nodal 10Ob constituent une mémoire commune et les processeurs 10a et 0lb des dispositifs nodaux 10Oa et 10Ob sont configurés de sorte qu'ils
peuvent accéder à une mémoire commune de ce type.
L'ICN 300, en tant que mécanisme de communication, est muni d'une partie d'acheminement 320 pour l'acheminement de données et d'une mémoire d'étiquettes
310 pour stocker les informations d'étiquette.
Comme le montre la figure 2, les informations d'étiquette comportent un numéro de données de bloc (n de bloc) et les informations d'état et le n de
dispositif nodal en tant que couple.
Comme le montre la figure 3, les informations d'état "U" montrent que les données auxquelles on doit accéder ne sont pas trouvées dans l'une quelconque des mémoires caches 20a et 20b dans les dispositifs nodaux 0l0a et 100b. Dans ce cas, aucun nO de dispositif nodal n'est donné aux informations. Les informations d'état "S" montrent que les données dans la mémoire cache sont identiques aux données dans l'unité de mémoire, et les mémoires caches 20a et 20b dans plusieurs dispositifs nodaux (100a et 100b dans ce cas) stockent les mêmes
données que les données auxquelles on doit accéder.
Dans ce cas, le numéro du dispositif nodal ayant les données de mémoire cache pouvant être appliquées est associé au numéro de dispositif nodal. Les informations d'état "P" montrent que les données de mémoire cache sont dans un seul dispositif nodal (100a ou 100b dans ce cas). Dans ce cas, le numéro du dispositif nodal ayant ces données de mémoire cache est associé en tant
que numéro de dispositif nodal.
La figure 5 est un schéma de configuration de la partie principale selon la présente invention. La PIU a comprend un RDB (tampon de données de réponse) 420 pour stocker les données de réponse à envoyer au processeur 10a pour plusieurs entrées, un RDCB (tampon de commande de données de réponse) 410 ayant des unités de commande (W1 à Wn) pour le nombre d'entrées dans le RDB 420 et une partie de médiation de réponse 430 qui, à partir des entrées dans le RDCB 410 autorisées à envoyer une réponse au processeur 10a, sélectionne et sort une entrée par médiation de sorte qu'elle est
stockée dans le RDB 420.
Comme le montre la figure 6, une unité de commande dans la configuration du RDCB 410 (W1, par exemple) a
une mémoire de bits 411 et un générateur de bits V 412.
Une unité de ce type est prévue pour chaque entrée.
Comme le montre la figure 7, il y a six types de bits à stocker dans la mémoire de bits 411: "bit TV (bit V de transaction)" montrant que la PIU 40a a reçu la transaction du type lecture en provenance du processeur a et a délivré la transaction du type lecture reçue à la MIU et à la SIU; "bit LV (bit V de mémoire locale)" montrant que les données de réponse ont été renvoyées depuis la mémoire locale, qui est une unité de mémoire (MU) dans le noeud local; "bit HV (bit V de noeud de départ)" montrant que, -lorsque l'autre dispositif nodal a un noeud de départ, les données de réponse sont renvoyées depuis l'unité de mémoire (MU) du neud de départ; "bit CV (bit V de mémoire cache)" montrant que les données de réponse ont été renvoyées depuis la mémoire cache dans le neud distant; "bit JV (bit V de détermination)" montrant le résultat de surveillance renvoyée depuis la SIU; et "bit EV (bit V d'entrée)" montrant que, selon les bits LV, TV, HV, CV et JV, les données de réponse stockées dans la RDB 420 de l'entrée
correspondante peuvent être envoyées au processeur 10a.
L'opération pour extraire les informations d'étiquette à partir de la mémoire d'étiquettes 310 est appelée "l'opération de surveillance" et le résultat d'une extraction de ce type est appelé le "résultat de surveillance". Le générateur de bits V 412 produit le bit EV selon les bits LV, TV, HV, CV et JV. Cependant, la synchronisation lorsque la production du bit EV est rapportée à la PIU 40a n'est pas ajustée entre les entrées. Si plusieurs bits EV sont rendus actifs pour plusieurs entrées, les données de réponse, stockées dans l'entrée du RDB 420 sortent par l'intermédiaire d'une médiation par la partie de médiation de réponse 430, sont envoyées au processeur 10a et, au même moment, le générateur de bits V 412 remet le bit EV du
RDCB 410 à l'état initial pour invalider l'entrée.
D'un autre côté, tandis que le traitement de surveillance est exécuté, un accès spéculatif est mené, selon la transaction du type lecture reçue en provenance de la CPU 10a, pour la MU 30a en tant que mémoire locale et pour la MU 30b dans le noeud distant Ob. Dans l'exemple représenté à la figure 5, les données sont lues à partir de la MU 30a servant de mémoire locale selon l'acheminement "PIU 40a -* MIU 35a -- MU 30a" par l'intermédiaire d'un chemin de lecture spéculative 500, qui est un chemin exclusif pour l'extraction spéculative de la MU 30a en tant que
mémoire locale.
La SIU 45a est munie d'un SCB (tampon de commande de surveillance) 450 et d'une partie de détermination 460. Le SCB 450 conserve les données d'attente de résultat de surveillance et le résultat de surveillance d'extraction obtenu à partir du traitement de surveillance de la mémoire d'étiquettes 310 exécuté en correspondance à la transaction du type lecture délivrée par la PIU 40a, et la partie de détermination 460 extrait les résultats de surveillance à partir du SCB 450, produit les résultats de surveillance pour les transactions individuelles et les sort en tant
qu'informations de détermination vers le RDCB 410.
Comme le montrent les figures 8 et 9, le SCB 450 stocke deux types d'informations pour le nombre d'entrées. Ces deux types d'informations comprennent le "bit VW montrant que le traitement de surveillance à exécuter en correspondance à la transaction du type lecture délivrée par la PIU 40a est dans l'état d'attente et les "informations SNP" montrant le résultat de traitement de surveillance en provenance de la mémoire d'étiquettes 310. Lorsque le résultat de surveillance est obtenu lorsque le bit V est actif, la partie de détermination 460 délivre les informations de détermination correspondant à l'entrée dans le RDCB 410 pour la transaction pouvant être appliquée et met le bit JV à un. Le programme est conçu de sorte que le traitement de transaction dans la SIU 45a est achevé avec l'effacement du bit V et des informations SNP pour l'entrée dans le SCB 450 soumise à la détermination par
la partie de détermination 460.
- La partie de détermination 460 produit et sort les informations de détermination sur la base du résultat de surveillance de la mémoire d'étiquettes 310, mais les informations de détermination dépendent du protocole de cohérence de la mémoire cache. Par exemple, si le protocole bien connu MESI est utilisé, il va y avoir deux types d'informations de jugement à envoyer au RDCB 410: "Modification trouvée" (des données sont trouvées dans la mémoire cache) montrant que la mémoire cache 20b du neud distant 100b comporte certaines données pour la ligne de modification et "Modification non trouvée" (aucune donnée trouvée dans la mémoire cache) montrant que la mémoire cache du noeud distant ne conserve aucune donnée pour la ligne de modification. (Premier exemple de mise en oeuvre) Ensuite, on va décrire la mise en euvre de la présente invention dans la suite du document. Tout d'abord, en se référant à la figure 11 et aux autres figures, on va décrire le cas (1) de la figure 10. Dans ce cas, le dispositif nodal 100a sert en tant que noeud de départ et une transaction du type lecture pour la mémoire locale (MU 30a) est délivrée en provenance du processeur 10a. On notera ici que, comme le montre la figure 15, l'une quelconque des données appartenant aux données de bloc, le nO de bloc a étant stocké dans la mémoire d'étiquettes 310, est soumise à une extraction
par la transaction du type lecture.
Un graphique de synchronisation est représenté au niveau de la partie inférieure de la figure 11, représentant la procédure de traitement de la mise en oeuvre dans ce cas. Comme le montre la figure 11, lorsque le processeur 10a du dispositif nodal 100la délivre une transaction du type lecture, la PIU 40a la reçoit et, par la fonction d'acheminement pour détecter le noeud de départ de la transaction, trouve que l'unité demémoire à laquelle on doit accéder au moyen de la
transaction est la MU 30a, qui est la mémoire locale.
La PIU 40a a la SIU 45a menant le traitement de surveillance pour la mémoire d'étiquettes 310 et, au même moment, ordonne à la MIU 35a de mener une commande de lecture pour la MU 30a par l'intermédiaire du chemin de lecture spéculative 500 (Code A à la figure 11). La lecture spéculative est menée en extrayant des données depuis la MU 30a servant de mémoire locale selon l'acheminement "PIU 40a -' MIU 35a -- MU 30a -- MIU 35a
- PIU 40a".
D'un autre côté, la PIU 40a délivre une transaction à la SIU 45a afin de mener un traitement de surveillance pour la mémoire d'étiquettes 310. La SIU a délivre la transaction pour mener un traitement de surveillance pour la mémoire d'étiquettes 310 par l'intermédiaire de l'ICN 300. Ensuite, par la mise en oeuvre de la partie d'acheminement 320, la transaction est exécutée selon l'acheminement "SIU 45a -- ICN 300 -* mémoire d'étiquettes 310 -> ICN 300 - SIU 45a" de sorte que les informations de surveillance sont extraites de la mémoire d'étiquettes 310. Etant donné que les informations d'état sont à "U", la SIU 45a détermine que le résultat de surveillance de cette transaction est "Modification non trouvée" (ce qui signifie que les données pouvant être appliquées ne sont pas trouvées dans l'une ou l'autre des mémoires caches) et envoie les informations de détermination à cet effet à la PIU
40a.
La PIU 40a vérifie que la transaction du type lecture délivrée par le processeur 10a a été délivrée à la MIU 35a et à la SIU 45a (bit TV), que les données de la mémoire locale ont été renvoyées depuis la MU 30a par l'intermédiaire de la MIU 35a (bit LV), et que la SIU 45a a envoyé en tant que résultat de surveillance les informations "Modification non trouvée" montrant que la ligne à laquelle on doit accéder dans la transaction n'est pas enregistrée en tant que "Modification" dans la mémoire cache 20b du noeud distant 10Ob. Parce que ces trois conditions sont satisfaites, la PIU 40a envoie les données de réponse de la transaction au processeur 10a en tant que données
extraites depuis la mémoire locale (MU 30a).
Ensuite, en se référant aux figures 5 à 10, on va décrire de façon plus détaillée la mise en oeuvre pour la transaction du type lecture, comme on l'a précédemment décrit, dans la suite du document. Lorsque le CPU 10a délivre une transaction du type lecture, la PIU 40a utilise le chemin de lecture spéculative 500 pour délivrer la transaction du type lecture à la MU a servant de mémoire locale par l'intermédiaire de la MIU 35a. Au même moment, pour exécuter un traitement de surveillance pour la mémoire d'étiquettes 310, la PIU 40a délivre la transaction du type lecture à la SIU a. Etant donné que la PIU 40a a délivré la transaction à la MIU 35a et à la SIU 45a, le bit TV de l'unité de commande correspondante dans le RDCB 410 est rendu actif. Pour la transaction délivrée à la MU 30a, les données de réponse sont envoyées à la PIU 40a par
l'intermédiaire de la MIU 35a.
La PIU 40a enregistre les données de réponse envoyées dans l'entrée correspondante dans le RDB 420 et active le bit LV de l'unité de commande dans le RDCB
410 pour cette entrée enregistrée dans le RDB 420.
D'un autre côté, pour la transaction délivrée à la SIU 45a, le bit V de l'entrée correspondante dans le SCB 450 est conservé actif jusqu'à ce que le résultat de traitement de surveillance pour la mémoire d'étiquettes 310 soit renvoyé. Au même moment que l'extraction de la mémoire locale, la partie d'acheminement extrait les informations d'étiquette selon l'acheminement "ICN 300 -+ mémoire d'étiquettes 310 -+ ICN 300" pour exécuter un traitement de surveillance pour la mémoire d'étiquettes 310, et les informations d'étiquette extraites sont envoyées à la SIU 45a. Les informations d'étiquette envoyées sont enregistrées dans le champ SNB de l'entrée
correspondante dans le SCB 450.
Lorsque le bit V et les informations SNB sont préparés, la partie de détermination 460 sort le résultat de surveillance de la transaction en tant qu'informations de détermination et a ces informations de détermination enregistrées dans le bit JV de l'unité de commande correspondante dans le RDCB 410. Dans cet exemple, les informations d'étiquette sont "Modification non trouvée" et on détermine que les données lues extraites depuis la mémoire locale (MU a) devraient être prises en tant que données de réponse. Dans la PIU 40a, la totalité des bits TV, LV et JV est rendue active en tant qu'informations d'entrée pour le RDCB 410 correspondant à la transaction du type lecture. De plus, étant donné que le bit JV est dans un état "Modification non trouvée", le générateur de bits V 412 rend le bit EV actif (se référer au (1) de la figure 10). L'entrée ayant le bit EV actif est sortie par l'intermédiaire d'une médiation de la partie de médiation de réponse 430 et les données correspondant à cette dernière sont sorties en tant que données de réponse en provenance du RDB 420. En envoyant les données de réponse au processeur 10a, qui a délivré la transaction du type lecture, le traitement
pour la transaction du type lecture est achevé.
Dans la procédure classique, comme le montre la représentation inférieure de la figure 11, les informations d'étiquette sont d'abord extraites et, si elles ont les informations d'état "U", l'opération d'extraction à partir de la mémoire locale est exécutée. Avec la lecture spéculative selon les modes de réalisation de la présente invention, le temps de
latence peut être réduit.
(Deuxième exemple de mise en oeuvre) Ensuite, en se référant à la figure 12 et aux autres figures, on va décrire le cas (2) de la figure 10. Dans ce cas, le dispositif nodal 100a sert de neud de départ et une transaction du type lecture pour la mémoire locale (MU 30a) est délivrée en provenance du processeur 10a. On notera ici que, comme le montre la figure 16, l'une quelconque des données appartenant aux données de bloc ayant le nO de bloc a stocké dans la mémoire d'étiquettes 310 est soumise à une extraction par la transaction du type lecture et le dispositif nodal 100b est muni du numéro de dispositif
nodal "(2)".
La figure 12 montre un graphique de synchronisation représentant la procédure de traitement de la mise en oeuvre dans ce cas. Comme le montre la figure 12, lorsque le processeur 10a du dispositif nodal 100a délivre une transaction du type lecture, la PIU 40a la reçoit et, au moyen de la fonction d'acheminement pour détecter le neud de départ de la transaction, trouve que l'unité de mémoire à laquelle on doit accéder par la transaction est la MU 30a, qui est la mémoire locale. La PIU 40a a la SIU 45a menant le traitement de surveillance pour la mémoire d'étiquettes 310 et, au même moment, ordonne à la MIU a de mener une commande de lecture pour la MU 30a par l'intermédiaire du chemin de lecture spéculative 500 (code B à la figure 12). La lecture spéculative est menée en extrayant des données de la MU 30a servant de mémoire locale selon l'acheminement "PIU 40a -+ MIU 35a -* MU 30a -+ MIU 35a -- PIU 40a". D'un autre côté, la PIU 40a délivre une transaction à la SIU 45a afin de mener un traitement de
surveillance pour la mémoire d'étiquettes 310.
La SIU 45a délivre la transaction pour mener un traitement de surveillance pour la mémoire d'étiquettes 310 par l'intermédiaire de l'ICN 300. Ensuite, par la mise en oeuvre de la partie d'acheminement 320, la transaction est exécutée selon l'acheminement "SIU 45a -- ICN 300 -+ mémoire d'étiquettes 310 -+ ICN 300 -- SIU a" de sorte que les informations de surveillance sont extraites depuis la mémoire d'étiquettes 310. Etant donné que les informations d'état sont à "P", la SIU a détermine que le résultat de surveillance de cette transaction est "Modification trouvée" (ce qui signifie que les données pouvant être appliquées sont trouvées dans la mémoire cache du dispositif nodal 10Ob) et envoie les informations de commande pour extraire les données de mémoire cache vers la SIU 45b de l'autre
dispositif nodal 100Ob.
Selon l'acheminement "SIU 45b - PIU 40b -
processeur lOb -+ mémoire cache 20b -+ processeur lOb -
PIU 40b -- SIU 45b -- ICN 300", les données de mémoire cache sont envoyées à l'ICN 300 et la partie d'acheminement 320 les envoie à la SIU 45a du dispositif nodal 10Oa. Ensuite, la SIU 45a les envoie à
la PIU 40a.
La PIU 40a vérifie que la transaction du type lecture délivrée par le processeur lOa a été délivrée à la MIU 35a et à la SIU 45a (bit TV), que les données de la mémoire locale ont été renvoyées depuis la MU 30a par l'intermédiaire de la MIU 35a (bit LV), que les données de mémoire cache à stocker dans la mémoire cache 20b du noeud distant 100b ont été envoyées (bit CV) et que la SIU 45a a envoyé en tant que résultat de surveillance les informations "Modification trouvée" montrant que la ligne à laquelle on doit accéder dans la transaction est enregistrée en tant que "Modification" dans la mémoire cache 20b du noeud distant 100b. Parce que ces quatre conditions sont satisfaites, la PIU 40a envoie les données de réponse de la transaction au processeur 10a en tant que données extraites de la mémoire cache 20b du dispositif nodal b. Les données précédemment extraites de la MU 30a
sont supprimées.
Ainsi, selon les premier et deuxième exemples de mise en oeuvre, le dispositif nodal 100a extrait les informations d'étiquette depuis la mémoire d'étiquettes 310 et au même moment extrait de manière spéculative les données depuis l'unité de mémoire (MU) 30a dans le dispositif autonodal 100a. Lorsque les informations d'étiquette extraites montrent que les mêmes données que celles soumises à l'extraction spéculative (données de la même adresse ou de la même plage d'adresses, par exemple) ne sont pas dans l'une ou l'autre des mémoires caches 20a et 20b, les données d'extraction spéculative sont envoyées au processeur 10a dans le dispositif
auto-nodal 100a.
D'un autre côté, lorsque les informations d'étiquette extraites montrent que les mêmes données que celles soumises à l'extraction spéculative sont dans la mémoire cache 20a ou 20b, les données dans la mémoire cache 20a ou 20b sont obtenues et envoyées au processeur 10a dans le dispositif auto-nodal 100a et
les données extraites spéculatives sont supprimées.
La procédure dans ces exemples n'est pas semblable à la procédure classique (se référer à la représentation supérieure de la figure 11) ayant une série d'opérations dans lesquelles les informations d'étiquette sont d'abord extraites et, lorsque les informations d'étiquette extraites montrent que les mêmes données que les données soumises à l'extraction ne sont pas dans les mémoires caches 20a et 20b, les données sont ensuite extraites depuis l'unité de mémoire (MU) 30a dans le dispositif autonodal 100a. A la place, l'extraction spéculative de données est exécutée à partir de l'unité de mémoire (MU) 30a dans le dispositif auto-nodal 100a en même temps que l'extraction des informations d'étiquette et, lorsque les informations d'étiquette extraites montrent que les mêmes données que les données soumises à l'extraction spéculative ne sont pas trouvées dans l'une ou l'autre des mémoires caches 20a et 20b (au moyen des informations d'état "U", par exemple), les données déjà obtenues par l'extraction spéculative sont envoyées au
processeur 10a, ce qui réduit le temps de latence.
(Troisième exemple de mise en oeuvre) En se référant maintenant à la figure 13 et à d'autres figures, on va décrire le cas (3) de la figure 10. Dans ce cas, l'autre dispositif nodal 100b sert de noeud de départ et une transaction du type lecture pour l'unité de mémoire (MU) 30b est délivrée en provenance du processeur 10a. On notera ici que, comme le montre la figure 17, l'une quelconque des données appartenant aux données de bloc ayant le nO de bloc b stocké dans la mémoire d'étiquettes 310 est soumise à une extraction par la transaction du type lecture. La figure 13 montre un graphique de synchronisation représentant la procédure de traitement de la mise en oeuvre dans ce cas. Comme le montre la figure 13, lorsque le processeur 10a du dispositif nodal 100a délivre une transaction du type lecture, la PIU 40a la reçoit et, au moyen de la fonction d'acheminement pour détecter le neud de départ de la transaction, trouve que l'unité de mémoire à laquelle on doit accéder au moyen de la transaction est la MU b dans le noeud distant 10Ob. La PIU 40a a la SIU 45a menant le traitement de surveillance pour la mémoire d'étiquettes 310 et, au même moment, envoie les informations de commande à l'ICN 300 pour exécuter
l'extraction spéculative pour la MU 30b.
La partie d'acheminement 320 les envoie à la SIU b (code C à la figure 13) . La lecture spéculative est menée en extrayant les données à partir de la MU 30b du neud distant 100b selon l'acheminement SIU 45b -y MIU 35b -+ MU 30b -+ MIU 35b -- SIU 45b. Les données extraites sont envoyées à l'ICN 300 et, par la mise en oeuvre de la partie d'acheminement 320, sont envoyées, de plus, à la PIU 40a par l'intermédiaire de la SIU 45a
du dispositif nodal 10Oa.
D'un autre côté, la PIU 40a délivre une transaction à la SIU 45a afin de mener un traitement de surveillance pour la mémoire d'étiquettes 310. La SIU a délivre la transaction pour mener un traitement de surveillance pour la mémoire d'étiquettes 310 par l'intermédiaire de l'ICN 300. Ensuite, par la mise en oeuvre de la partie d'acheminement 320, la transaction
est exécutée selon l'acheminement "SIU 45a -+ ICN 300 --
mémoire d'étiquettes 310 -+ ICN 300 -+ SIU 45a" de sorte que les informations de surveillance sont extraites de la mémoire d'étiquettes 310. Etant donné que les informations d'état sont à "U", la SIU 45a détermine que le résultat de surveillance de cette transaction est "Modification non trouvée" (ce qui signifie que les données pouvant être appliquées ne sont pas trouvées dans l'une ou l'autre des mémoires caches) et envoie les informations de détermination à cet effet à la PIU a. La PIU 40a vérifie que la transaction du type lecture délivrée par le processeur 10a a été délivrée à la MIU 35a et à la SIU 45a (bit TV), que les données ont été renvoyées depuis la MU 30b de l'autre dispositif nodal (bit HV), et que la SIU 45a a envoyé en tant que résultat de surveillance les informations "Modification non trouvée" montrant que la ligne à laquelle on doit accéder dans la transaction n'est pas enregistrée en tant que "Modification" dans la mémoire cache 20b du noeud distant 100b. Parce que ces trois conditions sont satisfaites, la PIU 40a envoie les données de réponse de la transaction au processeur 10a en tant que données extraites depuis la MU 30b du neud
local 100b.
(Quatrième exemple de mise en euvre) En se référant maintenant à la figure 14 et à d'autres figures, on va décrire le cas (4) de la figure 10. Dans ce cas, l'autre dispositif nodal 100b sert de neud de départ et une transaction du type lecture pour l'unité de mémoire (MU) 30b est délivrée en provenance du processeur 10a. On notera ici que, comme le montre la figure 18, l'une quelconque des données appartenant aux données de bloc ayant le nO de bloc b stocké dans la mémoire d'étiquettes 310 est soumise à une extraction par la transaction du type lecture, et le dispositif nodal 100b est muni du numéro
de dispositif nodal "(2)".
La figure 14 montre un graphique de synchronisation représentant la procédure de traitement de la mise en oeuvre dans ce cas. Comme le montre la figure 14, lorsque le processeur 10a du dispositif nodal 10Oa délivre une transaction du type lecture, la PIU 40a la reçoit et, au moyen de la fonction d'acheminement pour détecter le noeud de départ de la transaction, trouve que l'unité de mémoire à laquelle on doit accéder au moyen de la transaction est la MU 30b dans le noeud distant 100b. La PIU 40a a la SIU 45a menant le traitement de surveillance pour la mémoire d'étiquettes 310 et, au même moment, envoie les informations de commande à l'ICN 300 pour exécuter l'extraction spéculative pour la MU 30b. La partie d'acheminement 320 les envoie à la SIU 45b (code D à la figure 14). La lecture spéculative est menée en extrayant les données à partir de la MU 30b du noeud distant 100b selon l'acheminement SIU 45b -- MIU 35b -+ MU 30b - MIU 35b -- SIU 45b. Les données extraites sont envoyées à l'ICN 300 et, par la mise en oeuvre de la partie d'acheminement 320, sont envoyées, de plus, à la PIU 40a par l'intermédiaire de la SIU 45a du dispositif
nodal lOO1a.
D'un autre côté, étant donné que les informations d'état sont à "P", la SIU 45a détermine que le résultat de surveillance de cette transaction est "Modification trouvée" (ce qui signifie que les données pouvant être appliquées sont trouvées dans la mémoire cache du dispositif nodal 100b) et envoie les informations de commande pour extraire les données de mémoire cache
vers la SIU 45b de l'autre dispositif nodal 100Ob.
Ensuite, selon l'acheminement "SIU 45b -+ PIU 40b -
processeur lOb -+ mémoire cache 20b -+ processeur lOb -
PIU 40b -* SIU 45b -+ ICN 300", les données de mémoire cache sont envoyées à l'ICN 300 et la partie d'acheminement 320 les envoie à SIU 45a du dispositif nodal 100a. Ensuite, la SIU 45a les envoie à la PIU a. La PIU 40a vérifie que la transaction du type lecture délivrée par le processeur 10a a été délivrée à la MIU 35a et à la SIU 45a (bit TV), que les données ont été renvoyées depuis la MU 30b de l'autre dispositif nodal (bit HV), que les données de mémoire cache à stocker dans la mémoire cache 20b du neud distant 100b ont été envoyées (bit CV) et que la SIU a a envoyé en tant que résultat de surveillance les informations "Modification trouvée" montrant que la ligne à laquelle on doit accéder dans la transaction est enregistrée en tant que "Modification" dans la mémoire cache 20b du neud distant 100Ob. Parce que ces quatre conditions sont satisfaites, la PIU 40a envoie les données de réponse de la transaction au processeur a en tant que données extraites depuis la mémoire cache 20b du dispositif nodal 100Ob. Les données précédemment extraites depuis la MU 30b sont supprimées. Ainsi, selon le troisième et le quatrième exemples de mise en euvre, le dispositif nodal 10Oa extrait les informations d'étiquette depuis la mémoire d'étiquettes 310 et au même moment extrait de manière spéculative les données depuis l'unité de mémoire MU 30b dans l'autre dispositif nodal lOOb. Lorsque les informations d'étiquette extraites montrent que les mêmes données que celles soumises à l'extraction spéculative (données de la même adresse ou de la même plage d'adresses, par exemple) ne sont pas dans l'une ou l'autre des mémoires caches 20a et 20b, les données d'extraction spéculative sont obtenues et envoyées au processeur 10a dans le dispositif auto-nodal lOOa. D'un autre côté, lorsque les informations d'étiquette extraites montrent que les mêmes données que celles soumises à l'extraction spéculative sont dans la mémoire cache 20a ou 20b, les données dans la mémoire cache 20a ou 20b sont obtenues
et envoyées au processeur 10a dans le dispositif auto-
nodal 10Oa et les données extraites spéculatives sont supprimées. La procédure dans ces exemples n'est pas semblable à la procédure classique ayant une série d'opérations dans lesquelles les informations d'étiquette sont d'abord extraites et, lorsque les informations d'étiquette extraites montrent que les mêmes données que les données soumises à l'extraction ne sont pas dans les mémoires caches 20a et 20b, les données sont ensuite extraites depuis la mémoire dans l'autre dispositif nodal 10Ob. A la place, l'extraction spéculative de données est exécutée à partir de la MU b dans l'autre dispositif nodal 10Ob en même temps que l'extraction des informations d'étiquette et, lorsque les informations d'étiquette extraites montrent que les mêmes données que les données soumises à l'extraction spéculative ne sont pas trouvées dans l'une ou l'autre des mémoires caches 20a et 20b (au moyen des informations d'état "U", par exemple), les données déjà obtenues par l'extraction spéculative sont envoyées au processeur 10a, ce qui réduit le temps de latence. Dans le mode de réalisation précédemment décrit, la mémoire d'étiquettes 310 est prévue dans l'ICN 300 en tant que mécanisme de communication, et cela prend un temps sensiblement égal pour extraire l'étiquette étiquette de l'un quelconque des dispositifs nodaux Oa ou 10Ob. Cela permet la réduction de la différence
de temps de latence entre les dispositifs nodaux.
La figure 19 est un schéma fonctionnel de configuration d'un système en réseau selon un autre mode de réalisation de la présente invention. Dans ce mode de réalisation, la mémoire d'étiquettes 310 n'est pas prévue dans l'ICN 300, mais elle est divisée et
installée dans les dispositifs nodaux 100a et 100b.
Excepté ce point, elle a la même configuration que dans le mode de réalisation représenté à la figure 1. Comme le montre la figure 19, les dispositifs nodaux 100a et b sont respectivement munis de mémoires d'étiquettes 311 et 312. Le total des informations d'étiquette provenant des mémoires d'étiquettes 311 et 312 est égal aux informations d'étiquette dans la mémoire
d'étiquettes 310 telle que précédemment décrite.
En prenant le cas (1) précédent en tant qu'exemple, on va brièvement décrire la mise en oeuvre dans la suite du document. Lorsque le processeur 10a délivre une transaction du type lecture, la PIU 40a a la SIU 45a exécutant le traitement de surveillance et, au même moment, a la MIU 35a exécutant l'extraction spéculative. L'extraction spéculative est exécutée selon l'acheminement MIU 35a -* MU 30a -i MIU 35a -* PIU a et la PIU obtient les données en provenance de la mémoire locale (MU) 30a et attend la surveillance. A ce moment, le bit LV et le bit TV de l'unité de commande
dans le RDCB 410 sont rendus actifs.
D'un autre côté, la SIU 45a a besoin d'exécuter une surveillance pour les deux mémoires d'étiquettes 311 et 312. Lors de l'obtention des informations d'état de la mémoire d'étiquettes 311, elle envoie les informations pour l'exécution du traitement de surveillance à l'ICN 300. Dans le traitement à ce point, le bit V du SCB 450 est rendu actif comme le montre la figure 20 (a). Ensuite, les informations pour l'exécution de la surveillance sont envoyées à la SIU b du dispositif nodal 0lb par la partie d'acheminement 320 et la SIU 45b envoie le résultat de surveillance de la mémoire d'étiquettes 312 à l'ICN 300. La partie d'acheminement 320 les envoie à la SIU
a du dispositif nodal 100a.
Ainsi, au moment o le bit V devient actif comme le montre la figure 20 (b), SNP1 en tant qu'informations représentant le résultat de surveillance de la mémoire d'étiquettes 311 et SNP2 en tant qu'informations représentant le résultat de surveillance de la mémoire d'étiquettes 312 sont enregistrées et la partie de détermination 460 envoie le résultat de détermination sur la base des informations au RDCB 410. Etant donné que le bit LV, le bit TV et le bit JV sont enregistrés dans la mémoire de bits 411, le générateur de bits V 412 rend le bit EV actif. Avec le bit EV actif, la partie de médiation de réponse 430 envoie l'entrée correspondante dans le RDB 420 au processeur 10a. En supposant le cas dans lequel les informations d'état sont à "U" lorsque les mêmes données que les données soumises à l'extraction spéculative ne sont pas trouvées dans l'une ou l'autre des mémoires caches 20a et 20b, les données précédemment obtenues par l'extraction spéculative sont envoyées au processeur 10a en tant que données de réponse. Comme on l'a précédemment décrit, même si la mémoire d'étiquettes 310 n'est pas commandée de manière globale mais est divisée et répartie dans le système en réseau, un résultat similaire est obtenu: le temps de
latence peut être réduit par l'extraction spéculative.
Il n'est pas nécessaire d'installer la mémoire d'étiquettes 310 dans le mécanisme de communication dans ce mode de réalisation, et la configuration du
mécanisme de communication devient plus simple.
Il va être préférable de sauvegarder un programme d'accès aux données pour l'exécution des opérations précédemment décrites dans un support informatique pouvant être lu de sorte que le processeur 10a (10b) peut le lire et l'exécuter pour l'exécution des opérations précédemment décrites. Le support d'enregistrement peut être une ROM ou un autre support d'enregistrement à semiconducteur, une FD (disquette), un HD (disque dur) ou un autre support magnétique d'enregistrement, ou un CD ROM, un DVD ROM ou un autre support optique d'enregistrement. Bien sûr, un programme d'accès de ce type peut être installé dans une certaine zone de la mémoire locale (MU 30a ou 30b) obtenue par le disque dur, par exemple, de sorte que le
processeur 10a (10b) peut l'exécuter.
Naturellement, on comprendra que les modes de réalisation précédents de la présente invention peuvent être modifiés de différentes façons en installant trois dispositifs nodaux ou plus, en prévoyant deux processeurs ou plus dans chaque dispositif nodal ou en ayant une mémoire cache à l'extérieur du processeur,
par exemple.
Comme on l'a décrit jusqu'à présent, la présente invention permet la réduction du temps de latence lors d'accès aux mémoires caches et aux mémoires locales à partir du dispositif nodal en exécutant l'extraction
spéculative.
De plus, avec une mémoire d'étiquettes, pour stocker les informations d'étiquette, incorporée dans le mécanisme de communication, la différence de temps
de latence entre les noeuds peut être réduite.
Bien que l'invention ait été représentée et décrite en ce qui concerne un exemple de mode de réalisation de cette dernière, les hommes de l'art comprendront que ce qui précède et différents autres changements, omissions et ajouts peuvent être apportés en son sein et à cette dernière, sans s'écarter de l'esprit et de l'étendue de la présente invention. Par conséquent, la présente invention ne devrait pas être comprise comme étant limitée au mode de réalisation spécifique précédemment décrit mais comme comprenant5 tous les modes de réalisation possibles qui peuvent être réalisés à l'intérieur d'une étendue englobée et des équivalents de ces derniers en ce qui concerne les
caractéristiques décrites dans les revendications annexées.

Claims (16)

REVENDICATIONS
1. Procédé d'accès à des données utilisé dans un système en réseau ayant plusieurs dispositifs nodaux (10Oa, 10Ob) reliés pour des communications, configuré de sorte que chaque dispositif nodal (10Oa; 10Ob) peut exécuter un certain traitement en accédant à des mémoires (30a, 30b) dans les plusieurs dispositifs nodaux (10Oa, 100b) ou mémoires caches (20a, 20b) à une vitesse d'accès supérieure, caractérisé en ce que chaque dispositif nodal (100a; 100b) exécute l'accès spéculatif auxdites mémoires (30a, b) dans le système tout en extrayant, depuis la mémoire d'étiquettes (310), les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans lesdites mémoires caches (20a, 20b) prévues dans le système, et décide s'il faut ou non supprimer les données récupérées dans lesdites mémoires (30a, 30b) au moyen dudit accès spéculatif selon lesdites informations
d'étiquette extraites.
2. Procédé d'accès à des données utilisé dans un système en réseau ayant plusieurs dispositifs nodaux (10Oa, 10Ob) reliés pour des communications mutuelles, configuré de sorte que chaque dispositif nodal (lO0a; lOOb) peut exécuter un certain traitement en extrayant des données à partir de mémoires (30a, 30b) dans lesdits plusieurs dispositifs nodaux (lOOa, lOOb) ou mémoires caches (20a, 20b) à une vitesse d'accès supérieure, caractérisé en ce que chaque dispositif nodal (lO0a; lOOb) exécute l'extraction spéculative des données à partir desdites mémoires (30a, 30b) dans les dispositifs nodaux (lOOa, lOOb) tout en extrayant, à partir de la mémoire d'étiquettes (310), les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans lesdites mémoires caches (20a, 20b) prévues dans le système, détermine si les mêmes données que les données soumises à ladite extraction spéculative sont dans l'une quelconque des mémoires caches (20a, 20b) sur la base desdites informations d'étiquette extraites, envoie lesdites données extraites spéculatives au processeur (10a) dans le dispositif auto-nodal (100a) lorsque les mêmes données que les données soumises à l'extraction spéculative ne sont pas trouvées dans l'une quelconque des mémoires caches (20a, 20b), et prend, lorsque les mêmes données que les données soumises à ladite extraction spéculative sont dans l'une des mémoires caches (20a, 20b), des données de ce type dans ladite mémoire cache (20a; 20b) et envoie lesdites données au processeur (10a) dans le dispositif
auto-nodal (10Oa).
3. Procédé d'accès à des données utilisé dans un système en réseau selon la revendication 2, dans lequel: lesdites données extraites spéculatives sont supprimées lorsque lesdites données trouvées dans la mémoire cache (20a; 20b) sont prises et envoyées au
processeur (10a) dans le dispositif auto-nodal (10Oa).
4. Procédé d'accès à des données utilisé dans un système en réseau selon la revendication 2, dans lequel: chaque dispositif nodal (10Oa; 10Ob) extrait de manière spéculative les données à partir de la mémoire (30a) dans le dispositif auto-nodal (10Oa) tout en extrayant lesdites informations d'étiquette à partir de
la mémoire d'étiquettes (310).
5. Procédé d'accès à des données utilisé dans un système en réseau selon la revendication 2, dans lequel: chaque dispositif nodal (100a; 100b) extrait de manière spéculative les données à partir de la mémoire (30b) dans l'autre dispositif nodal (100b) tout en extrayant les informations d'étiquette à partir de la
mémoire d'étiquettes (310).
6. Système en réseau ayant plusieurs dispositifs nodaux (100a, 100b) reliés pour des communications, configuré de sorte que chaque dispositif nodal (100a; 100b) peut exécuter un certain traitement en accédant à des mémoires (30a, 30b) dans les plusieurs dispositifs nodaux (100a, 100b) ou mémoires caches (20a, 20b) à une vitesse d'accès supérieure, caractérisé en ce que: chaque dispositif nodal (100a; 100b) comprend des moyens d'accès pour accéder de manière spéculative auxdites mémoires (30a, 30b) dans le système tout en extrayant, à partir de la mémoire d'étiquettes (310), les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans lesdites mémoires caches (20a, 20b) prévues dans le système, et des moyens de détermination (460) pour déterminer s'il faut ou non supprimer les données récupérées dans lesdites mémoires (30a, 30b) au moyen dudit accès spéculatif selon lesdites informations d'étiquette extraites.
7. Système en réseau ayant plusieurs dispositifs nodaux (100a, 100b) reliés par un mécanisme de communication (300) pour des communications mutuelles, configuré de sorte que chaque dispositif nodal (10Oa; 0lb) peut exécuter un certain traitement en extrayant des données à partir de mémoires (30a, 30b) dans lesdits plusieurs dispositifs nodaux (100a, 100b) ou mémoires caches (20a, 20b) à une vitesse d'accès supérieure, caractérisé en ce que: chaque dispositif nodal (100a; 100b) comprend des moyens d'extraction spéculative pour exécuter l'extraction spéculative des données à partir desdites mémoires (30a, 30b) dans les dispositifs nodaux (100a, b) tout en extrayant, à partir de la mémoire d'étiquette (310), les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans lesdites mémoires caches (20a, 20b) prévues dans le système, des moyens de détermination (460) pour déterminer si les mêmes données que les données soumises à ladite extraction spéculative sont dans l'une quelconque des mémoires caches (20a, 20b) sur la base desdites informations d'étiquette extraites, et des moyens de traitement de données extraites qui envoient lesdites données extraites spéculatives au processeur (10a) dans le dispositif auto-nodal (100a) lorsque les mêmes données que les données soumises à ladite extraction spéculative sont déterminées comme n'existant pas dans l'une quelconque des mémoires caches (20a, 20b) et, lorsque les mêmes données sont déterminées comme existant dans l'une des mémoires caches (20a, 20b), prennent des données de ce type dans ladite mémoire cache (20a; 20b) et envoient lesdites
données au processeur (10a) dans le dispositif auto-
nodal (100a).
8. Système en réseau selon la revendication 7, dans lequel: lesdits moyens de traitement de données suppriment lesdites données extraites spéculatives lorsque lesdites données trouvées dans la mémoire cache (20a; b) sont prises et envoyées au processeur (10a) dans le dispositif autonodal (100a).
9. Système en réseau selon la revendication 7, dans lequel: lesdits moyens d'extraction spéculative extraient de manière spéculative les données à partir de la
mémoire (30a) dans le dispositif auto-nodal (100a).
10. Système en réseau selon la revendication 7, dans lequel: lesdits moyens d'extraction spéculative extraient de manière spéculative les données à partir de la
mémoire (30b) dans l'autre dispositif nodal (100b).
11. Système en réseau selon la revendication 7, dans lequel: ladite mémoire d'étiquettes (310) est prévue dans
ledit mécanisme de communication (300).
12. Mémoire informatique pouvant être lue stockant un programme d'accès à des données pour commander l'accès à des données dans un système en réseau ayant plusieurs dispositifs nodaux (0la, 10Ob) reliés pour des communications mutuelles, configuré de sorte que chaque dispositif nodal (100a, 10Ob) peut exécuter un certain traitement en accédant à des mémoires (30a, b) dans lesdits plusieurs dispositifs nodaux (100a, b) ou mémoires caches (20a, 20b) à une vitesse d'accès supérieure, caractérisée en ce que ledit programme d'accès à des données exécute un traitement d'accès spéculatif pour les mémoires (30a, 30b) dans le système tout en extrayant, à partir de la mémoire d'étiquettes (310), les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans lesdites mémoires caches (20a, 20b) prévues dans le système et un traitement pour déterminer s'il faut ou non supprimer les données récupérées à partir desdites mémoires (30a, 30b) au moyen dudit accès spéculatif
selon lesdites informations d'étiquette extraites.
13. Mémoire informatique pouvant être lue stockant un programme d'accès à des données pour commander l'accès à des données dans un système en réseau ayant plusieurs dispositifs nodaux (10Oa, 100b) reliés pour des communications mutuelles, configuré de sorte que chaque dispositif nodal (100a; 100b) peut exécuter un certain traitement en extrayant des données à partir de mémoires dans lesdits plusieurs dispositifs nodaux (lOO1a, 100b) ou mémoires caches (20a, 20b) à une vitesse d'accès supérieure, caractérisée en ce que ledit programme d'accès à des données exécute un traitement d'extraction spéculative pour extraire les données à partir desdites mémoires (30a, b) dans les dispositifs nodaux (0la, 10Ob) tout en extrayant, à partir de la mémoire d'étiquettes (310), les informations d'étiquette en tant qu'informations concernant l'état de stockage de données dans lesdites mémoires caches (20a, 20b) prévues dans le système, un traitement de détermination pour déterminer si les mêmes données que les données soumises à ladite extraction spéculative sont trouvées dans l'une quelconque des mémoires caches (20a, 20b) sur la base desdites informations d'étiquette extraites, et un traitement lorsque les mêmes données que les données soumises à ladite extraction spéculative ne sont pas trouvées dans l'une quelconque des mémoires caches (20a, 20b) pour envoyer lesdites données extraites spéculatives au processeur (10a) dans le dispositif auto-nodal (10Oa) et, un traitement lorsque les mêmes données que les données soumises à ladite extraction spéculative sont trouvées dans l'une des mémoires caches (20a, 20b) pour prendre des données de ce type dans ladite mémoire cache (20a; 20b) et envoyer lesdites données au
processeur (10a) dans le dispositif auto-nodal (100a).
14. Mémoire informatique pouvant être lue stockant un programme d'accès à des données pour commander l'accès à des données dans un système en réseau selon la revendication 13, dans laquelle: ledit programme d'accès aux données supprime lesdites données extraites spéculatives lors de la récupération des données dans ladite mémoire cache (20a; 20b) et envoie les données de ce type au
processeur (10a) dans le dispositif auto-nodal (100a).
15. Mémoire informatique pouvant être lue stockant un programme d'accès à des données pour commander l'accès à des données dans un système en réseau selon la revendication 13, dans laquelle: ledit programme d'accès aux données extrait de manière spéculative les données à partir des mémoires (30a) dans le dispositif auto-nodal (lOO1a) tout en extrayant lesdites informations
d'étiquette depuis la mémoire d'étiquettes (310).
16. Mémoire informatique pouvant être lue stockant un programme d'accès à des données pour commander l'accès à des données dans un système en réseau selon la revendication 13, dans laquelle: ledit programme d'accès aux données extrait de manière spéculative les données à partir des mémoires (30b) dans l'autre dispositif nodal (lOO1b) tout en extrayant lesdites informations d'étiquette depuis la mémoire d'étiquettes (310).
FR0016056A 1999-12-09 2000-12-11 Procede d'acces a des donnees dans un systeme en reseau et systeme en reseau Expired - Fee Related FR2802318B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34980999A JP2001167077A (ja) 1999-12-09 1999-12-09 ネットワークシステムにおけるデータアクセス方法、ネットワークシステムおよび記録媒体

Publications (2)

Publication Number Publication Date
FR2802318A1 true FR2802318A1 (fr) 2001-06-15
FR2802318B1 FR2802318B1 (fr) 2006-09-22

Family

ID=18406272

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0016056A Expired - Fee Related FR2802318B1 (fr) 1999-12-09 2000-12-11 Procede d'acces a des donnees dans un systeme en reseau et systeme en reseau

Country Status (3)

Country Link
US (1) US7093078B2 (fr)
JP (1) JP2001167077A (fr)
FR (1) FR2802318B1 (fr)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301844B2 (en) * 2004-01-13 2012-10-30 Hewlett-Packard Development Company, L.P. Consistency evaluation of program execution across at least one memory barrier
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7224595B2 (en) * 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
JP4504134B2 (ja) 2004-08-16 2010-07-14 富士通株式会社 システム制御装置、投機フェッチ方法および情報処理装置
JP4695367B2 (ja) * 2004-08-31 2011-06-08 富士通株式会社 情報処理装置,制御装置及び情報処理装置の制御方法
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7331010B2 (en) * 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7512762B2 (en) * 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
JP4362454B2 (ja) * 2005-04-07 2009-11-11 富士通株式会社 キャッシュコヒーレンス管理装置およびキャッシュコヒーレンス管理方法
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) * 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
JP4848771B2 (ja) * 2006-01-04 2011-12-28 株式会社日立製作所 キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム
US7640386B2 (en) * 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7493439B2 (en) * 2006-08-01 2009-02-17 International Business Machines Corporation Systems and methods for providing performance monitoring in a memory system
US7669086B2 (en) * 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7587559B2 (en) * 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
JP4829038B2 (ja) * 2006-08-17 2011-11-30 富士通株式会社 マルチプロセッサシステム
US7870459B2 (en) * 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7606988B2 (en) * 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
JP5163220B2 (ja) 2008-03-26 2013-03-13 富士通株式会社 キャッシュ制御装置、情報処理装置
EP2579158A1 (fr) 2010-05-27 2013-04-10 Fujitsu Limited Système de mémoire et dispositif d'interface mémoire
WO2011161787A1 (fr) * 2010-06-23 2011-12-29 富士通株式会社 Appareil de communication, procédé de communication et programme de communication
US9727879B2 (en) * 2011-03-30 2017-08-08 Nokia Technologies Oy Method and apparatus for providing tag-based content installation
US20130086328A1 (en) * 2011-06-13 2013-04-04 Paneve, Llc General Purpose Digital Data Processor, Systems and Methods
CN105706068B (zh) * 2013-04-30 2019-08-23 慧与发展有限责任合伙企业 路由存储器流量和i/o流量的存储器网络

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829032A (en) * 1994-10-31 1998-10-27 Kabushiki Kaisha Toshiba Multiprocessor system
US5987579A (en) * 1995-03-31 1999-11-16 Sun Microsystems, Inc. Method and apparatus for quickly initiating memory accesses in a multiprocessor cache coherent computer system

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5996585A (ja) 1982-11-25 1984-06-04 Mitsubishi Electric Corp 記憶制御方式
JPS60200351A (ja) 1984-03-26 1985-10-09 Hitachi Ltd 記憶制御方式
JPH02205963A (ja) 1989-01-27 1990-08-15 Digital Equip Corp <Dec> 読取中断処理
JPH05100952A (ja) 1991-10-07 1993-04-23 Fuji Xerox Co Ltd データ処理装置
JPH05108578A (ja) 1991-10-19 1993-04-30 Fuji Xerox Co Ltd 情報処理システム
JPH06110844A (ja) 1992-08-11 1994-04-22 Toshiba Corp 分散共有メモリ型マルチプロセッサシステム
US5394555A (en) 1992-12-23 1995-02-28 Bull Hn Information Systems Inc. Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
US5984579A (en) * 1993-07-02 1999-11-16 Mcclimans; Richard J. Residual biotech soil
DE69519816T2 (de) * 1994-05-03 2001-09-20 Hewlett Packard Co Anordnung mit Duplikat des Cache-Etikettenspeichers
JP2786124B2 (ja) 1995-04-26 1998-08-13 甲府日本電気株式会社 共有メモリ型マルチプロセッサシステム
JPH09128325A (ja) 1995-11-06 1997-05-16 Mitsubishi Electric Corp 階層バス制御方式及びバスブリッジ
US5881303A (en) * 1996-07-01 1999-03-09 Sun Microsystems, Inc. Multiprocessing system configured to perform prefetch coherency activity with separate reissue queue for each processing subnode
US6253292B1 (en) * 1997-08-22 2001-06-26 Seong Tae Jhang Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme
US6055610A (en) 1997-08-25 2000-04-25 Hewlett-Packard Company Distributed memory multiprocessor computer system with directory based cache coherency with ambiguous mapping of cached data to main-memory locations
US6209065B1 (en) * 1997-10-24 2001-03-27 Compaq Computer Corporation Mechanism for optimizing generation of commit-signals in a distributed shared-memory system
US6014690A (en) * 1997-10-24 2000-01-11 Digital Equipment Corporation Employing multiple channels for deadlock avoidance in a cache coherency protocol
US6065077A (en) * 1997-12-07 2000-05-16 Hotrail, Inc. Apparatus and method for a cache coherent shared memory multiprocessing system
US6292705B1 (en) * 1998-09-29 2001-09-18 Conexant Systems, Inc. Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system
US6085293A (en) * 1998-08-17 2000-07-04 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that decreases latency by expediting rerun requests
US6546429B1 (en) * 1998-09-21 2003-04-08 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that holds and reissues requests at a target processing node in response to a retry
US6067603A (en) * 1998-10-01 2000-05-23 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect
JP2000132531A (ja) 1998-10-23 2000-05-12 Pfu Ltd マルチプロセッサ
US6338122B1 (en) * 1998-12-15 2002-01-08 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively forwards a read request to a remote processing node
US6192452B1 (en) * 1999-02-26 2001-02-20 International Business Machines Corporation Method and system for avoiding data loss due to cancelled transactions within a non-uniform memory access system
US6591348B1 (en) * 1999-09-09 2003-07-08 International Business Machines Corporation Method and system for resolution of transaction collisions to achieve global coherence in a distributed symmetric multiprocessor system
US6505318B1 (en) * 1999-10-01 2003-01-07 Intel Corporation Method and apparatus for partial error detection and correction of digital data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5829032A (en) * 1994-10-31 1998-10-27 Kabushiki Kaisha Toshiba Multiprocessor system
US5987579A (en) * 1995-03-31 1999-11-16 Sun Microsystems, Inc. Method and apparatus for quickly initiating memory accesses in a multiprocessor cache coherent computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DAHLGREN F ET AL: "COMBINED PERFORMANCE GAINS OF SIMPLE CACHE PROTOCOL EXTENSIONS", COMPUTER ARCHITECTURE NEWS, ASSOCIATION FOR COMPUTING MACHINERY, NEW YORK, US, vol. 22, no. 2, 1 April 1994 (1994-04-01), pages 187 - 197, XP000450350, ISSN: 0163-5964 *

Also Published As

Publication number Publication date
FR2802318B1 (fr) 2006-09-22
JP2001167077A (ja) 2001-06-22
US7093078B2 (en) 2006-08-15
US20010003839A1 (en) 2001-06-14

Similar Documents

Publication Publication Date Title
FR2802318A1 (fr) Procede d&#39;acces a des donnees dans un systeme en reseau et systeme en reseau
US10574746B2 (en) Asset sharing within an enterprise using a peer-to-peer network
FR2931970A1 (fr) Procede de generation de requetes de manipulation d&#39;une base de donnees d&#39;initialisation et d&#39;administration d&#39;une grappe de serveurs , support de donnees et grappe de serveurs correspondants
EP2366147B1 (fr) Gestionnaire physique de barriere de synchronisation entre processus multiples
US7634496B1 (en) Techniques for managing state changes of a data storage system utilizing the object oriented paradigm
FR2824160A1 (fr) Conteneur generique configurable de facon dynamique
FR2950714A1 (fr) Systeme et procede de gestion de l&#39;execution entrelacee de fils d&#39;instructions
EP0935781A1 (fr) Procede d&#39;allocation de memoire dans un systeme de traitement de l&#39;information multiprocesseur
EP3586221B1 (fr) Procédé, équipement et système de gestion du système de fichiers
CN109446225A (zh) 数据缓存方法、装置、计算机设备及存储介质
EP0604310B1 (fr) Procédé de gestion d&#39;une mémoire tampon, et système informatique l&#39;incorporant
EP1350208A1 (fr) Procede de traitement et d&#39;acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre
FR3050848B1 (fr) Architecture de serveurs et methode de redistribution des donnees pour la distribution d&#39;un graphe versionne.
FR2707776A1 (fr) Procédé de gestion de mémoires d&#39;un système informatique, système informatique mémoire et support d&#39;enregistrement mettant en Óoeuvre le procédé.
FR2970794A1 (fr) Systeme multi-cœurs et procede de coherence de donnees dans un tel systeme
EP3403218B1 (fr) Dispositif de selection et description de points d&#39;interets dans une sequence d&#39;images, par exemple pour l&#39;appariement de points d&#39;interets
FR2960732A1 (fr) Procede de routage pseudo-dynamique dans un cluster comprenant des liens de communication statiques et programme d&#39;ordinateur mettant en oeuvre ce procede
EP0866410B1 (fr) Système informatique à stockage de données distribué
EP1912408A1 (fr) Procédé de gestion d&#39;une base de données partitionnée dans un réseau de communication
WO2013088019A1 (fr) Procédé et programme d&#39;ordinateur de gestion de pannes multiples dans une infrastructure informatique comprenant des équipements à haute disponibilité
FR2611940A1 (fr) Systeme de commande d&#39;acces memoire
CN116627987A (zh) 基于噪声哈希的数据分配存储方法、存储介质及相关设备
EP2531921A1 (fr) Gestion du lieu de stockage de donnees dans un systeme de stockage distribue
EP2353076A1 (fr) Procede et systeme de stockage virtualise d&#39;un ensemble de donnees numeriques
FR2994293A1 (fr) Procede et programme d&#39;ordinateur pour allocation des codes d&#39;identification aux elements d&#39;un cluster

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20081020