Gelen bu bağlamda (bütçe tüketici dişli), Optane oldukça açıkça sadece o çok yüksek yazma dayanıklılık veren (yerine NAND flaş) 3D xPoint bellek kullanan küçük / hızlı NVMe bağlantılı SSD atıfta olduğunu. (Yani takas alanı olarak kullanılırsa aşınmaz).
Bu hala birçok iş yükü için yeterlidir, çünkü hala bir sayfa hatası ve erişmesi gereken birçok mikrosaniye, yani bir DRAM erişimi için ~ 70 nanosaniye (önbellek özü) ; İşlemciler bellek veriyolunda doğrudan bellek haritalandırması yapılmamıştır. Ayrıca, sıra dışı çalıştırma / HW önyükleme / diğer bellek-paralellik, fiziksel çekirdek başına ~ 10 önbellek eksikliğini koruyabilir, ancak bir sayfa hatası serileştiriliyor . İşletim sistemi bir sayfa arızası sunarken hiçbir yararlı iş yapılamaz (bu iş parçacığında), bu nedenle OoO yürütücüsünün o zor sayfa arızası gecikmesinin hiçbirini gizleme imkanı yoktur. (Ancak 70ns bile yine de tamamen gizlenemeyecek kadar uzundur. Yine de, farklı hatlara uçuşta birden fazla kaçış yapılması bazı iş yüklerinde hafifletilmesi yönünde uzun bir yol kat etmektedir.)
Sakat bir şekilde küçük miktarda RAM kullanmak ve takas alanı / sayfa dosyası için hızlı bir SSD'ye bağlı olmak, bu tür bir Optane için tek kullanım durum değildir. (Ve muhtemelen iyi bir kullanım durumu bile değil). Gibi https://www.tweaktown.com/articles/8119/intel-optane-memory-matters/index.html açıklar, ana kullanım-vaka manyetik sabit disk için şeffaf cache gibidir bu. Sanırım Intel bunun gerçekleşmesi için Windows sürücüleri sağlıyor. Diskin sık erişilen bölümleri için dahili bir tampon / önbellek olarak bazı flaşlarla birlikte, dönme manyetik depolamaya sahip SATA sabit sürücüleri satın alabilirsiniz. Optane HW + sürücüleri bunu herhangi bir disk için yapabilir.
Optane NVMe görünüşe göre düşük sıra derinliğinde çok iyi rastgele okuma performansı var (bir başkasının başlamasından önce bir okunuşun bitmesini bekleyin, ne yazık ki bir programın bir sonraki işlemi ne yapabileceğini anlayabilmeden önce bir bloğu okumak zorunda kalması ve yazılım ön ayarının yapılmaması) yardım etmiyorum). Bu yüzden programın başlama zamanını ve açılışını hızlandırmak harika olmalı.
Büyük dosyaların bitişik büyük yazıları için özellikle şaşırtıcı değil; umarım sürücü yazılımı Optane önbelleğini atlamayı bilir ve bunun için temelde bulunan manyetik diske gider. Intel'in ana Optane sayfası , 16GB M'sini gösteren https://www.intel.ca/content/www/ca/en/products/memory-storage/optane-memory/optane-16gb-m-2-80mm.html’e bağlantı veriyor .2 Optane, 900 MB / sn sıralı okumaya sahiptir, ancak sadece 145 MB / sn sıralı yazmaya sahiptir. 32GB sürümü daha hızlı, 1350 MB / s'de, 290 MB / s'de yazıyor. Fakat yine de, bunlar Optane'nin en iyi olduğu şey değil. Sıralı ve rastgele okunan IOPS'lerin her ikisi de 240k IOPS'dur, 7 µs gecikme süresi.
Intel, IMDT (Intel Bellek Sürücüsü Teknolojisi) adlı bir şeye sahiptirişletim sistemi için daha büyük bir ana hafıza adres alanı yanılsaması yaratan bir hipervizördür. Bazıları asıl DRAM ana belleğine eşlenirken, diğerleri SSD belleğine eşlenir. SSD ile eşlenen bir sayfaya erişildiğinde, sayfanın SSD'den ana belleğe getirilmesine neden olacak IMDT tarafından yakalanan bir sayfa hatası meydana gelir (potansiyel olarak bir sayfayı bellekten SSD'ye çıkarır). IMDT, SSD'nin alt bant genişliğini ve gecikmesini azaltmak için sayfaları DRAM'e yerleştirmeye çalışacaktır. Ayrıca en sıcak sayfaları en az ceza ile erişilebilmeleri için ana bellekte tutmaya çalışacaktır (tek ceza, sanallaştırma nedeniyle ek disk belleği katmanlarından gelebilir.) İşletim sistemi çoğunlukla bu haritalamaya uymaz ve normal çalışır. Bu tür bir hafıza sistemine yazılım tanımlı hafıza (SDM) denir. Güzel"Bilimsel Uygulamalar için Intel Bellek Sürücüsü Teknolojisi Performansının Değerlendirilmesi" başlıklı makale , IMDT'nin performans değerlendirmesini sağlar ve aynı DRAM ana belleğe sahip bir sistemle karşılaştırır. Makaleyi tam olarak okumamıştım, ancak IMDT, sayfaları çoğunlukla ihtiyaç duydukları düğüme yaklaştırmak için NUMA düğümleri arasında geçirebilir.
Bununla birlikte, IMDT yalnızca sunucu sınıfı Intel işlemcilerde desteklenmektedir. Performans üzerinde potansiyel olarak küçük bir etkiye sahip düşük maliyetli ve enerji tasarruflu sunucular yaratma amaçlıdır.
http://www.lmdb.tech/bench/optanessd/imdt.html Optane DC P4800X SSD ile bazı ölçütlere sahiptir. (Üst düzey veri merkezi sürümü, tüketici ürünleri değil. Çok daha yüksek sürekli yazma kabiliyeti.)
Buna bakmadım, bu yüzden Windows'un Optane SSD tüketicisinden nasıl faydalanabileceği ile ilgili olup olmadığından emin değilim.
Optane markası (biraz kafa karıştırıcı) aynı zamanda çok daha ilginç bir egzotik şey için de kullanılıyor:
3D XPoint Uçucu olmayan DIMM'ler , yani "Optane DC Kalıcı Bellek". https://www.anandtech.com/show/12828/intel-launches-optane-dimms-up-to-512gb-apache-pass-is-here . Apache Pass, birinci nesil Optane DC PM'nin adıdır. Gelecek nesiller hakkında bilgi için buna bakın .
Intel, teknik ayrıntılara bazı bağlantılar içeren, burada çoğunlukla kendi pazarlama sayfasına sahiptir . Görünüşe göre "DC", Veri Merkezli anlamına gelir.
Bu, bir DDR4 DIMM yuvasına takılan ve gerçek fiziksel bellek olarak görünen, geçici olmayan bir saklama alanıdır. Görünüşe göre sadece yeni nesil Xeon'lar tarafından destekleniyor (mevcut Skylake-X aka Skylake Ölçeklenebilir İşlemci serisi değil).
Diğer NVDIMM türleri vardır, örneğin pil destekli normal DRAM (isteğe bağlı olarak uzun süreli kapanma için verileri boşaltmak için flaşlı, bu yüzden sadece kimyasal bir pil yerine bir süper kapasitöre ihtiyaçları vardır). https://en.wikipedia.org/wiki/NVDIMM'in bazı detayları var.
https://www.electronicdesign.com/industrial-automation/why-are-nvdimms-suddenly-hot , NVDIMM'ler hakkında daha genel bir bilgiye sahiptir (ve bunların JEDEC standardizasyonu ve OS + uygulamalarının uygulamaların doğrudan konuşabilmeleri için nasıl konuşabilecekleri konusunda işbirliği yapabilirler) bir bellek bölgesi NV depolamayı eşleştirerek, sipariş verme ve benzeri işlemlerin yapılmasını sağlar. Ana nokta, RAM ve depolama arasındaki çizgiyi bulanıklaştırmaları (bilgisayar mimarisi anlamında, kesinlikle 4 + 16GB olduğunu iddia ettiğiniz aldatıcı dizüstü bilgisayar reklamının pazarlamacı anlamında değil).
İşletim sistemi, geçici olmayan bu fiziksel belleği kendi sanal adres alanlarıyla eşleyebilir; böylece kullanıcı alanı yükleriyle depolamaya doğrudan erişebilir ve herhangi bir sistem çağrısı olmadan bellek adreslerine depolanabilir , böylece CPU donanımının kullanım dışı kalmasına izin verebilir Olağanüstü okuma / yazma varken sipariş yürütme . ( flush()
Verilerin gerçekte kalıcı depolamaya yazıldığından emin olmak da dahil olmak üzere geliştiricilerin bundan yararlanmasına izin veren yazılım kütüphaneleri vardır .
Bu haritalama, geri yazma önbelleğe alınabilir bile , bu nedenle verilerin kullanımı, L3 / L2 / L1d önbellekten, geri yazma zamanı gelinceye kadar (değiştirilmişse) tamamen yararlanır. Çoğunlukla okunan veriler için, bu tür bir Optane gerçekten haklı olarak 4 + 16GB RAM olarak adlandırılabilir. (Tabii ki, Optane NVDIMM'ler için mevcut veri merkezi kullanım çantası , 512GB gibi çok daha büyük DIMM'ler kullanırdı .)
( mmap
Normal bir diskteki ed dosyası gibi , işletim sisteminin sadece dosya önbelleğini eşlediğiniz konum değildir ve işletim sistemi kirli RAM sayfalarını depolama aygıtıyla senkronize etmek için arka planda G / Ç işlemlerini gerçekleştirir.)
Bazı verilerin aslında başkalarından önce NV depolama alanına ulaştığından emin olmak (bir dosya sistemi veya veritabanı günlüğü gibi kaza kurtarma işlemine izin vermek için) şarttır. Sistem çağrıları ile POSIX fsync
veya kullanacağınız yer burasıdır fdatasync
. Ancak uygulama depolama alanıyla gerçekten bellek eşlemesine sahip olduğundan, kütüphane işlev çağrılarının girdiği yer burasıdır.
X86 asm'de normal yüklerle / depolarla depoya erişiyoruz ancak diğer çekirdeğe veya önbellekle uyumlu DMA’ya göründüğü zaman verilerin gerçekten NVDIMM’ye (güç kaybından güvenli olduğu yerlerde) geri yazılmasının önemine dikkat ediyoruz. (mağaza arabelleğinden L1d önbelleğine geçtiği andan itibaren), bu nedenle x86'nın normal bellek sıralama kuralları her şeyle tamamen ilgilenmez. Seçilen önbellek satırlarını CPU önbelleğinden temizlemek için özel talimatlara ihtiyacımız var. (NV depolama kütüphaneleri tarafından kullanım içindir.)
clflush
Asm talimat bir süre var olan, ancak NV depolama Intel eklendi neden önemli nedenidir clflushopt
Skylake içinde (diğer kullanım durumları da olmasına rağmen) ve ekliyor clwb
Buz Gölü (tahliye olmadan geri yazma) 'de.
Dan Luu, bir süre önce OS'yi depolamaya erişim yolundan çıkarmanın yararları hakkında ilginç bir makale yazdı , Intel'in bu noktada clflush
/ clwb
ve hafıza sıralaması anlamında olan planlarını ayrıntılarıyla anlattı . Intel, pcommit
bu sürecin bir parçası olarak (sürekli taahhüt) adı verilen bir talimatı talep etmeyi planlarken yazılmıştı , ancak Intel daha sonra bu talimatı kaldırmaya karar verdi: PCOMMIT Talimatının kullanımdan kaldırılması, neden ve bunların altında başlıkların nasıl çalıştığı hakkında ilginç bilgiler içeriyor. .
(Bu konu x86 NV depolama alanı düşük seviye ayrıntılarına yol açtı. Bu bölümün çoğunu gönderecek başka bir yer bulmalıyım, ama sanırım)
Bir PCIe x4 kartı veya 2,5 "olarak Optane DC SSD'ler de var . 750 GB sürümünde 2500 MB / s'ye kadar sıralı okuma, 2200 MB / s'ye kadar sıralı yazma ve 550000 IOPS rasgele okuma veya yazma var. Okuma gecikmesi biraz daha kötü M.2 NVMe, 10 µs'de.
Bir veritabanı sunucusu veya başka bir şey için (NVDIMM kullanamıyorsanız) istediğiniz şey budur, ancak 4GB dizüstü bilgisayarınızı sattıkları 16 GB Optan'dan (çoğu tipik kullanım durumları için) çok daha hızlı hale getirmez. Takas alanını değiştirmek, bir sayfanın sayfalandırılması ve erişilmesi gerektiğinden, sayfa hatası yapılan kodun daha sonra ne yapacağına devam etmeden önce erişilmesi gereken birçok bağımlı okuma üretir. Bellek gerçekten sıkışıksa, işletim sistemi agresif bir şekilde önceden yükleyebilecek yedek sayfalara sahip değildir, bu nedenle Optane tüketicisinin optimize ettiği düşük sıra derinliklerini beklersiniz. (Düşük gecikme süresi.)
Intel Optane SSD güzel bir performans-güç-maliyet değişimi sunar. SSD'ler temel olarak erişilmediğinde güç harcamazlar. Buna karşılık, DRAM yongalarındaki statik güç tüketimi (çoğunlukla yenileme nedeniyle) önemlidir. Bu nedenle, bir sistemdeki DRAM miktarı ideal olarak tipik iş yükünün çalışma grubuyla eşleşmelidir. Satın aldığınız sistem, yaklaşık 4GB veya daha az ana bellek gerektiren tipik bir iş yükü için tasarlanmıştır. Bu durumda, sistemde 8GB'lık ana bellek varsa, gereksiz yere pil ömrünü azaltacak, daha fazla güç tüketecektir. Ancak, Optane SSD, zaman zaman minimum performans düşüşü ile biraz daha fazla ana bellek gerektiren iş yüklerini çalıştırmanıza izin verir (NAND tabanlı SSD'lere veya HDD'lere kıyasla).
DRAM belleği şu anda 1 GB için yaklaşık 4,5 ABD Doları, Intel Optane SSD ise 1GB için yaklaşık 2 ABD Doları tutarındadır. Bu yüzden 16GB Optane SSD, 4GB DRAM modülünden daha pahalıdır, ancak 8GB DRAM modülünden daha ucuzdur. Böylece Optane SSD'yi çıkarır ve 4GB daha fazla bellek eklerseniz, 4GB'tan daha büyük çalışma setleri içeren tipik iş yükleri için ortalamada daha hızlı olan daha ucuz bir sistem elde edersiniz. Ancak zor sayfa hatası yönetimi, sayfa ön ayarı ve sayfa değişimi HDD'den daha yavaş olacaktır. Bu nedenle, tipik iş yükü 4GB hafızadan daha az (veya yaklaşık) hafıza gerektiriyorsa, 8GB sisteminin muhtemelen 4GB DRAM + 16GB Optane SSD sisteminden daha yavaş olması bu yüzdendir.
Dizüstü bilgisayarınız yalnızca Internet'te gezinmek veya metin düzenlemek için kullanacaksanız harikadır. Optane SSD önyükleme zamanına yardımcı olur, en sık erişilen dosyalara hızlı erişim sağlar ve ek ikincil depolama olarak kullanılabilir. Yani, 4GB DRAM'den 16GB Optane SSD ödüyorsanız da, bunun için kesin ve benzersiz avantajlar elde ediyorsunuz. Ama böyle RStudio gibi bahsedilen diğer uygulamaların bazılarını, ihtiyaç 4GB bellek az. Genellikle aynı anda bir tarayıcı ve RStudio kullanacaksanız (ve belki başka uygulamalar), o zaman en az 8GB belleğe sahip bir sistem edinmelisiniz. Optane SSD olsa kadar iyidir.