फ़्लैश कैश: Difference between revisions

From Vigyanwiki
(Created page with "{{distinguish|text=NetApp Flash Cache, IBM FlashCache, or Oracle Database Flash Cache}} {{update|date=December 2013}} Flashcache, Linux कर्नेल के...")
 
No edit summary
Line 1: Line 1:
{{distinguish|text=[[NetApp]] Flash Cache, [[IBM]] FlashCache, or [[Oracle Database]] Flash Cache}}
{{distinguish|text=[[नेटएप]] फ्लैश कैश, [[आईबीएम]] फ्लैश कैश, या [[ओरेकल डाटाबेस]] फ्लैश कैश}}
{{update|date=December 2013}}
{{update|date=December 2013}}


Flashcache, Linux कर्नेल के लिए एक [[कैश (कंप्यूटिंग)]] घटक है, जिसे शुरू में अप्रैल 2010 से [[Facebook]] द्वारा विकसित किया गया था, और 2011 में [[ खुला स्त्रोत ]] के रूप में जारी किया गया था। जनवरी 2013 से, Flashcache का एक फोर्क है, जिसका नाम [[एन्हांसियो]] है और इसे sTec, Inc. द्वारा विकसित किया गया है।<ref>[https://www.phoronix.com/scan.php?page=news_item&px=MTI3Mzc EnhanceIO: New Solid State Drive Caching For Linux]</ref> 2015 के बाद से वह कांटा अनुरक्षित हो गया और इसे फिर से फोर्क किया गया और व्यक्तियों द्वारा बनाए रखा गया।<ref>[https://github.com/lanconnected/EnhanceIO EnhanceIO Open Source for Linux]</ref>
Flashcache, Linux कर्नेल के लिए एक डिस्क [[कैश (कंप्यूटिंग)]] घटक है, जिसे शुरुआत में अप्रैल 2010 से [[Facebook]] द्वारा विकसित किया गया था, और 2011 में ओपन सोर्स के रूप में जारी किया गया था। जनवरी 2013 से, Flashcache का एक फोर्क है, जिसे [[एन्हांसियो]] नाम दिया गया है और sTec, Inc. द्वारा विकसित किया गया है।<ref>[https://www.phoronix.com/scan.php?page=news_item&px=MTI3Mzc EnhanceIO: New Solid State Drive Caching For Linux]</ref> 2015 के बाद से वह कांटा अनुरक्षित हो गया और इसे फिर से फोर्क किया गया और व्यक्तियों द्वारा बनाए रखा गया।<ref>[https://github.com/lanconnected/EnhanceIO EnhanceIO Open Source for Linux]</ref>  
फ्लैश कैश [[फ्लैश मेमोरी]], एक [[ उ स बी फ्लैश ड्राइव ]], [[ सुरक्षित डिजिटल कार्ड ]], [[कॉम्पैक्ट फ़्लैश]] फ्लैश या किसी भी प्रकार के पोर्टेबल फ्लैश मास स्टोरेज सिस्टम को राइट-बैक परसिस्टेंट कैश के रूप में उपयोग करके काम करता है। प्रदर्शन बढ़ाने के लिए एक आंतरिक [[ ठोस राज्य ड्राइव ]] का भी उपयोग किया जा सकता है।<ref>{{Cite web |title=Flash Cache {{!}} NetApp Documentation |url=https://docs.netapp.com/us-en/cloud-manager-cloud-volumes-ontap/concept-flash-cache.html |access-date=2022-10-10 |website=docs.netapp.com |language=en}}</ref>


फ्लैश कैश [[फ्लैश मेमोरी]], एक यूएसबी [[ उ स बी फ्लैश ड्राइव |फ्लैश ड्राइव]], एसडी कार्ड, [[कॉम्पैक्ट फ़्लैश]] या किसी भी तरह के पोर्टेबल फ्लैश मास स्टोरेज सिस्टम को राइट-बैक परसिस्टेंट कैश के रूप में इस्तेमाल करके काम करता है। एक आंतरिक एसएसडी का उपयोग प्रदर्शन बढ़ाने के लिए भी किया जा सकता है।<ref>{{Cite web |title=Flash Cache {{!}} NetApp Documentation |url=https://docs.netapp.com/us-en/cloud-manager-cloud-volumes-ontap/concept-flash-cache.html |access-date=2022-10-10 |website=docs.netapp.com |language=en}}</ref>
== सिंहावलोकन ==
कैशिंग के लिए फ्लैश मेमोरी (एनएएनडी मेमोरी डिवाइस) का उपयोग करने से लिनक्स कर्नेल को कैश के बिना बेहतर प्रदर्शन के साथ रैंडम डिस्क आईओ की सेवा करने की स्वीकृति मिलती है। यह कैशिंग सभी डिस्क सामग्री पर लागू होती है, न कि केवल पृष्ठ फ़ाइल या सिस्टम बायनेरिज़ पर। फ्लैश मेमोरी आधारित डिवाइस सामान्यतः रैंडम आईओ के लिए एचडीडी स्पिन करने की तुलना में बहुत तेज होते हैं, लेकिन कम लाभ के साथ या अनुक्रमिक पढ़ने/लिखने में भी धीमे होते हैं। डिफ़ॉल्ट रूप से, फ्लैशकैच सभी पूर्ण ब्लॉकसाइज आईओ को कैश करता है, लेकिन अनुक्रमिक आईओ को अनदेखा करते हुए केवल यादृच्छिक आईओ को कैश करने के लिए कॉन्फ़िगर किया जा सकता है।<ref name="doc">{{cite web|url=https://github.com/facebook/flashcache/blob/master/doc/flashcache-doc.txt |title=Flashcache : A Write Back Block Cache for Linux|author=Mohan Srinivasan |website=[[GitHub]] }}</ref>


== सिंहावलोकन ==
इसी तरह की तकनीक [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] में [[विंडोज विस्टा]] के बाद से [[रेडी बूस्ट]] के रूप में मौजूद है।
कैशिंग के लिए फ्लैश मेमोरी (एनएएनडी फ्लैश डिवाइस) का उपयोग करने से लिनक्स कर्नेल कैश के बिना बेहतर प्रदर्शन के साथ रैंडम डिस्क आईओ को सर्विस करने की अनुमति देता है। यह कैशिंग सभी डिस्क सामग्री पर लागू होती है, न कि केवल पृष्ठ फ़ाइल या सिस्टम बायनेरिज़ पर। फ्लैश मेमोरी आधारित डिवाइस आमतौर पर रैंडम आईओ के लिए एचडीडी स्पिन करने की तुलना में बहुत तेज होते हैं, लेकिन कम लाभ के साथ या अनुक्रमिक पढ़ने/लिखने में भी धीमे होते हैं। डिफ़ॉल्ट रूप से, फ्लैशकैच सभी पूर्ण ब्लॉक आकार के आईओ को कैश करता है, लेकिन अनुक्रमिक आईओ को अनदेखा करते हुए केवल यादृच्छिक आईओ को कैश करने के लिए कॉन्फ़िगर किया जा सकता है।<ref name="doc">{{cite web|url=https://github.com/facebook/flashcache/blob/master/doc/flashcache-doc.txt |title=Flashcache : A Write Back Block Cache for Linux|author=Mohan Srinivasan |website=[[GitHub]] }}</ref>
इसी तरह की तकनीक [[ माइक्रोसॉफ़्ट विंडोज़ ]] में [[विंडोज विस्टा]] के बाद से [[रेडी बूस्ट]] के रूप में मौजूद है।


== कार्यान्वयन ==
== कार्यान्वयन ==
Flashcache को Linux कर्नेल के [[डिवाइस मैपर]] के ऊपर बनाया गया है। कैश की डेटा संरचना एक [[ सेट साहचर्य ]] [[ हैश तालिका ]] है, जिसमें ब्लॉक खोजने के लिए एक सेट के भीतर [[रैखिक जांच]] का उपयोग करके कैश को कई निश्चित आकार के सेट (बकेट) में विभाजित किया जाता है। डिवाइस मैपर लेयर सभी I/O रिक्वेस्ट को कैश लेयर में रिक्वेस्ट पास करने से पहले ब्लॉक साइज चंक्स में तोड़ देती है।{{citation needed|date=December 2013}}
Flashcache को Linux कर्नेल के [[डिवाइस मैपर]] के ऊपर बनाया गया है। कैश की डेटा संरचना एक सेट-एसोसिएटिव [[ हैश तालिका |हैश तालिका]] है, जिसमें ब्लॉक खोजने के लिए एक सेट के भीतर [[रैखिक जांच]] का उपयोग करके कैश को कई निश्चित आकार के सेट (बकेट) में विभाजित किया जाता है। डिवाइस मैपर लेयर सभी I/O रिक्वेस्ट को कैश लेयर में रिक्वेस्ट पास करने से पहले ब्लॉक साइज चंक्स में तोड़ देती है।{{citation needed|date=December 2013}}


जब एक लिखित अनुरोध होता है, तो संबंधित कैश ब्लॉक को गंदा चिह्नित किया जाता है; गंदी कैश ब्लॉक पृष्ठभूमि में डिस्क पर आलसी ढंग से लिखे गए हैं। [[ वापस लिखना ]] पॉलिसी को नियंत्रित करने के लिए कुछ पैरामीटर हैं: गंदे-दहलीज, आलस्य और अन्य गंदे ब्लॉकों के साथ निकटता जो वापस लिखे जाने वाले हैं।{{citation needed|date=December 2013}}
जब एक लिखित अनुरोध होता है, तो संबंधित कैश ब्लॉक को गंदा चिह्नित किया जाता है; गंदी कैश ब्लॉक पृष्ठभूमि में डिस्क पर आलसी ढंग से लिखे गए हैं। राइट-बैक पॉलिसी को नियंत्रित करने के लिए कुछ पैरामीटर हैं: गंदे-दहलीज, आलस्य और अन्य गंदे ब्लॉकों के साथ निकटता जो वापस लिखे जाने वाले हैं।{{citation needed|date=December 2013}}


== सीमाएं ==
== सीमाएं ==
Line 25: Line 25:
: फ्लैशकैच को उसके अनुरोधों को कैश करने से रोकने के लिए एक प्रक्रिया को गैर-कैचेबल के रूप में चिह्नित किया जा सकता है; हालाँकि, अगर एक प्रक्रिया जो खुद को गैर-कैचेबल के रूप में चिह्नित करती है, मर जाती है, तो फ्लैश कैश को साफ करने का कोई तरीका नहीं है।
: फ्लैशकैच को उसके अनुरोधों को कैश करने से रोकने के लिए एक प्रक्रिया को गैर-कैचेबल के रूप में चिह्नित किया जा सकता है; हालाँकि, अगर एक प्रक्रिया जो खुद को गैर-कैचेबल के रूप में चिह्नित करती है, मर जाती है, तो फ्लैश कैश को साफ करने का कोई तरीका नहीं है।
; संरेखण
; संरेखण
: डिवाइस मैपर पर भरोसा करने के परिणामस्वरूप कैशिंग प्रदर्शन संबंधी समस्याएं हुईं और राइट्स की कैशिंग नहीं हुई जो कि 4 KiB के गुणक नहीं हैं। मुख्य रूप से, यह Xen हाइपरविजर को प्रभावित करता है। इस प्रकार, एन्हांसियो डिवाइस मैपर एकीकरण से दूर चला गया है, जो कि इष्टतम उपयोग के मामलों के लिए उच्च प्रदर्शन प्रदान करता है।{{Citation needed|date=January 2015}}
: डिवाइस मैपर पर भरोसा करने के परिणामस्वरूप कैशिंग प्रदर्शन संबंधी समस्याएं हुईं और राइट्स की कोई कैशिंग नहीं हुई जो कि 4 KiB के गुणक नहीं हैं। मुख्य रूप से, यह Xen हाइपरविजर को प्रभावित करता है। इस प्रकार, एन्हांसियो डिवाइस मैपर एकीकरण से दूर चला गया है, जो इष्टतम उपयोग के मामलों के लिए उच्च प्रदर्शन प्रदान करता है।{{Citation needed|date=January 2015}}
; राइट-अराउंड रीड लेटेंसी प्रभाव
; राइट-अराउंड रीड लेटेंसी प्रभाव
: राइट-अराउंड मोड में सभी राइट्स उच्च स्थिरता के लिए कैश को बायपास करते हैं। वर्तमान कार्यान्वयन एसएसडी डिवाइस के माध्यम से पढ़ता है और फिर उन्हें वास्तविक पाठक तक पहुंचाता है। इसका मतलब यह है कि पहले से अनकैश किए गए ब्लॉक को हमेशा पहले एसएसडी डिवाइस में जाने की जरूरत होगी, जिससे लगातार आईओ लिखा जा सकेगा। फ़ेसबुक द्वारा उपयोग किए जाने वाले एंटरप्राइज़ SSD या Highend PCIe उपकरणों पर कोई समस्या नहीं है, लेकिन निचले सिरे SSD पर प्रदर्शन को कम करता है।
: राइट-अराउंड मोड में उच्च स्थिरता के लिए सभी राइट्स कैश को बायपास करते हैं। वर्तमान कार्यान्वयन एसएसडी डिवाइस के माध्यम से पढ़ता है और फिर उन्हें वास्तविक पाठक तक पहुंचाता है। इसका मतलब यह है कि पहले से अनकैश किए गए ब्लॉक को हमेशा पहले एसएसडी डिवाइस में जाने की जरूरत होगी, जिससे लगातार आईओ लिखा जा सकेगा। फ़ेसबुक द्वारा उपयोग किए जाने वाले एंटरप्राइज़ एसएसडी या Highend PCIe उपकरणों पर कोई समस्या नहीं है, लेकिन निचले सिरे एसएसडी पर प्रदर्शन को कम करता है।
; राइट-अराउंड रीड कैश वार्म-अप चरण
; राइट-अराउंड रीड कैश वार्म-अप चरण
: राइट-अराउंड मोड में FlashCache के पास डिस्क वाले पृष्ठों की तुलना में संचित पृष्ठों की आयु की तुलना करने के लिए कोई जानकारी नहीं है। (1) क्योंकि डिवाइस को फ्लैशकैच के बाहर माउंट किया जा सकता था (2) क्योंकि इस मोड में कोई भी लिखा हुआ ट्रैक नहीं किया जाता है। इसका परिणाम प्रत्येक वॉल्यूम सक्रियण (यानी: रिबूट) के बाद एक खाली कैश में होता है। जब तक सभी गर्म क्षेत्रों को कैश नहीं किया जाता तब तक प्रदर्शन कम हो जाएगा।
: राइट-अराउंड मोड में फ्लैश कैश के पास ऑन-डिस्क पर कैश्ड पेजों की उम्र की तुलना करने के लिए कोई जानकारी नहीं है। (1) क्योंकि डिवाइस को फ्लैशकैच के बाहर माउंट किया जा सकता था (2) क्योंकि इस मोड में कोई भी लिखा हुआ ट्रैक नहीं किया जाता है। इसका परिणाम प्रत्येक वॉल्यूम सक्रियण (यानी: रिबूट) के बाद एक खाली कैश में होता है। जब तक सभी गर्म क्षेत्रों को कैश नहीं किया जाता तब तक प्रदर्शन कम हो जाएगा।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 20:24, 13 June 2023

Flashcache, Linux कर्नेल के लिए एक डिस्क कैश (कंप्यूटिंग) घटक है, जिसे शुरुआत में अप्रैल 2010 से Facebook द्वारा विकसित किया गया था, और 2011 में ओपन सोर्स के रूप में जारी किया गया था। जनवरी 2013 से, Flashcache का एक फोर्क है, जिसे एन्हांसियो नाम दिया गया है और sTec, Inc. द्वारा विकसित किया गया है।[1] 2015 के बाद से वह कांटा अनुरक्षित हो गया और इसे फिर से फोर्क किया गया और व्यक्तियों द्वारा बनाए रखा गया।[2]

फ्लैश कैश फ्लैश मेमोरी, एक यूएसबी फ्लैश ड्राइव, एसडी कार्ड, कॉम्पैक्ट फ़्लैश या किसी भी तरह के पोर्टेबल फ्लैश मास स्टोरेज सिस्टम को राइट-बैक परसिस्टेंट कैश के रूप में इस्तेमाल करके काम करता है। एक आंतरिक एसएसडी का उपयोग प्रदर्शन बढ़ाने के लिए भी किया जा सकता है।[3]

सिंहावलोकन

कैशिंग के लिए फ्लैश मेमोरी (एनएएनडी मेमोरी डिवाइस) का उपयोग करने से लिनक्स कर्नेल को कैश के बिना बेहतर प्रदर्शन के साथ रैंडम डिस्क आईओ की सेवा करने की स्वीकृति मिलती है। यह कैशिंग सभी डिस्क सामग्री पर लागू होती है, न कि केवल पृष्ठ फ़ाइल या सिस्टम बायनेरिज़ पर। फ्लैश मेमोरी आधारित डिवाइस सामान्यतः रैंडम आईओ के लिए एचडीडी स्पिन करने की तुलना में बहुत तेज होते हैं, लेकिन कम लाभ के साथ या अनुक्रमिक पढ़ने/लिखने में भी धीमे होते हैं। डिफ़ॉल्ट रूप से, फ्लैशकैच सभी पूर्ण ब्लॉकसाइज आईओ को कैश करता है, लेकिन अनुक्रमिक आईओ को अनदेखा करते हुए केवल यादृच्छिक आईओ को कैश करने के लिए कॉन्फ़िगर किया जा सकता है।[4]

इसी तरह की तकनीक माइक्रोसॉफ़्ट विंडोज़ में विंडोज विस्टा के बाद से रेडी बूस्ट के रूप में मौजूद है।

कार्यान्वयन

Flashcache को Linux कर्नेल के डिवाइस मैपर के ऊपर बनाया गया है। कैश की डेटा संरचना एक सेट-एसोसिएटिव हैश तालिका है, जिसमें ब्लॉक खोजने के लिए एक सेट के भीतर रैखिक जांच का उपयोग करके कैश को कई निश्चित आकार के सेट (बकेट) में विभाजित किया जाता है। डिवाइस मैपर लेयर सभी I/O रिक्वेस्ट को कैश लेयर में रिक्वेस्ट पास करने से पहले ब्लॉक साइज चंक्स में तोड़ देती है।[citation needed]

जब एक लिखित अनुरोध होता है, तो संबंधित कैश ब्लॉक को गंदा चिह्नित किया जाता है; गंदी कैश ब्लॉक पृष्ठभूमि में डिस्क पर आलसी ढंग से लिखे गए हैं। राइट-बैक पॉलिसी को नियंत्रित करने के लिए कुछ पैरामीटर हैं: गंदे-दहलीज, आलस्य और अन्य गंदे ब्लॉकों के साथ निकटता जो वापस लिखे जाने वाले हैं।[citation needed]

सीमाएं

फ़्लैश कैशे के कार्यान्वयन द्वारा लगाई गई कुछ सीमाएँ हैं:[citation needed]

परमाणुता
कैश ब्लॉक लेखन वर्तमान में गैर-परमाणु हैं।
ट्रिम समर्थन
एटीए ट्रिम (कंप्यूटिंग) कमांड फ्लैश मेमोरी को अनुकूलित करने के लिए अभी तक समर्थित नहीं हैं।
कैश प्रदूषण संरक्षण
फ्लैशकैच को उसके अनुरोधों को कैश करने से रोकने के लिए एक प्रक्रिया को गैर-कैचेबल के रूप में चिह्नित किया जा सकता है; हालाँकि, अगर एक प्रक्रिया जो खुद को गैर-कैचेबल के रूप में चिह्नित करती है, मर जाती है, तो फ्लैश कैश को साफ करने का कोई तरीका नहीं है।
संरेखण
डिवाइस मैपर पर भरोसा करने के परिणामस्वरूप कैशिंग प्रदर्शन संबंधी समस्याएं हुईं और राइट्स की कोई कैशिंग नहीं हुई जो कि 4 KiB के गुणक नहीं हैं। मुख्य रूप से, यह Xen हाइपरविजर को प्रभावित करता है। इस प्रकार, एन्हांसियो डिवाइस मैपर एकीकरण से दूर चला गया है, जो इष्टतम उपयोग के मामलों के लिए उच्च प्रदर्शन प्रदान करता है।[citation needed]
राइट-अराउंड रीड लेटेंसी प्रभाव
राइट-अराउंड मोड में उच्च स्थिरता के लिए सभी राइट्स कैश को बायपास करते हैं। वर्तमान कार्यान्वयन एसएसडी डिवाइस के माध्यम से पढ़ता है और फिर उन्हें वास्तविक पाठक तक पहुंचाता है। इसका मतलब यह है कि पहले से अनकैश किए गए ब्लॉक को हमेशा पहले एसएसडी डिवाइस में जाने की जरूरत होगी, जिससे लगातार आईओ लिखा जा सकेगा। फ़ेसबुक द्वारा उपयोग किए जाने वाले एंटरप्राइज़ एसएसडी या Highend PCIe उपकरणों पर कोई समस्या नहीं है, लेकिन निचले सिरे एसएसडी पर प्रदर्शन को कम करता है।
राइट-अराउंड रीड कैश वार्म-अप चरण
राइट-अराउंड मोड में फ्लैश कैश के पास ऑन-डिस्क पर कैश्ड पेजों की उम्र की तुलना करने के लिए कोई जानकारी नहीं है। (1) क्योंकि डिवाइस को फ्लैशकैच के बाहर माउंट किया जा सकता था (2) क्योंकि इस मोड में कोई भी लिखा हुआ ट्रैक नहीं किया जाता है। इसका परिणाम प्रत्येक वॉल्यूम सक्रियण (यानी: रिबूट) के बाद एक खाली कैश में होता है। जब तक सभी गर्म क्षेत्रों को कैश नहीं किया जाता तब तक प्रदर्शन कम हो जाएगा।

यह भी देखें

संदर्भ

  1. EnhanceIO: New Solid State Drive Caching For Linux
  2. EnhanceIO Open Source for Linux
  3. "Flash Cache | NetApp Documentation". docs.netapp.com (in English). Retrieved 2022-10-10.
  4. Mohan Srinivasan. "Flashcache : A Write Back Block Cache for Linux". GitHub.


बाहरी संबंध