में इस संदर्भ (बजट उपभोक्ता गियर), Optane बहुत स्पष्ट रूप से सिर्फ 3 डी XPoint स्मृति (NAND फ्लैश के बजाय) का उपयोग कर एक छोटा सा / तेजी से NVMe से जुड़े एसएसडी की चर्चा करते हुए, यह एक बहुत ही उच्च लिखने धीरज दे रहा है। (इसलिए इसे स्वैप स्पेस के रूप में इस्तेमाल नहीं किया जाएगा)।
यह अभी भी कई वर्कलोड के लिए चूसना जा रहा है, क्योंकि यह अभी भी एक पेज-फॉल्ट और कई माइक्रोसेकंड का उपयोग करने के लिए लेता है, बनाम ~ डीआरएएम एक्सेस (कैश मिस) के लिए 70 नैनोसेकंड ; यह सीधे सीपीयू मेमोरी बस पर मेमोरी-मैप नहीं किया जाता है। इसके अलावा, आउट-ऑफ-ऑर्डर निष्पादन / एचडब्ल्यू प्रीफैच / अन्य मेमोरी-समानांतरवाद प्रति भौतिक कोर में उड़ान में ~ 10 कैश मिस कर सकते हैं, लेकिन एक पृष्ठ गलती क्रमबद्ध है । ओएस पेज की गलती पर काम कर रहा है, जबकि कोई उपयोगी काम नहीं हो रहा है (इस थ्रेड में), इसलिए ओओओ निष्पादन के लिए उस कठिन पृष्ठ गलती विलंबता को छिपाने का कोई अवसर नहीं है। (लेकिन 70 के दशक भी वैसे भी पूरी तरह से छिपाने के लिए बहुत लंबा है। फिर भी, विभिन्न लाइनों के लिए उड़ान में कई मिस होने से कुछ कार्यभार के लिए इसे कम करने की दिशा में एक लंबा रास्ता तय होता है।)
रैम की अपंग-छोटी राशि का उपयोग करना और स्वैप स्पेस / पेजफाइल के लिए एक तेज एसएसडी पर निर्भर करना इस तरह के ऑप्टेन के लिए एकमात्र उपयोग-मामला नहीं है। (और शायद एक अच्छा उपयोग-मामला भी नहीं है)। जैसा कि https://www.tweaktown.com/articles/8119/intel-optane-memory-matters/index.html वर्णन करता है, यह मुख्य उपयोग-मामला चुंबकीय हार्ड ड्राइव के लिए पारदर्शी कैश के रूप में है। मुझे लगता है कि इंटेल विंडोज ड्राइवरों को ऐसा करने के लिए प्रदान करता है। आप SATA हार्ड ड्राइव खरीद सकते हैं जिसमें कुछ फ्लैश के साथ घूर्णी चुंबकीय भंडारण होता है जो डिस्क के अक्सर-एक्सेस किए गए हिस्सों के लिए बफर / कैश के रूप में निर्मित होता है। Optane HW + ड्राइवर किसी भी डिस्क के लिए ऐसा कर सकते हैं।
Optane NVMe में स्पष्ट रूप से कम कतार की गहराई पर बहुत अच्छा यादृच्छिक रीड प्रदर्शन होता है (दूसरे को शुरू करने से पहले एक बार पढ़ने के लिए समाप्त होने की प्रतीक्षा करें, जो दुर्भाग्य से तब होता है जब एक प्रोग्राम को एक ब्लॉक को पढ़ना पड़ता है इससे पहले कि यह पता चल सके कि आगे क्या करना है, और सॉफ़्टवेयर प्रीफ़ेटिंग है।) 'टी मदद)। तो यह कार्यक्रम प्रारंभ समय, और बूटअप को गति देने में बहुत अच्छा होना चाहिए।
विशेष रूप से बड़ी फ़ाइलों के बड़े सन्निहित लेखन के लिए आश्चर्यजनक नहीं है; उम्मीद है कि ड्राइवर सॉफ्टवेयर Optane कैश को बायपास करना जानता है और इसके लिए सीधे अंतर्निहित चुंबकीय डिस्क पर जाता है। Intel का मुख्य Optane पृष्ठ लिंक https://www.intel.ca/content/www/ca/en/products/memory-storage/optane-memory/optane-16gb-m-2-80mm.html पर प्रदर्शित होता है, जो उनके 16 मिलियन M .2 ऑप्टाने में 900MB / s अनुक्रमिक पढ़ा है, लेकिन केवल 145MB / s अनुक्रमिक लिखना है। 32GB संस्करण तेज़ है, 1350 MB / s पढ़ा है, 290 MB / s लिखें। लेकिन फिर से, वे क्या Optane सबसे अच्छा है नहीं कर रहे हैं। यह अनुक्रमिक और यादृच्छिक रूप से पढ़ा जाने वाला IOPS है, दोनों 240k IOPS हैं, 7 µ के साथ विलंबता पढ़ें।
इंटेल के पास IMDT (इंटेल मेमोरी ड्राइव टेक्नोलॉजी) नामक कुछ हैजो एक हाइपरविजर है जो ऑपरेटिंग सिस्टम के लिए एक बड़े मुख्य मेमोरी एड्रेस स्पेस का भ्रम पैदा करता है। कुछ पृष्ठों को वास्तविक DRAM मुख्य मेमोरी में मैप किया जाएगा जबकि अन्य को SSD मेमोरी में मैप किया जाएगा। जब SSD के लिए मैप किया गया पेज एक्सेस किया जाता है, तो IMDT द्वारा एक पेज फॉल्ट पकड़ा जाता है, जिससे पेज को SSD से मुख्य मेमोरी में लाया जा सकेगा (संभवतः किसी पेज को मेमोरी से SSD तक ले जाना)। IMDT अवर बैंडविड्थ और SSD की विलंबता को कम करने के लिए DRAM में पृष्ठों को प्रीफ़ैच करने का प्रयास करेगा। यह मुख्य स्मृति में सबसे गर्म पृष्ठों को रखने की भी कोशिश करेगा ताकि उन्हें न्यूनतम दंड के साथ पहुँचा जा सके (वर्चुअलाइजेशन के कारण अतिरिक्त पेइंग लेयर्स से केवल पेनल्टी आ सकती है।) ओएस ज्यादातर इस मैपिंग से अनजान है और सामान्य रूप से काम करता है। इस तरह की मेमोरी सिस्टम को सॉफ्टवेयर-डिफाइन्ड मेमोरी (एसडीएम) कहा जाता है। अच्छा"वैज्ञानिक अनुप्रयोगों के लिए इंटेल मेमोरी ड्राइव टेक्नोलॉजी प्रदर्शन का मूल्यांकन" शीर्षक वाला पेपर आईएमडीटी का प्रदर्शन मूल्यांकन प्रदान करता है और इसकी तुलना एक प्रणाली से करता है जिसमें DRAM मुख्य मेमोरी की समान मात्रा होती है। मैंने कागज को अच्छी तरह से नहीं पढ़ा है, लेकिन ऐसा प्रतीत होता है कि IMDT NUMA नोड्स के बीच पृष्ठों को उन नोड के करीब ले जा सकता है, जहां उन्हें ज्यादातर जरूरत होती है।
उस ने कहा, IMDT केवल सर्वर-ग्रेड इंटेल प्रोसेसर पर समर्थित है। यह प्रदर्शन पर संभावित छोटे प्रभाव के साथ लागत प्रभावी, शक्ति-कुशल सर्वर बनाने का इरादा है।
http://www.lmdb.tech/bench/optanessd/imdt.html में ऑप्टेन DC P4800X SSD के साथ कुछ बेंचमार्क हैं। (उच्च अंत डेटा-केंद्र संस्करण, उपभोक्ता सामान नहीं। बहुत अधिक निरंतर लेखन क्षमता।)
मैं इस पर गौर नहीं कर रहा हूं, इसलिए मुझे यकीन नहीं है कि अगर यह बिल्कुल प्रासंगिक है कि विंडोज एक उपभोक्ता ऑप्टेन एसएसडी का लाभ कैसे ले सकता है।
Optane ब्रांड का नाम (कुछ हद तक भ्रमित करने वाला) भी अधिक दिलचस्प विदेशी चीज़ के लिए उपयोग किया जाता है:
3 डी XPoint गैर-वाष्पशील DIMMs , उर्फ "ऑप्टेन डीसी पर्सेंटेज मेमोरी"। https://www.anandtech.com/show/12828/intel-launches-optane-dimms-up-to-512gb-apache-pass-is-here । Apache Pass पहली पीढ़ी के Optane DC PM का नाम है। भविष्य की पीढ़ियों की जानकारी के लिए इसे देखें ।
इंटेल इसके लिए अपने स्वयं के ज्यादातर विपणन पृष्ठ है यहाँ तकनीक विवरण के लिए कुछ लिंक के साथ,। जाहिरा तौर पर "DC" का अर्थ डेटा-सेंट्रिक है।
यह गैर-वाष्पशील भंडारण है जो DDR4 DIMM स्लॉट में प्लग करता है, और वास्तविक भौतिक मेमोरी के रूप में प्रकट होता है। जाहिरा तौर पर यह केवल अगली पीढ़ी के Xeons (वर्तमान Skylake-X उर्फ Skylake स्केलेबल प्रोसेसर श्रृंखला नहीं) द्वारा पूरी तरह से समर्थित है।
NVDIMM के अन्य प्रकार हैं, उदाहरण के लिए बैटरी-समर्थित नियमित DRAM (वैकल्पिक रूप से फ्लैश के साथ डेटा को लंबे समय तक बिजली बंद करने के लिए डंप करने के लिए, इसलिए उन्हें रासायनिक बैटरी के बजाय केवल सुपरकैपेसिटर की आवश्यकता होती है)। https://en.wikipedia.org/wiki/NVDIMM में कुछ विवरण हैं।
https://www.electronicdesign.com/industrial-automation/why-are-nvdimms-suddenly-hot में NVDIMMs (और उनमें से JEDEC मानकीकरण) पर कुछ और सामान्य जानकारी है, और कैसे ओएस अनुप्रयोगों को सीधे बात करने के लिए सहयोग कर सकते हैं मेमोरी का एक क्षेत्र NV संग्रहण को मैप करता है, यह सुनिश्चित करता है कि ऑर्डर करना वगैरह)। मुख्य बिंदु यह है कि वे वास्तव में रैम और स्टोरेज के बीच की रेखा को धुंधला करते हैं (कंप्यूटर-आर्किटेक्चर के अर्थ में, न कि भ्रामक लैपटॉप विज्ञापन के कड़ाई से विपणन अर्थों में आपने देखा कि 4 + 16 जीबी का दावा किया गया था।)
ओएस इस गैर-वाष्पशील भौतिक मेमोरी को अपने वर्चुअल एड्रेस स्पेस में मैप कर सकता है ताकि वे स्टोरेज को यूजर-स्पेस लोड और स्टोरेज से मेमोरी एड्रेस तक सीधे एक्सेस कर सकें , बिना किसी सिस्टम कॉल के, सीपीयू हार्डवेयर को आउट-ऑफ करते रहें आदेश निष्पादन जबकि बकाया रीड / लिखते हैं । (डेवलपरों को इसका लाभ उठाने देने के लिए सॉफ्टवेयर लाइब्रेरी हैं, जिसमें flush()
यह सुनिश्चित करने की क्षमता शामिल है कि डेटा वास्तव में लगातार स्टोरेज के लिए लिखा गया है।
यह मैपिंग राइट-बैक कैशेबल भी हो सकती है , इसलिए डेटा का उपयोग L3 / L2 / L1d कैश से पूरी तरह से लाभान्वित होता है जब तक कि इसे वापस लिखने का समय नहीं है (यदि संशोधित किया गया है)। रीड-ज्यादातर डेटा के लिए, इस तरह के ऑप्टाने को वास्तव में उचित रूप से 4 + 16 जीबी रैम कहा जा सकता है। (ज़ाहिर है, Optane NVDIMMs के लिए वर्तमान डेटा-सेंटर उपयोग-मामला 512GB की तरह बहुत बड़े DIMMs का उपयोग करेगा ।)
(यह mmap
एक सामान्य डिस्क पर एक एड फ़ाइल की तरह नहीं है, जहाँ आप बस फ़ाइल के लिए OS का पेज-कैश मैप करते हैं, और OS स्टोरेज के साथ गंदे RAM पेजों को सिंक करने के लिए बैकग्राउंड में I / O करने का ध्यान रखता है।)
यह सुनिश्चित करना कि कुछ डेटा वास्तव में दूसरों के सामने एनवी स्टोरेज तक पहुँच गया है (फाइल सिस्टम या डेटाबेस जर्नल की तरह क्रैश रिकवरी की अनुमति देने के लिए) आवश्यक है। सिस्टम कॉल के साथ, यह वह जगह है जहाँ आप POSIX fsync
या का उपयोग करेंगे fdatasync
। लेकिन चूंकि एप्लिकेशन में स्टोरेज वास्तव में मेमोरी-मैपेड है, यह वह जगह है जहां लाइब्रेरी फ़ंक्शन कॉल में आते हैं।
X86 asm में, हम स्टोरेज को सामान्य लोड / स्टोर के साथ एक्सेस कर रहे हैं, लेकिन हम इस बात की परवाह करते हैं कि डेटा वास्तव में NVDIMM (जहां यह पावर लॉस से सुरक्षित है) पर वापस लिखा जाए, तब नहीं जब यह अन्य कोर या कैश-सुसंगत अर्थोपाय के लिए दिखाई दे (जैसे ही यह स्टोर बफर से एल 1 डी कैश के लिए शुरू होता है), इसलिए x86 के सामान्य मेमोरी-ऑर्डरिंग नियम पूरी तरह से सब कुछ का ध्यान नहीं रखते हैं। हमें सीपीयू के कैश से चयनित कैश-लाइनों को फ्लश करने के लिए विशेष निर्देशों की आवश्यकता है। (एनवी भंडारण पुस्तकालयों द्वारा उपयोग के लिए।)
clflush
एएसएम अनुदेश थोड़ी देर के लिए ही अस्तित्व में है, लेकिन NV भंडारण एक प्रमुख कारण है कि इंटेल जोड़ा है clflushopt
Skylake में (हालांकि यह अन्य उपयोग-मामले भी है), और जोड़ रहा है clwb
बर्फ झील (बेदखली के बिना लिखने-वापस) में।
दान Luu ने कुछ समय पहले एक दिलचस्प लेख लिखा था , जिसमें OS को स्टोरेज तक पहुंच से बाहर निकालने के लाभों के बारे में, उस बिंदु पर इंटेल की योजनाओं का विस्तार करना clflush
/ clwb
और उनकी मेमोरी-ऑर्डरिंग शब्दार्थ। यह तब लिखा गया था जब इंटेल अभी भी pcommit
इस प्रक्रिया के भाग के रूप में (लगातार प्रतिबद्ध) नामक एक निर्देश की आवश्यकता की योजना बना रहा था , लेकिन बाद में इंटेल ने उस निर्देश को हटाने का फैसला किया: PCOMMIT निर्देश को ध्यान में रखते हुए कुछ दिलचस्प जानकारी क्यों, और कैसे हुड के तहत काम करते हैं ।
(यह x86 NV स्टोरेज निम्न स्तर के विवरण में विषय से अलग हो गया। मुझे इस खंड के अधिकांश पोस्ट करने के लिए कहीं और मिलना चाहिए, लेकिन मुझे लगता है कि)
एक PCIe x4 कार्ड या 2.5 "के रूप में Optane DC SSD भी हैं । 750GB संस्करण 2500 MB / s क्रमिक रीड तक, 2200 MB / s अनुक्रमिक लेखन, और 550000 IOPS यादृच्छिक रीड या राइट तक करता है। पढ़ें विलंबता से थोड़ा खराब है। M.2 NVMe, 10 बजे।
यदि आप डेटाबेस सर्वर या किसी चीज़ के लिए चाहते हैं (यदि आप NVDIMM का उपयोग नहीं कर सकते हैं) तो यही चाहते हैं, लेकिन यह आपके 4GB लैपटॉप को 16GB ऑप्टाने की तुलना में बहुत तेज़ (अधिकांश विशिष्ट उपयोग के मामलों के लिए) नहीं बनाते हैं। स्वैप स्पेस थ्रैशिंग अक्सर बहुत अधिक निर्भर रीड्स का उत्पादन करता है क्योंकि पेज को पेज में कोड और उससे पहले एक्सेस किया जाना होता है जो पेज-फाल्ट उस पर जारी रह सकता है जो वह आगे करने जा रहा था। यदि मेमोरी वास्तव में तंग है, तो ओएस में आक्रामक रूप से प्रीफ़ैच करने के लिए अतिरिक्त पृष्ठ नहीं होते हैं, इसलिए आपको कम कतार की गहराई की उम्मीद होगी जो उपभोक्ता ऑप्टाने के लिए अनुकूलित है। (कम विलंबता।)
Intel Optane SSD एक अच्छा प्रदर्शन-पावर-कॉस्ट ट्रेड-ऑफ प्रदान करता है। SSDs मूल रूप से बिजली का उपभोग नहीं करते हैं जब तक पहुँचा नहीं है। इसके विपरीत, DRAM चिप्स में स्थैतिक बिजली की खपत (अधिकतर ताज़ा होने के कारण) महत्वपूर्ण है। तो एक सिस्टम में DRAM की मात्रा आदर्श रूप से ठेठ वर्कलोड के वर्किंग सेट से मेल खाना चाहिए। आपके द्वारा खरीदा गया सिस्टम एक सामान्य वर्कलोड के लिए डिज़ाइन किया गया था जिसमें लगभग 4GB मुख्य मेमोरी या उससे कम की आवश्यकता होती है। इस मामले में, अगर सिस्टम में 8GB मुख्य मेमोरी है, तो यह अनावश्यक रूप से अधिक बिजली की खपत करेगा, जिससे बैटरी की लाइफ कम हो जाएगी। हालांकि, ऑप्टेन एसएसडी आपको कभी-कभी वर्कलोड चलाने की अनुमति देता है जिसमें न्यूनतम प्रदर्शन में गिरावट (नंद-आधारित एसएसडी या एचडीडी की तुलना में) के साथ थोड़ी अधिक मुख्य मेमोरी की आवश्यकता होती है।
DRAM मेमोरी की कीमत वर्तमान में USD 4 $ प्रति 1GB है जबकि Intel Optane SSD की कीमत USD 2 प्रति 1GB है। तो एक 16GB Optane SSD 4GB DRAM मॉड्यूल से अधिक महंगा है, लेकिन 8GB DRAM मॉड्यूल से सस्ता है। इसलिए यदि आप Optane SSD को निकालते हैं और 4GB अधिक मेमोरी जोड़ते हैं, तो आपको एक सस्ता सिस्टम मिलेगा, जो औसतन 4GB वर्किंग सेट के साथ सामान्य वर्कलोड के लिए भी तेज है। लेकिन हार्ड पेज फॉल्ट हैंडलिंग, पेज प्रीफेटिंग और पेज स्वैपिंग एचडीडी से धीमी होगी। इसीलिए 8GB सिस्टम शायद 4GB DRAM + 16GB Optane SSD सिस्टम की तुलना में धीमा होगा अगर सामान्य वर्कलोड में 4GB से कम (या लगभग) मेमोरी की आवश्यकता होती है।
यदि आप अभी इंटरनेट ब्राउज़िंग या पाठ संपादन के लिए इसका उपयोग करने जा रहे हैं तो आपका लैपटॉप बहुत अच्छा है। Optane SSD बूट-टाइम के साथ मदद करता है, सबसे अक्सर एक्सेस की गई फ़ाइलों तक त्वरित पहुँच प्रदान करता है, और इसे अतिरिक्त द्वितीयक संग्रहण के रूप में उपयोग किया जा सकता है। इसलिए यद्यपि आप 4GB DRAM से अधिक 16GB Optane SSD का भुगतान कर रहे हैं, आपको इसके लिए कुछ विशेष, अद्वितीय लाभ मिल रहे हैं। लेकिन आपके द्वारा बताए गए कुछ अन्य एप्लिकेशन, जैसे कि RStudio, को न्यूनतम 4GB मेमोरी की आवश्यकता होती है। यदि आप आमतौर पर एक ही समय में ब्राउज़र और RStudio (और शायद अन्य ऐप्स) का उपयोग करेंगे, तो आपको कम से कम 8GB मेमोरी वाला सिस्टम प्राप्त करना चाहिए। Optane SSD के लिए हालांकि अच्छा है।