Dalam konteks ini (budget consumer gear), Optane cukup jelas hanya mengacu pada SSD kecil yang terhubung NVMe menggunakan memori 3D XPoint (bukan NAND flash), sehingga memberikan ketahanan menulis yang sangat tinggi. (Jadi tidak akan aus jika digunakan sebagai ruang swap).
Ini masih akan menyedot banyak beban kerja, karena masih membutuhkan kesalahan halaman dan banyak mikrodetik untuk mengakses, vs ~ 70 nanodetik untuk akses DRAM (cache miss) ; itu tidak secara langsung memetakan memori pada bus memori CPU. Juga, eksekusi out-of-order / prefetch HW / paralelisme memori lainnya dapat membuat ~ 10 cache hilang dalam penerbangan per inti fisik, tetapi kesalahan halaman adalah serialisasi . Tidak ada pekerjaan yang bermanfaat yang dapat terjadi (di utas ini) saat OS sedang memperbaiki kesalahan halaman, jadi tidak ada kesempatan bagi OoO exec untuk menyembunyikan latensi kesalahan halaman yang sulit itu. (Tetapi bahkan 70ns terlalu lama untuk sepenuhnya bersembunyi. Namun, memiliki beberapa kesalahan dalam penerbangan ke jalur yang berbeda akan sangat membantu mengurangi beberapa beban kerja.)
Menggunakan sejumlah kecil RAM yang melumpuhkan dan bergantung pada SSD yang cepat untuk ruang swap / pagefile bukan satu-satunya kasus penggunaan untuk jenis Optane ini. (Dan mungkin bahkan bukan case-use yang bagus). Seperti yang dijelaskan https://www.tweaktown.com/articles/8119/intel-optane-memory-matters/index.html , kasing utama adalah sebagai tembolok transparan untuk hard drive magnetik. Saya pikir Intel menyediakan driver Windows untuk mewujudkannya. Anda dapat membeli hard drive SATA yang memiliki penyimpanan magnetik rotasi dengan beberapa flash built-in sebagai buffer / cache untuk bagian disk yang sering diakses. Driver Optane HW + dapat melakukan ini untuk disk apa pun.
NVE Optane tampaknya memiliki kinerja pembacaan acak yang sangat baik pada kedalaman antrian rendah (tunggu satu pembacaan selesai sebelum memulai yang lain, yang sayangnya terjadi ketika sebuah program harus membaca satu blok sebelum dapat mengetahui apa yang harus dilakukan selanjutnya, dan peranti lunak pengambilan keputusan tidak dapat membantu). Jadi itu harus hebat dalam mempercepat waktu mulai program, dan bootup.
Tidak terlalu luar biasa untuk penulisan file besar bersebelahan besar; semoga perangkat lunak driver tahu untuk memotong cache Optane dan langsung ke disk magnetik yang mendasarinya. Intel utama halaman Optane link ke https://www.intel.ca/content/www/ca/en/products/memory-storage/optane-memory/optane-16gb-m-2-80mm.html yang menunjukkan mereka 16GB M .2 Optane memiliki 900MB / s sequential read, tetapi hanya 145MB / s sequential write. Versi 32GB lebih cepat, pada 1350 MB / s read, 290 MB / s write. Tapi sekali lagi, itu bukan yang terbaik di Optane. IOPS baca berurutan dan acak keduanya IOPS 240k, dengan latensi baca 7 µs.
Intel memiliki sesuatu yang disebut IMDT (Intel Memory Drive Technology)yang merupakan hypervisor yang menciptakan ilusi ruang alamat memori utama yang lebih besar untuk sistem operasi. Beberapa halaman akan dipetakan ke memori utama DRAM yang sebenarnya sementara yang lain dipetakan ke memori SSD. Ketika halaman yang dipetakan ke SSD diakses, kesalahan halaman terjadi karena IMDT, yang akan menyebabkan halaman dibawa dari SSD ke memori utama (berpotensi mengusir halaman dari memori ke SSD). IMDT akan mencoba untuk mengambil halaman dalam DRAM untuk mengurangi bandwidth dan latensi yang lebih rendah dari SSD. Ini juga akan mencoba untuk menjaga halaman terpanas di memori utama sehingga mereka dapat diakses dengan penalti minimal (satu-satunya penalti mungkin berasal dari lapisan paging tambahan karena virtualisasi.) OS sebagian besar tidak menyadari pemetaan ini dan bekerja secara normal. Sistem memori semacam ini disebut software-defined memory (SDM). Bagusmakalah berjudul "Evaluasi Kinerja Teknologi Drive Memori Intel untuk Aplikasi Ilmiah" memberikan evaluasi kinerja IMDT dan membandingkannya dengan sistem yang memiliki jumlah memori utama DRAM yang sama. Saya belum benar-benar membaca makalah, tetapi tampaknya IMDT dapat melakukan migrasi halaman antara NUMA node untuk membuatnya lebih dekat ke node di mana mereka paling dibutuhkan.
Yang mengatakan, IMDT hanya didukung pada prosesor Intel tingkat server. Ini dimaksudkan untuk membuat server hemat biaya dan hemat daya dengan dampak yang berpotensi kecil pada kinerja.
http://www.lmdb.tech/bench/optanessd/imdt.html memiliki beberapa tolok ukur dengan Optane DC P4800X SSD. (Versi pusat data kelas atas, bukan barang konsumen. Jauh lebih tinggi kemampuan menulis yang berkelanjutan.)
Saya belum melihat ini, jadi saya tidak yakin apakah itu relevan sama sekali tentang bagaimana Windows dapat mengambil keuntungan dari SSD Optane konsumen.
Nama merek Optane (agak membingungkan) juga digunakan untuk hal eksotis yang jauh lebih menarik:
3D XPoint DIMM Non-volatil , alias "Optane DC Persistent Memory". https://www.anandtech.com/show/12828/intel-launches-optane-dimms-up-to-512gb-apache-pass-is-here . Apache Pass adalah nama Optane DC PM generasi pertama. Lihat ini untuk informasi tentang generasi mendatang.
Intel memiliki halaman pemasaran sebagian besar untuknya di sini , dengan beberapa tautan ke detail teknologi. "DC" singkatan dari Data-Centric, rupanya.
Ini adalah penyimpanan non-volatil yang dihubungkan ke slot DIMM DDR4, dan muncul sebagai memori fisik aktual. Rupanya itu hanya didukung penuh oleh generasi Xeon berikutnya (bukan Skylake-X alias Skylake Scalable Processor seri saat ini).
Ada beberapa jenis NVDIMM, misalnya DRAM reguler yang didukung baterai (opsional dengan flash untuk membuang data ke untuk mematikan daya jangka panjang, sehingga mereka hanya membutuhkan super kapasitor bukan baterai kimia). https://en.wikipedia.org/wiki/NVDIMM memiliki beberapa detail.
https://www.electronicdesign.com/industrial-automation/why-are-nvdimms-suddenly-hot memiliki beberapa info lebih umum tentang NVDIMMs (dan standardisasi JEDEC untuk mereka, dan bagaimana aplikasi OS + dapat bekerja sama untuk membiarkan aplikasi berbicara langsung ke wilayah penyimpanan memori yang dipetakan NV, memastikan pemesanan komit dan sebagainya). Poin utama adalah bahwa mereka benar-benar mengaburkan batas antara RAM dan penyimpanan (dalam pengertian arsitektur komputer, bukan dalam arti pemasaran ketat dari iklan laptop menipu yang Anda lihat yang mengklaim 4 + 16GB.)
OS dapat membiarkan proses memetakan memori fisik yang tidak mudah menguap ini ke dalam ruang alamat virtual mereka sendiri sehingga mereka dapat mengakses penyimpanan secara langsung dengan beban ruang pengguna dan menyimpan ke alamat memori, tanpa panggilan sistem apa pun, membiarkan perangkat keras CPU terus keluar dari- eksekusi order sementara ada yang luar biasa membaca / menulis . (Ada pustaka perangkat lunak untuk membiarkan pengembang mengambil keuntungan dari ini, termasuk kemampuan untuk flush()
dan memastikan bahwa data sebenarnya ditulis untuk penyimpanan persisten.
Pemetaan ini bahkan dapat di-cache-tulis kembali , jadi penggunaan data akan mendapat manfaat sepenuhnya dari cache L3 / L2 / L1d hingga tiba saatnya untuk mengembalikannya (jika diubah). Untuk data read-kebanyakan, Optane jenis ini benar-benar dapat dibenarkan disebut 4 + 16GB RAM. (Tentu saja, kasus penggunaan pusat data saat ini untuk Optane NVDIMM akan menggunakan DIMM yang jauh lebih besar, seperti 512GB.)
(Ini tidak seperti mmap
file ed pada disk normal di mana Anda hanya memetakan cache halaman OS untuk file tersebut, dan OS menangani melakukan I / O di latar belakang untuk menyinkronkan halaman RAM yang kotor dengan perangkat penyimpanan.)
Memastikan beberapa data telah benar-benar mencapai penyimpanan NV sebelum yang lain (untuk memungkinkan pemulihan kerusakan seperti sistem file atau jurnal database) sangat penting. Dengan panggilan sistem, ini adalah tempat Anda akan menggunakan POSIX fsync
atau fdatasync
. Tetapi karena aplikasi memiliki penyimpanan yang benar-benar dipetakan di memori, di sinilah panggilan fungsi perpustakaan masuk.
Dalam x86 asm, kami mengakses penyimpanan dengan beban / toko normal, tetapi kami peduli kapan data sebenarnya ditulis kembali ke NVDIMM (di mana aman dari kehilangan daya), bukan ketika itu terlihat oleh core lain atau ke DMA cache-koheren (segera setelah ia melakukan dari buffer toko ke cache L1d), jadi aturan pemesanan memori normal x86 tidak sepenuhnya menangani semuanya. Kami memerlukan instruksi khusus untuk membersihkan jalur cache yang dipilih dari cache CPU. (Untuk digunakan oleh perpustakaan penyimpanan NV.)
The clflush
instruksi asm telah ada untuk sementara waktu, tapi penyimpanan NV adalah alasan utama mengapa Intel menambahkan clflushopt
di Skylake (meskipun memiliki penggunaan-kasus lain, juga), dan menambahkan clwb
di Ice Lake (write-back tanpa penggusuran).
Dan Luu menulis sebuah artikel yang menarik beberapa waktu lalu tentang manfaat mengeluarkan OS untuk akses ke penyimpanan, merinci rencana Intel pada saat itu untuk clflush
/ clwb
dan semantik pemesanan memori mereka. Itu ditulis ketika Intel masih berencana untuk meminta instruksi yang disebut pcommit
(persistent commit) sebagai bagian dari proses ini, tetapi Intel kemudian memutuskan untuk menghapus instruksi itu: Mengecewakan Instruksi PCOMMIT memiliki beberapa info menarik tentang mengapa, dan bagaimana segala sesuatu bekerja di bawah tenda .
(Ini mendapat jalan keluar dari topik ke detail penyimpanan rendah x86 NV. Saya harus mencari tempat lain untuk memposting sebagian besar bagian ini, tapi saya pikir itu)
Ada juga Optane DC SSD , sebagai kartu PCIe x4 atau 2,5 " . Versi 750GB mampu membaca sekuensial hingga 2500 MB / s, menulis sekuensial 2200 MB / s, dan membaca atau menulis acak 550000 IOPS. Latensi baca sedikit lebih buruk daripada M.2 NVMe, pada 10 μs.
Ini adalah apa yang Anda inginkan jika Anda menggunakan server database atau sesuatu (jika Anda tidak dapat menggunakan NVDIMM), tetapi itu tidak akan membuat laptop 4GB Anda jauh lebih cepat (untuk kasus penggunaan paling umum) daripada 16GB Optane yang mereka jual. Swap space thrashing sering kali menghasilkan banyak bacaan dependen karena halaman harus di-paging dan diakses sebelum kode yang kesalahan halaman bisa dilanjutkan ke apa pun yang akan dilakukan selanjutnya. Jika memori benar-benar ketat, OS tidak memiliki halaman cadangan untuk secara agresif mengambilnya, sehingga Anda akan mengharapkan kedalaman antrian rendah yang dioptimalkan untuk konsumen Optane. (Latensi rendah.)
Intel Optane SSD menawarkan trade-off hemat daya dan kinerja yang bagus. SSD pada dasarnya tidak mengkonsumsi daya saat tidak diakses. Sebaliknya, konsumsi daya statis (sebagian besar karena penyegaran) dalam chip DRAM adalah signifikan. Jadi jumlah DRAM dalam suatu sistem idealnya harus sesuai dengan set kerja dari beban kerja yang khas. Sistem yang Anda beli dirancang untuk beban kerja tipikal yang membutuhkan sekitar 4GB memori utama atau kurang. Dalam hal ini, jika sistem memiliki memori utama 8GB sebagai gantinya, itu tidak perlu mengkonsumsi lebih banyak daya, yang akan mengurangi masa pakai baterai. Namun, Optane SSD memungkinkan Anda untuk sesekali menjalankan beban kerja yang membutuhkan memori utama sedikit lebih banyak dengan degradasi kinerja minimal (dibandingkan dengan SSD atau HDD berbasis NAND).
Memori DRAM saat ini berharga sekitar USD 4,5 $ per 1GB sedangkan Intel Optane SSD berharga sekitar USD 2 $ per 1GB. Jadi 16GB Optane SSD lebih mahal daripada modul DRAM 4GB, tetapi lebih murah daripada modul DRAM 8GB. Jadi jika Anda mengeluarkan Optane SSD dan menambah 4GB lebih banyak memori, Anda akan mendapatkan sistem yang lebih murah, yang juga rata-rata lebih cepat untuk beban kerja tipikal dengan set kerja lebih dari 4GB. Tetapi penanganan kesalahan halaman yang keras, pengambilan halaman sebelumnya, dan pertukaran halaman akan lebih lambat dari HDD. Itulah mengapa sistem 8GB mungkin akan lebih lambat daripada sistem 4GB DRAM + 16GB Optane SSD jika beban kerja tipikal membutuhkan kurang dari (atau sekitar) memori 4GB.
Laptop Anda bagus jika Anda hanya akan menggunakannya untuk menjelajah internet atau mengedit teks. Optane SSD membantu dengan waktu boot, menyediakan akses cepat ke file yang paling sering diakses, dan dapat digunakan sebagai penyimpanan sekunder tambahan. Jadi, meskipun Anda membayar lebih banyak SSD Optane 16GB daripada DRAM 4GB, Anda mendapatkan manfaat tertentu yang unik untuk itu. Tetapi beberapa aplikasi lain yang Anda sebutkan, seperti RStudio, membutuhkan memori minimal 4GB. Jika Anda biasanya menggunakan browser dan RStudio pada saat yang sama (dan mungkin aplikasi lain), maka Anda harus mendapatkan sistem dengan memori minimal 8GB. SSD Optane masih bagus untuk dimiliki.