Différence entre “RAM réseau” et “Mémoire partagée distribuée” (DSM)

1

Quelle est la différence entre "RAM réseau" et "Mémoire partagée distribuée" (DSM)? Fondamentalement, je sais que les deux fournissent un stockage partagé sur RAM entre tous les systèmes d'un cluster. Alors, quelle est la difference?

Ali
la source
Ha. Je pensais que cela pouvait être facilement compatible avec Google, mais lorsque je l'ai cherché sur Google, le premier résultat était celui-ci, et aucun autre résultat n'a semblé y répondre rapidement.
BenjiWiebe
Ouais, je me demande si on pourrait le trouver en une seule recherche, mais il me semble que je devrais lire des articles longs et détaillés! Je cherche juste une réponse simple!
Ali
Avez-vous des raisons de croire qu'il y a une différence? Dans la recherche Google, il y a très peu de résultats pertinents pour "RAM réseau", ce qui me fait penser que c'est peut-être un terme rare qui signifie "mémoire partagée distribuée".
BenjiWiebe
Je suis sûr qu'il y en a un! C’est ce que notre conférencier nous a demandé dans le cours "Cluster Computing"! "Pourquoi n'utilisons-nous pas une RAM réseau à la place de DSM (comme openSHMEM)?", A-t-il demandé! Je souhaite connaître la différence avant de pouvoir répondre à ce choix de conception.
Ali
Cette page définit la RAM réseau comme étant l’espace d’échange de DRAM distant. En d'autres termes, si un nœud sous-utilise la capacité de mémoire, utiliser sa mémoire DRAM comme espace de permutation pour un nœud surutilisant sa capacité de mémoire peut réduire le temps de latence. Le flash (semi-) local aurait des compromis différents. En tant qu'espace d'échange, la RAM du réseau n'est pas directement adressable et les blocs de la taille d'une page pourraient être plus conviviaux pour les réseaux Ethernet non compatibles RDMA. (Je pourrais revenir et développer cela dans une réponse, mais ne comptez pas dessus.)
Paul A. Clayton

Réponses:

0

La RAM réseau est en réalité un disque RAM distant pour permuter les pages. En tant que tel, le nœud de base pour l'adresse de la page de mémoire est différent du nœud fournissant le stockage RAM (lorsque la page a été permutée). Le but principal de la RAM réseau est d’équilibrer l’utilisation de la capacité de la mémoire, en particulier lorsque certains nœuds sont inactifs. Le nœud fournissant la RAM ne serait pas en mesure d'adresser cette mémoire au niveau de l'application (du moins pas en tant que mémoire associée à ce nœud fournissant le stockage).

En utilisant l'interface d'échange, la mise en œuvre de la RAM réseau serait beaucoup plus simple que la mise en œuvre d'un mécanisme de migration plus général. La RAM réseau utilise également une seule taille de message modérée, de sorte que les transferts seraient plus conviviaux pour les réseaux non compatibles RDMA que, par exemple, les transferts de la taille d'une ligne de cache.

Dans la mémoire partagée distribuée, la mémoire de l'espace d'adressage associé à un nœud est entièrement contenue dans ce nœud, mais tout nœud faisant partie du même espace d'adressage global partitionné peut adresser cette mémoire. La mémoire partagée distribuée fournit une base pour le calcul distribué en permettant aux autres nœuds d'adresser la mémoire distante.

Pour compliquer les choses, un système DSM peut effectuer des optimisations afin de réduire le trafic réseau et la latence, telles que la réplication et la migration de la mémoire.

La RAM réseau constitue effectivement une migration de mémoire basée sur une localité temporelle basse vers un nœud avec une capacité excédentaire et peut être implémentée pour un système DSM, un système de transmission de messages ou même un cluster de nœuds exécutant des charges de travail totalement indépendantes. La RAM réseau ne fournit en soi aucun moyen aux autres nœuds de s’adresser à la mémoire active distante, elle ne peut donc pas être utilisée comme base pour la répartition des calculs.

Paul A. Clayton
la source