Bagikan melalui


Pemrograman Memori Persisten di Windows - Integrasi NVML

Teknologi memori persisten (PM) menyediakan akses tingkat byte ke media non-volatil sekaligus mengurangi latensi penyimpanan atau pengambilan data secara signifikan. Ini menciptakan tingkat baru antara memori sistem dan penyimpanan tradisional. Program apa pun yang bergantung pada atau menskalakan dengan tulis cepat ke media persisten dapat memperoleh manfaat dari PM.

Tujuan dari artikel ini adalah untuk menguraikan bagaimana pustaka memori non-volatil (NVML) dapat diintegrasikan ke dalam proyek Visual Studio untuk penggunaan yang mudah.

Nota

Memori Persisten terkadang juga disebut sebagai Storage Class Memory (SCM).

 

PM dan NVML

Dukungan pertama untuk memori persisten diperkenalkan di Windows Server 2016 dan Windows 10 Anniversary Update (1607). Untuk gambaran umum singkat, lihat dua video Channel9 ini:

Untuk membantu pengembang memanfaatkan manfaat penawaran memori persisten, Microsoft juga telah berkontribusi pada upaya membawa pustaka memori non-volatil (NVML) ke Windows. Pustaka ini menyediakan berbagai alat untuk membuat aplikasi sadar memori persisten. Misalnya, ini berisi kode yang memungkinkan Anda dengan mudah membuat penyimpanan kunci-nilai sadar PM untuk pencarian dan penyimpanan yang sangat cepat. Anda dapat menemukan informasi selengkapnya tentang NVML, termasuk sampel, di pustaka NVM.

Mengintegrasikan NVML ke dalam Proyek Visual Studio

  1. Mengunduh file dan header pustaka NVML
  1. Tempatkan file pustaka dan header dalam direktori pilihan Anda, misalnya: "C:\NVML\lib" dan "C:\NVML\inc" masing-masing.

  2. Konfigurasikan proyek Anda sebagai berikut:

  • Buka proyek visual studio Anda dan di "Penjelajah Solusi" klik kanan pada nama proyek Anda.
  • Buka panel pengaturan proyek di bagian bawah pop-up yang dihasilkan.
  • Navigasikan ke "Properti Konfigurasi -> C/C++" dan tambahkan folder tempat Anda menyimpan header (C:\NVML\inc) ke bidang "Sertakan Direktori Tambahan".
  • Selanjutnya, navigasikan ke "Properti Konfigurasi -> Linker" dan tambahkan folder tempat Anda menyimpan pustaka (C:\NVML\lib) ke bidang "Direktori Pustaka Tambahan"
  1. Selanjutnya, pastikan Anda menargetkan proyek untuk Windows Server 2016 atau Windows 10 Anniversary Update:
  • Navigasi ke "Properti Konfigurasi -> Umum" dan atur bidang "Versi Platform Target" ke "10.0.14393.0" dan
  • Navigasi ke "Properti Konfigurasi -> C/C++" dan tambahkan "NTDDI_VERSION=NTDDI_WIN10_RS1;" ke bidang "Preprocessor".
  1. Sertakan header dalam kode Anda dan tautkan ke pustaka yang diperlukan
  • Pada titik ini, Anda cukup menyertakan file header yang ingin Anda gunakan dalam kode Anda seperti file header lainnya. Misalnya, untuk menggunakan libpmem:
    • tambahkan "#include <libpmem.h>" dan
    • tambahkan "libpmem.lib" ke "Properti Konfigurasi -> Linker - Input> -> Dependensi Tambahan"

Pada titik ini Anda siap untuk memanggil fungsi pustaka langsung dalam kode Anda dan memanfaatkannya.