• Aucun résultat trouvé

assurer l'existence d'au moins une copie de chaque ligne memoire dans l'architec- l'architec-ture

Le probleme de localisation d'une ligne peut ^etre resolu par l'utilisation d'une architecture hierarchique associee a un protocole de coherence a base d'espionnage. Cette approche est utilisee dans les deux architectures COMA actuellement existantes. L'architecture DDM du Swedish Institut of Computer Science Hagersten et al. 92] utilise une hierarchie de bus.

L'architecture KSR1 de Kendall Square Research Frank et al. 93] utilise une hierarchie d'anneaux. Les mecanismes de traitement des defauts sont cependant similaires. A chaque racine d'une sous-hierarchie, un repertoire conserve l'etat des lignes memoire situees dans cette sous-hierarchie. En cas de defaut en lecture, une requ^ete remonte la hierarchie jusqu'a ce qu'un repertoire indique qu'il possede une copie valide dans sa sous-hierarchie. La requ^ete descend alors vers le nud disposant de la copie et la reponse suit le chemin inverse jusqu'au nud demandeur. En cas de defaut en ecriture, une requ^ete remonte dans la hierarchie jusqu'a ce qu'un repertoire indique que la copie est exclusive a cette sous-hierarchie. Le repertoire envoie alors des invalidations a tous les sous-systemes possedant une copie de la ligne et retourne un acquittement au nud demandeur. La gure II.7 decrit l'exemple d'un traitement de defaut en lecture sur un bloc modie, dans l'architecture DDM.

Pour assurer qu'une copie d'une ligne existe toujours dans l'architecture, les architectures COMA utilisent des protocoles de coherence speciques ainsi que des mecanismes d'expor-tation de donnees (injection). Le protocole de coherence de l'architecture DDM utilise trois etats, Invalide, Exclusif et Partage. Lorsque le remplacement d'une lignePartage est neces-saire dans une MA, une requ^ete remonte dans la hierarchie. Si cette copie est la derniere copie de la ligne, le repertoire superieur est dans l'etat Exclusif et transforme la requ^ete en

6128 octets dans le cas de la KSR1.

22 Replication de donnees et ecacite

Figure II.7 Exemple de traitement d'un defaut en lecture dans l'architecture DDM

injection

dans la sous-hierarchie qu'il contr^ole. Le remplacement d'une ligne marquee Ex-clusifgenere automatiquement une injection puisque cette copie est la seule existante. Cette solution necessite donc un contr^ole pour chaque remplacement. Dans l'architecture KSR1, une strategie dierente est utilisee. Au lieu de realiser une verication pour chaque copie a remplacer, le protocole de coherence utilise la notion de proprietaire d'une ligne existant dans le protocole Berkeley. Le proprietaire d'une ligne (possedant la ligne dans l'etat Ex-clusif ou Modie Partage), est responsable de l'injection de la ligne si un remplacement est necessaire. Les lignesPartagepeuvent donc ^etre remplacees sans generer d'injection puisqu'il existe toujours une copie sur le nud proprietaire de la ligne.

II.5.3 Comparaison

Des etudes comparatives ont ete menees an de comparer les architectures CC-NUMA aux architectures COMA Gupta & Weber 92, Hagerstenet al.92]. Les resultats sont mitiges et il n'appara^t pas clairement qu'un type de machine soit meilleur que l'autre.

Les avantages des architectures COMA sont multiples. Gr^ace a la taille de leurs memoires attractives, elles limitent les defauts de capacite et reduisent ainsi le nombre d'acces distants.

Elles realisent de plus une migration et une replication automatique des donnees a un grain plus n que ne pourrait le realiser un systeme d'exploitation et permet notamment de limiter les eets nefastes du faux partage. Le programmeur n'a plus a se soucier du placement des donnees.

Du point de vue de l'implementation, les architectures COMA sont plus co^uteuses a mettre en uvre car la transformation des memoires en MA engendre un surco^ut memoire non negligeable pour coder l'identite et l'etat de lignes. Ce surco^ut varie selon les hypotheses choisies de 1,5 a 6,5% de la taille de la memoire attractive Joe & Hennessy 94, Hagersten

Resume 23 et al. 94]. De plus, ces architectures compliquent les protocoles de coherence utilises.

Du point de vue des performances, les resultats montrent que les architectures COMA sont ecaces pour reduire les defauts de capacite. Elles se comportent donc mieux que les architectures CC-NUMA quand les defauts de capacite sont majoritaires. Cependant, du fait de leur organisation hierarchique, elles sourent habituellement de temps de traitement des defauts de memoire eleves. Au contraire, les architectures CC-NUMA limitent les temps de service des defauts mais sourent quant a elles d'un nombre de defauts de capacite plus eleve, d^u a la taille limitee de leurs caches. Elles sont donc plus ecaces lorsque les applications connaissent essentiellement des defauts de coherence dont le nombre ne peut ^etre reduit et qui sont traites de facon peu ecace par les architecture COMA. Les performances de l'une ou l'autre classe de machines sont donc particulierement inuencees par le comportement de l'application executee Gupta & Weber 92], en particulier la taille de son ensemble de travail et le nombre de defauts de coherence Singhet al. 93].

Une solution intermediaire proposee dans Stenstr!omet al. 92] envisage l'implementation d'une architecture de type COMA non hierarchique. Le repertoire est organise de facon similaire a une architecture CC-NUMA, c'est-a-dire statiquement distribue. Cependant les memoires des nuds sont des memoires attractives. Ce type d'architecture combine donc les avantages des COMAs qui reduisent les defauts de capacite, avec ceux des architectures CC-NUMA qui reduisent les temps de traitement des defauts. Les mesures realisees montrent que les gains en performance d'une architecture COMA, utilisant cette organisation, par rapport a une architecture CC-NUMA, varient alors de 10 a 20% Stenstr!omet al. 92].

D'autres propositions tentent de minimiser le co^ut d'implementation d'une architecture de type COMA soit en utilisant des composants programmables permettant de gerer de facon logicielle la memoire attractive comme dans l'architecture FLASH J.Kuskinet al. 94], soit en utilisant l'unite de gestion memoire des processeurs pour emuler une memoire attractive a partir d'une memoire standard et d'un minimum de materiel specique Hagersten et al.

94, Saulsbury et al. 95].

II.6 Resume

Les points importants de ce chapitre sont :

(1) Dans une architecture extensible a memoire partagee, l'utilisation de mecanismes de replication de donnees est indispensable pour limiter les latences des acces memoire.

Les caches assurent cette replication de facon automatique. Ce sont des composants essentiels de ce type d'architecture.

(2) La replication de donnees dans plusieurs caches d'une architecture introduit des pro-blemes de coherence de donnees repliquees. Ces propro-blemes sont regles par l'utilisation de protocoles de coherence.

24 Replication de donnees et ecacite (3) Il existe deux implementations possibles d'un protocole de coherence suivant que les messages de coherence sont diuses a tous les nuds ou selectivement a ceux qui sont concernes. Dans le cadre d'architectures extensibles, les protocoles a base d'espion-nage sont limites aux architectures hierarchiques. Les protocoles a base de repertoires sont plus indiques pour les architectures non hierarchiques mais sont plus complexes a mettre en uvre.

(4) Les architectures COMA representent l'aboutissement de la politique d'utilisation de caches locaux. La memoire locale des nuds fait alors oce de cache de grande dimen-sion de l'espace memoirepartage. Ces architectures ont pour principal inter^et de reduire le nombre d'acces distants a realiser en augmentant les possibilites de replication et de migration automatique des donnees.

Chapitre III

Replication de donnees et