Académique Documents
Professionnel Documents
Culture Documents
Faculté d’Informatique
La mémoire partagée
Mémoire Partagée Distribuée :
distribuée (DSM)
Organisation de la mémoire : Chaque processeur a sa propre mémoire locale distincte. Les processeurs communiquent entre eux en échangeant des messages via un réseau.
Communication : La communication entre les processeurs se fait généralement par envoi de messages, et les données doivent être explicitement partagées entre les
différents nœuds.
Avantages : Évite les goulets d'étranglement de la mémoire centrale, permet une meilleure évolutivité, car chaque nœud peut être ajouté de manière indépendante.
Organisation de la mémoire : Les processeurs partagent un espace mémoire commun. Tous les processeurs ont un accès direct à la même mémoire centrale partagée.
Communication : La communication entre les processeurs est facilitée par le fait qu'ils partagent la même mémoire. Les changements dans la mémoire par un processeur sont
immédiatement visibles pour les autres.
Avantages : La simplicité de programmation est souvent un avantage majeur, car les processeurs peuvent partager des données plus facilement
Introduction
Processus
• Indépendants
• Coopérantsdes processus qui dépend l'exécution l'un de l'autre en général ils sont utilisé dans les processus reparti
• Passage de messages
• Mémoire partagée
Introduction
Passage de messages
• Etablissement d’un lien de
communication
• Primitives send() et receive()
Introduction
La mémoire partagée
• Partage d’un même espace de stockage
virtuel qui donne l’impression d’une
mémoire physique commune
mémoire partagée est une mémoire Virtual. chaque nœud contient une mémoire local une partie de cette mémoire
est dans la mémoire partagé donc quand un nœud accède à la mémoire partagé il a l'impression qu'il a accédé à une
mémoire simple mais on vrai il accède à une mémoire local d'un autre nœud
Introduction
Inconvénients
• Nécessite des mécanismes de verrouillage pour éviter l’accès simultané aux données
(verrous..etc)
• Les programmeurs doivent comprendre les modèles de consistance pour programmer
correctement la DSM
• L’existence d’un gestionnaire de mémoire empêche les programmeurs d’utiliser leurs
propres solutions d’échange de messages
Caractéristiques d’une DSM
Granularité
• Unité de partage ou taille de bloc transféré.
• Le choix de la granularité est influencée par :
• Cout en pagination
• Taille du répertoire
• Taille des blocs à mettre à jour (si un grand bloc est mis à jour alors
tout le bloc doit être transféré alors que seules certaines parties ont
été modifiées).
• Faux partage (exemple : 2 variables = dépendantes dans un même
bloc).
• Beaucoup de systèmes de DSM optent pour une granularité égale à la
taille de la page physique de la mémoire virtuelle conventionnelle.
Caractéristiques d’une DSM
Structure de l’espace mémoire partagé :
• Cette structure dépend de l’application que supporte la DSM.
• Trois Approches :
• Non structuré :ensemble de mots => simple a programmer
• Structuré par type de donnés :
=>la taille des objets et variables accédés changent
=>taille de bloc partagé variable => plus difficile à programmer
• structure BDD : ensemble d’enregistrement
plusieurs processeurs partagent l'accès à une
mémoire centrale commune maintiennent la
Cohérence Mémoire et synchronisation des accès : cohérence des données lorsqu'ils effectuent des
opérations de lecture et d'écriture dans des zones de
mémoire partagée pour s'assurer que tous les
processeurs voient une vue cohérente
Conception d’une
Localisation et accès aux données : DSM
• Localiser et retourner une donnée
• Nécessite d’un mécanisme de localisation de blocs de données (recherche distribuée).
Stratégie de Remplacement :
• Dans le cas où la mémoire locale est pleine
• stratégie de remplacement des données stockées en mémoire par de nouvelles
Mise à jour :
• Deux nœuds peuvent exécuter des actions concurrentes
• D’où le besoin d’un mécanisme de mise à jour qui prend en considération ces contraintes
Hétérogénéité :
• Une DSM doit prendre en compte le problème d’hétérogénéité dans le cas de machine
hétérogène (codage,…).
Les modèles de cohérence dans une DSM
le concept de cohérence dans le contexte des
systèmes distribués:
-le degré de similitude entre copies
-les limites de divergences entres copies
-un comportement identique dans le cas ideal
La cohérence -les copies évoluent de manière différentes dans
le cas reel
Cohérence séquentielle
La cohérence stricte ou atomique (strict toute lecture de donnée doit être
consistency) la dernière valeur écrite
S=w1(x)a w2(x)b r1(x)b r2(x)b w3(x)c => exécution non atomique non stricte
P1 W(x)1 W(x)3
R(x)1 W(x)2
P2
1 2