फ़्लैश कैश

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

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

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

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

कार्यान्वयन
फ़्लैश कैश कोलिनक्स कर्नेल के उपकरण मैपर के ऊपर बनाया गया है। कैश की डेटा संरचना साहचर्य हैश तालिका है, जिसमें ब्लॉक खोजने के लिए एक आकृति के भीतर रैखिक जांच का उपयोग करके कैश को कई निश्चित आकार के समूह (बकेट) में विभाजित किया जाता है। उपकरण मैपर परत सभी इनपुट आउटपुट अनुरोध को कैश परत में अनुरोध पास करने से पहले ब्लॉक आकार को कई भागों मे विभाजित करती है।

जब एक लिखित अनुरोध होता है, तो संबंधित कैश ब्लॉक को अस्वच्छ चिह्नित किया जाता है अस्वच्छ कैश ब्लॉक सतह में डिस्क पर सामान्य रूप से लिखे गए हैं। राइट-बैक नियम को नियंत्रित करने के लिए कुछ पैरामीटर हैं जैसे अस्वच्छ द्वार, निष्क्रयता और अन्य अस्वच्छ ब्लॉकों के साथ निकटता को वापस लिखे जाने वाले कई पैरामीटर होते हैं।

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


 * परमाणुकता
 * कैश ब्लॉक लेखन वर्तमान में गैर-परमाणु हैं।


 * ट्रिम समर्थन
 * एटीए ट्रिम (कंप्यूटिंग) कमांड फ्लैश मेमोरी को अनुकूलित करने के लिए अभी तक समर्थित नहीं हैं।


 * कैश प्रदूषण संरक्षण
 * फ्लैशकैस के अनुरोधों को कैश करने से रोकने के लिए एक प्रक्रिया को गैर-कैचेबल के रूप में चिह्नित किया जा सकता है। हालाँकि, यदि एक प्रक्रिया जो स्वयं को गैर-कैचेबल के रूप में चिह्नित करती है और नष्ट हो जाती है तो फ्लैश कैश को साफ करने का कोई तरीका नहीं होता है।


 * संरेखण
 * उपकरण मैपर पर विश्वास करने के परिणामस्वरूप कैशिंग प्रदर्शन संबंधी समस्याएं हुईं और राइट की कोई कैशिंग नहीं हुई है जो कि 4 KiB के गुणक नहीं हैं। मुख्य रूप से यह एक्सईएन हाइपरविजर को प्रभावित करता है। इस प्रकार, एन्हांसियो उपकरण मैपर एकीकरण से दूर चला गया है, जो इष्टतम उपयोग की स्थिति के लिए उच्च प्रदर्शन प्रदान करता है।


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


 * राइट-अराउंड रीड कैश वार्म-अप चरण
 * राइट-अराउंड मोड में फ्लैश कैश के पास ऑन-डिस्क पर कैश पेजों की उम्र की तुलना करने के लिए कोई जानकारी नहीं है।
 * (1) क्योंकि उपकरण को फ्लैशकैच के बाहर माउंट किया जा सकता है।
 * (2) क्योंकि इस मोड में कोई भी लिखा हुआ ट्रैक नहीं किया जाता है। इसका परिणाम प्रत्येक ध्वनि सक्रियण (अर्थात: रिबूट) के बाद एक रिक्त कैश में होता है। जब तक सभी गर्म क्षेत्रों को कैश नहीं किया जाता है तब तक प्रदर्शन कम हो जाता है।

यह भी देखें

 * बी.सी.ए
 * डीएम-कैश
 * कैश गतिवृद्धि सॉफ्टवेयर (इंटेल का उत्पाद)

बाहरी संबंध

 * Performance Comparison among EnhanceIO, bcache and dm-cache (LKML)
 * EnhanceIO, Bcache & DM-Cache Benchmarked
 * फ़्लैश कैश at Facebook: From 2010 to 2013 and beyond
 * Facebook Releases फ़्लैश कैश 3.0