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

From Vigyanwiki
No edit summary
No edit summary
Line 2: Line 2:
{{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>  
'''फ़्लैश कैश''',लिनक्स कर्नेल के लिए एक डिस्क [[कैश (कंप्यूटिंग)]] घटक है, जिसे प्रारम्भ में [[Facebook|फेसबुक]] द्वारा अप्रैल 2010 मे विकसित किया गया था और 2011 में मुक्त स्रोत के रूप में प्रस्तुत किया गया था। जनवरी 2013 से फ़्लैश कैश का एक फोर्क है, जिसे [[एन्हांसियो]] नाम दिया गया है और अमेरिकन संस्था 'एसटेक' द्वारा विकसित किया गया है।<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}}
'''फ़्लैश कैश कोलिनक्स कर्नेल के [[डिवाइस मैपर|उपकरण मैपर]] के ऊपर बना'''या गया है। कैश की डेटा संरचना एक सेट-एसोसिएटिव [[ हैश तालिका |हैश तालिका]] है, जिसमें ब्लॉक खोजने के लिए एक सेट के भीतर [[रैखिक जांच]] का उपयोग करके कैश को कई निश्चित आकार के सेट (बकेट) में विभाजित किया जाता है। उपकरण मैपर लेयर सभी इनपुट आउटपुट रिक्वेस्ट को कैश लेयर में रिक्वेस्ट पास करने से पहले ब्लॉक साइज चंक्स में तोड़ देती है।{{citation needed|date=December 2013}}


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


== यह भी देखें ==
== यह भी देखें ==
Line 43: Line 43:
* [http://lkml.indiana.edu/hypermail/linux/kernel/1306.1/01246.html Performance Comparison among EnhanceIO, bcache and dm-cache] ([[LKML]])
* [http://lkml.indiana.edu/hypermail/linux/kernel/1306.1/01246.html Performance Comparison among EnhanceIO, bcache and dm-cache] ([[LKML]])
* [https://www.phoronix.com/scan.php?page=news_item&px=MTM4ODA EnhanceIO, Bcache & DM-Cache Benchmarked]
* [https://www.phoronix.com/scan.php?page=news_item&px=MTM4ODA EnhanceIO, Bcache & DM-Cache Benchmarked]
* [https://www.facebook.com/notes/facebook-engineering/flashcache-at-facebook-from-2010-to-2013-and-beyond/10151725297413920 Flashcache at Facebook: From 2010 to 2013 and beyond]
* [https://www.facebook.com/notes/facebook-engineering/flashcache-at-facebook-from-2010-to-2013-and-beyond/10151725297413920 फ़्लैश कैश at Facebook: From 2010 to 2013 and beyond]
* [http://www.tomsitpro.com/articles/facebook-releases-flashcache-3-ssd-cache,1-1298.html Facebook Releases Flashcache 3.0] {{Webarchive|url=https://web.archive.org/web/20131220200944/http://www.tomsitpro.com/articles/facebook-releases-flashcache-3-ssd-cache,1-1298.html |date=2013-12-20 }}
* [http://www.tomsitpro.com/articles/facebook-releases-flashcache-3-ssd-cache,1-1298.html Facebook Releases फ़्लैश कैश 3.0] {{Webarchive|url=https://web.archive.org/web/20131220200944/http://www.tomsitpro.com/articles/facebook-releases-flashcache-3-ssd-cache,1-1298.html |date=2013-12-20 }}
[[Category: सॉलिड-स्टेट कैशिंग]] [[Category: लिनक्स कर्नेल से संबंधित सॉफ्टवेयर]]  
[[Category: सॉलिड-स्टेट कैशिंग]] [[Category: लिनक्स कर्नेल से संबंधित सॉफ्टवेयर]]  



Revision as of 08:39, 14 June 2023

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

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

संक्षिप्त विवरण

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

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

कार्यान्वयन

फ़्लैश कैश कोलिनक्स कर्नेल के उपकरण मैपर के ऊपर बनाया गया है। कैश की डेटा संरचना एक सेट-एसोसिएटिव हैश तालिका है, जिसमें ब्लॉक खोजने के लिए एक सेट के भीतर रैखिक जांच का उपयोग करके कैश को कई निश्चित आकार के सेट (बकेट) में विभाजित किया जाता है। उपकरण मैपर लेयर सभी इनपुट आउटपुट रिक्वेस्ट को कैश लेयर में रिक्वेस्ट पास करने से पहले ब्लॉक साइज चंक्स में तोड़ देती है।[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.


बाहरी संबंध