programmation de la mémoire persistante dans l’intégration de Windows NVML

La technologie mémoire persistante (PM) fournit un accès au niveau octet aux médias non volatiles tout en réduisant considérablement la latence du stockage ou de la récupération des données. Il crée un nouveau niveau entre la mémoire du système et le stockage traditionnel. Tout programme dépendant ou mis à l’échelle avec des écritures rapides sur un support permanent peut tirer parti de PM.

l’objectif de cet article est de décrire comment la bibliothèque mémoire non volatile (NVML) peut être intégrée dans un projet Visual Studio pour une utilisation facile.

Notes

la mémoire persistante est parfois également appelée mémoire de classe Stockage (SCM).

PM et NVML

la première prise en charge de la mémoire persistante a été introduite dans Windows Server 2016 et la Windows 10 mise à jour anniversaire (1607). Pour une vue d’ensemble rapide, consultez ces deux vidéos channel9 :

Pour aider les développeurs à tirer parti des avantages de l’offre de mémoire persistante, Microsoft a également contribué à la Windows de la bibliothèque de mémoire non volatile (NVML). Cette bibliothèque fournit différents outils pour rendre les applications compatibles avec la mémoire persistante. Par exemple, il contient du code qui vous permet de créer facilement un magasin clé-valeur prenant en charge les bases de code pour des recherches et des magasins extrêmement rapides. Vous trouverez plus d’informations sur NVML, y compris des exemples, à la bibliothèque NVM.

intégration de NVML dans une Project Visual Studio

  1. Télécharger les fichiers et en-têtes de la bibliothèque NVML
  • NVML est conservé sur GitHub. vous pouvez compiler la source vous-même ou simplement télécharger des binaires compilés directement à partir de cet emplacement : NVML Version 1,2-Windows Technical Preview.
  1. Placez les fichiers et en-têtes de la bibliothèque dans le répertoire de votre choix, par exemple : « C : \ NVML \ lib » et « c : \ NVML \ Inc », respectivement.

  2. Configurez votre projet comme suit :

  • Ouvrez votre projet Visual Studio et dans le « Explorateur de solutions », cliquez avec le bouton droit sur le nom de votre projet.
  • Ouvrez le volet des paramètres du projet en bas de la fenêtre contextuelle résultante.
  • Accédez à « propriétés de configuration-> C/C++ » et ajoutez le dossier dans lequel vous avez stocké l’en-tête (C : \ NVML \ Inc) dans le champ « autres répertoires Include ».
  • Ensuite, accédez à « propriétés de configuration-éditeur de liens > » et ajoutez le dossier dans lequel vous avez stocké la bibliothèque (C : \ NVML \ lib) dans le champ « répertoires de bibliothèques supplémentaires ».
  1. ensuite, assurez-vous que vous ciblez le projet pour Windows Server 2016 ou Windows 10 mise à jour anniversaire :
  • Accédez à « propriétés de configuration-> général » et définissez le champ « version de la plateforme cible » sur « 10.0.14393.0 » et
  • Accédez à « propriétés de configuration-> C/C++ » et ajoutez « NTDDI _ version = NTDDI _ WIN10 _ RS1 ; » au champ « préprocesseur ».
  1. Inclure les en-têtes dans votre code et créer un lien vers les bibliothèques requises
  • À ce stade, vous pouvez simplement inclure les fichiers d’en-tête que vous souhaitez utiliser dans votre code comme n’importe quel autre fichier d’en-tête. Par exemple, pour utiliser libpmem :
    • Ajoutez « # include <libpmem. h> » et
    • Ajoutez « libpmem. lib » à « propriétés de configuration-éditeur de liens-> > d’entrée-> dépendances supplémentaires »

À ce stade, vous êtes prêt à appeler les fonctions de la bibliothèque directement dans votre code et à en tirer parti.