Article de reference

Virtualisation de la mémoire

En informatique , la virtualisation de la mémoire dissocie les ressources de mémoire vive volatile (RAM) des systèmes individuels du centre de données, puis regroupe ces ressour...

En informatique , la virtualisation de la mémoire dissocie les ressources de mémoire vive volatile (RAM) des systèmes individuels du centre de données, puis regroupe ces ressources dans un pool de mémoire virtualisé disponible pour n'importe quel ordinateur du cluster. Le pool de mémoire est accessible par le système d'exploitation ou les applications exécutées sur le système d'exploitation. Le pool de mémoire distribué peut ensuite être utilisé comme cache à grande vitesse, couche de messagerie ou ressource de mémoire partagée volumineuse pour une application CPU ou GPU.

Description

La virtualisation de la mémoire permet aux serveurs en réseau et donc distribués de partager un pool de mémoire pour surmonter les limitations de mémoire physique, un goulot d'étranglement courant dans les performances logicielles. Avec cette capacité intégrée au réseau, les applications peuvent tirer parti d'une très grande quantité de mémoire pour améliorer les performances globales, l'utilisation du système, augmenter l'efficacité d'utilisation de la mémoire et permettre de nouveaux cas d'utilisation. Le logiciel sur les nœuds du pool de mémoire (serveurs) permet aux nœuds de se connecter au pool de mémoire pour contribuer à la mémoire et stocker et récupérer des données. Le logiciel de gestion et les technologies de surengagement de mémoire gèrent la mémoire partagée, l'insertion de données, les politiques d'éviction et de provisionnement, l'affectation de données aux nœuds contributeurs et traitent les demandes des nœuds clients. Le pool de mémoire est accessible au niveau de l'application ou au niveau du système d'exploitation. Au niveau de l'application, le pool est accessible via une API ou en tant que système de fichiers en réseau pour créer un cache de mémoire partagée à grande vitesse. Au niveau du système d'exploitation, un cache de page peut utiliser le pool comme une ressource de mémoire très importante qui est beaucoup plus rapide que le stockage local ou en réseau.

Les implémentations de virtualisation de mémoire se distinguent des systèmes de mémoire partagée . Les systèmes de mémoire partagée ne permettent pas l'abstraction des ressources mémoire, ce qui nécessite une implémentation avec une seule instance de système d'exploitation (c'est-à-dire pas dans un environnement d'application en cluster).

La virtualisation de la mémoire est également différente du stockage basé sur la mémoire flash comme les disques SSD (Solid State Drives ) - les SSD et autres technologies similaires remplacent les disques durs (en réseau ou non), tandis que la virtualisation de la mémoire remplace ou complète la RAM traditionnelle.

Produits

  • Plateforme de virtualisation de mémoire des réseaux RNA - Un pool de mémoire à faible latence, implémenté sous forme de cache partagé et de solution de messagerie à faible latence.
  • ScaleMP - Une plate-forme permettant de combiner les ressources de plusieurs ordinateurs dans le but de créer une instance informatique unique.
  • Wombat Data Fabric – Une structure de messagerie basée sur la mémoire pour la diffusion de données de marché dans les services financiers.
  • Oracle Coherence est un produit de grille de données en mémoire basé sur Java d' Oracle
  • AppFabric Caching Service est une plate-forme de cache distribuée pour les caches en mémoire répartis sur plusieurs systèmes, développée par Microsoft .
  • IBM Websphere extremeScale est un cache distribué basé sur Java, très similaire à Oracle Coherence
  • GigaSpaces XAP est une plate-forme logicielle de calcul en mémoire basée sur Java comme Oracle Coherence et VMware Gemfire

Implémentations

Intégration au niveau de l'application

Dans ce cas, les applications exécutées sur des ordinateurs connectés se connectent au pool de mémoire directement via une API ou le système de fichiers.

Cluster implémentant la virtualisation de la mémoire au niveau de l'application. Les contributeurs 1...n contribuent à la mémoire du pool. Les applications lisent et écrivent des données dans le pool à l'aide d'API Java ou C, ou d'une API de système de fichiers.

Intégration au niveau du système d'exploitation

Dans ce cas, le système d'exploitation se connecte au pool de mémoire et met la mémoire poolée à la disposition des applications.

Cluster implémentant la virtualisation de la mémoire. Les contributeurs 1 à n contribuent à la mémoire du pool. Le système d'exploitation se connecte au pool de mémoire via le système de cache de pages . Les applications consomment la mémoire du pool via le système d'exploitation.

Arrière-plan

La technologie de virtualisation de la mémoire découle des architectures de gestion de la mémoire et des techniques de mémoire virtuelle . Dans ces deux domaines, l'innovation est passée de relations étroitement couplées entre ressources logiques et physiques à des relations plus souples et abstraites dans lesquelles les ressources physiques sont allouées en fonction des besoins.

Les systèmes de mémoire virtuelle font abstraction entre la RAM physique et les adresses virtuelles, en attribuant des adresses de mémoire virtuelle à la fois à la RAM physique et au stockage sur disque, ce qui augmente la mémoire adressable, mais au détriment de la vitesse. Les architectures NUMA et SMP optimisent l'allocation de mémoire au sein des systèmes multiprocesseurs. Alors que ces technologies gèrent dynamiquement la mémoire au sein des ordinateurs individuels, la virtualisation de la mémoire gère la mémoire agrégée de plusieurs ordinateurs en réseau comme un pool de mémoire unique.

Parallèlement aux innovations en matière de gestion de la mémoire , un certain nombre de techniques de virtualisation ont vu le jour pour tirer le meilleur parti des ressources matérielles disponibles. La virtualisation des applications a d'abord été démontrée dans les systèmes mainframe. La vague suivante a été la virtualisation du stockage , sous forme de serveurs connectés à des systèmes de stockage tels que NAS ou SAN en plus ou à la place des disques durs intégrés. La virtualisation de serveur, ou virtualisation complète , partitionne un serveur physique unique en plusieurs machines virtuelles , consolidant plusieurs instances de systèmes d'exploitation sur la même machine à des fins d'efficacité et de flexibilité. Dans la virtualisation du stockage et du serveur, les applications ne savent pas que les ressources qu'elles utilisent sont virtuelles plutôt que physiques, de sorte que l'efficacité et la flexibilité sont obtenues sans modification des applications. De la même manière, la virtualisation de la mémoire alloue la mémoire d'un cluster de serveurs en réseau entier entre les ordinateurs de ce cluster.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index