कैश (कंप्यूटिंग): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Short description|Additional storage that enables faster access to main storage}}
{{Short description|Additional storage that enables faster access to main storage}}


[[कम्प्यूटिंग]] में, एक कैश ({{IPAc-en|audio=LL-Q1860 (eng)-Back ache-cache.wav|k|æ|ʃ}} {{respell|कैश}})<ref>
कम्प्यूटिंग में, '''कैश''' ({{IPAc-en|audio=LL-Q1860 (eng)-Back ache-cache.wav|k|æ|ʃ}} {{respell|कैश}})<ref>
{{cite web
{{cite web
|url=http://www.oxforddictionaries.com/definition/english/cache
|url=http://www.oxforddictionaries.com/definition/english/cache
Line 10: Line 10:
|publisher=Oxford Dictionaries
|publisher=Oxford Dictionaries
|work=Oxford Dictionaries  
|work=Oxford Dictionaries  
|access-date=2 August 2016}}</ref> एक हार्डवेयर या सॉफ़्टवेयर घटक है जो डेटा संग्रहीत करता है ताकि उस डेटा के भविष्य के अनुरोधों को तेज़ी से पूरा किया जा सके; कैश में संग्रहीत डेटा पहले की गणना या कहीं संग्रहीत डेटा की प्रतिलिपि का परिणाम हो सकता है। कैश हिट तब होता है जब अनुरोधित डेटा कैश में पाया जा सकता है, जबकि कैश मिस तब होता है जब यह नहीं हो सकता। कैश हिट को कैश से डेटा पढ़कर परोसा जाता है, जो किसी परिणाम की पुनर्गणना करने या धीमे डेटा स्टोर से पढ़ने की तुलना में तेज़ होता है; इस प्रकार, कैश से जितने अधिक अनुरोध किए जा सकते हैं, प्रणाली उतनी ही तेजी से कार्य करता है।<ref>{{Cite journal|last1=Zhong|first1=Liang|last2=Zheng|first2=Xueqian|last3=Liu|first3=Yong|last4=Wang|first4=Mengting|last5=Cao|first5=Yang|date=February 2020|title=Cache hit ratio maximization in device-to-device communications overlaying cellular networks|url=http://dx.doi.org/10.23919/jcc.2020.02.018|journal=China Communications|volume=17|issue=2|pages=232–238|doi=10.23919/jcc.2020.02.018|s2cid=212649328|issn=1673-5447}}</ref>
|access-date=2 August 2016}}</ref> हार्डवेयर या सॉफ़्टवेयर घटक है जो डेटा संग्रहीत करता है जिससे उस डेटा के भविष्य के अनुरोधों को तेज़ी से पूरा किया जा सके; कैश में संग्रहीत डेटा पहले की गणना या कहीं संग्रहीत डेटा की प्रतिलिपि का परिणाम हो सकता है। कैश हिट तब होता है जब अनुरोधित डेटा कैश में पाया जा सकता है, किन्तु कैश मिस तब होता है जब यह नहीं हो सकता है। कैश हिट को कैश से डेटा पढ़कर परोसा जाता है, जो किसी परिणाम की पुनर्गणना करने या धीमे डेटा स्टोर से पढ़ने की तुलना में तेज़ होता है; इस प्रकार, कैश से जितने अधिक अनुरोध किए जा सकते हैं, प्रणाली उतनी ही तेजी से कार्य करता है।<ref>{{Cite journal|last1=Zhong|first1=Liang|last2=Zheng|first2=Xueqian|last3=Liu|first3=Yong|last4=Wang|first4=Mengting|last5=Cao|first5=Yang|date=February 2020|title=Cache hit ratio maximization in device-to-device communications overlaying cellular networks|url=http://dx.doi.org/10.23919/jcc.2020.02.018|journal=China Communications|volume=17|issue=2|pages=232–238|doi=10.23919/jcc.2020.02.018|s2cid=212649328|issn=1673-5447}}</ref>
लागत प्रभावी होने और डेटा के कुशल उपयोग को सक्षम करने के लिए, कैश अपेक्षाकृत छोटा होना चाहिए। फिर भी, कैश ने कंप्यूटिंग के कई क्षेत्रों में खुद को सिद्ध किया है, क्योंकि विशिष्ट [[अनुप्रयोग प्रक्रिया सामग्री]] संदर्भ के उच्च स्तर के स्थानीयता के साथ डेटा का उपयोग करता है। इस तरह के एक्सेस पैटर्न अस्थायी क्षेत्र को प्रदर्शित करते हैं, जहां डेटा का अनुरोध किया गया है जिसे हाल ही में अनुरोध किया गया है, और [[स्मृति पता]] लोकेलिटी, जहां डेटा का अनुरोध किया गया है जो पहले से ही अनुरोध किए गए डेटा के पास भौतिक रूप से संग्रहीत है।
 
व्यय प्रभावी होने और डेटा के कुशल उपयोग को सक्षम करने के लिए, कैश अपेक्षाकृत छोटा होना चाहिए। फिर भी, कैश ने कंप्यूटिंग के कई क्षेत्रों में स्वयं को सिद्ध किया है, क्योंकि विशिष्ट [[अनुप्रयोग प्रक्रिया सामग्री]] संदर्भ के उच्च स्तर के स्थानीयता के साथ डेटा का उपयोग करता है। इस तरह के एक्सेस नमूना अस्थायी क्षेत्र को प्रदर्शित करते हैं, जहां डेटा का अनुरोध किया गया है जिसे हाल ही में अनुरोध किया गया है, और [[स्मृति पता]] लोकेलिटी, जहां डेटा का अनुरोध किया गया है जो पहले से ही अनुरोध किए गए डेटा के पास भौतिक रूप से संग्रहीत है।


== प्रेरणा ==
== प्रेरणा ==
आकार और गति के बीच एक अंतर्निहित व्यापार-बंद है (यह देखते हुए कि एक बड़ा संसाधन अधिक भौतिक दूरी का तात्पर्य है) लेकिन महंगी, प्रीमियम प्रौद्योगिकियों (जैसे [[स्टेटिक रैंडम-एक्सेस मेमोरी]]) बनाम सस्ती, आसानी से बड़े पैमाने पर उत्पादित वस्तुओं (जैसे) के बीच एक व्यापार-बंद भी है। [[DRAM|डी रैम]] या [[हार्ड डिस्क]] के रूप में)।
आकार और गति के बीच अंतर्निहित व्यापार-बंद है (यह देखते हुए कि बड़ा संसाधन अधिक भौतिक दूरी का तात्पर्य है) लेकिन बहुमूल्य, प्रीमियम प्रौद्योगिकियों (जैसे [[स्टेटिक रैंडम-एक्सेस मेमोरी]]) बनाम सस्ती, सरलता से बड़े पैमाने पर उत्पादित वस्तुओं (जैसे) के बीच व्यापार-बंद भी है। [[DRAM|डी रैम]] या [[हार्ड डिस्क]] के रूप में कैश द्वारा प्रदान किया गया [[डेटा बफ़र]] [[विलंबता (इंजीनियरिंग)]] और [[THROUGHPUT|थ्रोटपुट]] ([[बैंडविड्थ (कंप्यूटिंग)]]) में से एक या दोनों को लाभ देता है
 
कैश द्वारा प्रदान किया गया [[डेटा बफ़र]] [[विलंबता (इंजीनियरिंग)]] और [[THROUGHPUT|थ्रोटपुट]] ([[बैंडविड्थ (कंप्यूटिंग)]]) में से एक या दोनों को लाभ देता है: '''आकार और गति के बीच एक अंतर्निहित व्यापार-बंद है (यह देखते हुए कि एक बड़ा संसाधन अधिक भौतिक दूरी का तात्पर्य है) लेकिन महंगी, प्रीमियम प्रौद्योगिकियों (जैसे [[स्टेटिक रैंडम-एक्सेस मेमोरी]]) बनाम सस्ती, आसानी से बड़े पैमाने पर उत्पादित वस्तुओं (जैसे) के बीच एक व्यापार-बंद भी है। [[DRAM|डी रैम]] या [[हार्ड डिस्क]] के रूप में)।'''
 
कैश द्वारा प्रदान किया गया [[डेटा बफ़र]] [[विलंबता (इंजीनियरिंग)]] और [[THROUGHPUT|थ्रोटपुट]] ([[बैंडविड्थ (कंप्यूटिंग)]]) में से एक या दोनों को लाभ देता है:


=== विलंबता ===
=== विलंबता ===
एक बड़ा संसाधन पहुँच के लिए एक महत्वपूर्ण विलंबता उत्पन्न करता है{{snd}} उदा. एक आधुनिक 4 जी हर्ट्ज प्रोसेसर को डी रैम तक पहुँचने में सैकड़ों घड़ी चक्र लग सकते हैं। बड़े भाग में पढ़ने से यह कम हो जाता है, इस उम्मीद में कि बाद के पठन आस-पास के स्थानों से होंगे। भविष्यवाणी या स्पष्ट [[कैश प्रीफेचिंग]] यह भी अनुमान लगा सकता है कि भविष्य में रीड कहां से आएंगे और समय से पहले अनुरोध कर सकते हैं; यदि सही ढंग से किया जाता है तो विलंबता पूरी तरह से समाप्त हो जाती है।
बड़ा संसाधन पहुँच के लिए महत्वपूर्ण विलंबता उत्पन्न करता है{{snd}} उदाहरणː आधुनिक 4 जी हर्ट्ज प्रोसेसर को डी रैम तक पहुँचने में सैकड़ों घड़ी चक्र लग सकते हैं। बड़े भाग में पढ़ने से यह कम हो जाता है, इस आशा में कि बाद के पठन आस-पास के स्थानों से होंगे। भविष्यवाणी या स्पष्ट [[कैश प्रीफेचिंग|कैश पूर्वाभ्यास]] यह भी अनुमान लगा सकता है कि भविष्य में रीड कहां से आएंगे और समय से पहले अनुरोध कर सकते हैं; यदि सही ढंग से किया जाता है तो विलंबता पूरी तरह से समाप्त हो जाती है।


=== थ्रूपुट ===
=== थ्रूपुट ===
एक कैश का उपयोग भी अंतर्निहित संसाधन से उच्च थ्रूपुट के लिए अनुमति देता है, कई ठीक अनाज हस्तांतरण को बड़े, अधिक कुशल अनुरोधों में जोड़कर। [[डायनेमिक रैंडम-एक्सेस मेमोरी]] सर्किट के स्थितियों में, यह एक व्यापक डेटा बस के द्वारा परोसा जा सकता है। उदाहरण के लिए, 32-बिट [[पता स्थान]] में बाइट्स तक पहुँचने वाले प्रोग्राम पर विचार करें, लेकिन 128-बिट ऑफ-चिप डेटा बस द्वारा सेवा दी जा रही है; अलग-अलग अनकैश्ड बाइट एक्सेस कुल बैंडविड्थ के केवल 1/16 वें भाग का उपयोग करने की अनुमति देगा, और डेटा मूवमेंट का 80% डेटा के अतिरिक्त मेमोरी एड्रेस होगा। बड़ी मात्रा में पढ़ने से पता सूचना प्रसारित करने के लिए आवश्यक बैंडविड्थ का अंश कम हो जाता है।
कैश का उपयोग भी अंतर्निहित संसाधन से उच्च थ्रूपुट के लिए अनुमति देता है, कई ठीक अनाज हस्तांतरण को बड़े, अधिक कुशल अनुरोधों में जोड़कर। [[डायनेमिक रैंडम-एक्सेस मेमोरी]] सर्किट के स्थितियों में, यह व्यापक डेटा बस के द्वारा परोसा जा सकता है। उदाहरण के लिए, 32-बिट [[पता स्थान]] में बाइट्स तक पहुँचने वाले प्रोग्राम पर विचार करें, लेकिन 128-बिट ऑफ-चिप डेटा बस द्वारा सेवा दी जा रही है; अलग-अलग अनकैश्ड बाइट एक्सेस कुल बैंडविड्थ के केवल 1/16 वें भाग का उपयोग करने की अनुमति देगा, और डेटा की आवाजाही का 80% डेटा के अतिरिक्त मेमोरी पता होगा। बड़ी मात्रा में पढ़ने से पता सूचना प्रसारित करने के लिए आवश्यक बैंडविड्थ का अंश कम हो जाता है।
 
== ऑपरेशन ==
हार्डवेयर फिर से उपयोग किए जाने वाले डेटा के अस्थायी भंडारण के लिए मेमोरी के ब्लॉक (डेटा भण्डारण) के रूप में कैश को प्रयुक्त करता है। [[सेंट्रल प्रोसेसिंग यूनिट]] (सीपीयू), [[ठोस राज्य ड्राइव]] (एसएसडी) और [[हार्ड डिस्क ड्राइव]] (एचडीडी) में अधिकांशतः हार्डवेयर-आधारित कैश सम्मिलित होता है, किन्तु [[वेब ब्राउज़र]] और [[वेब सर्वर]] सामान्यतः सॉफ्टवेयर कैशिंग पर विश्वास करते हैं।


== {{Anchor|CACHE-HIT|CACHE-MISS}}ऑपरेशन ==
कैश प्रविष्टियों के पूल से बना है। प्रत्येक प्रविष्टि में संबद्ध डेटा होता है, जो किसी बैकिंग स्टोर में उसी डेटा की प्रति होती है। प्रत्येक प्रविष्टि में टैग भी होता है, जो बैकिंग स्टोर में उस डेटा की पहचान को निर्दिष्ट करता है जिसकी प्रविष्टि प्रति है। टैगिंग एक साथ कैश-उन्मुख एल्गोरिदम को अंतर रिले हस्तक्षेप के बिना बहुस्तरीय फैशन में कार्य करने की अनुमति देता है।
हार्डवेयर फिर से उपयोग किए जाने वाले डेटा के अस्थायी भंडारण के लिए मेमोरी के ब्लॉक (डेटा स्टोरेज) के रूप में कैश को प्रयुक्त करता है। [[सेंट्रल प्रोसेसिंग यूनिट]] (सीपीयू), [[ठोस राज्य ड्राइव]] (एसएसडी) और [[हार्ड डिस्क ड्राइव]] (एचडीडी) में अधिकांशतः हार्डवेयर-आधारित कैश सम्मिलित होता है, जबकि [[वेब ब्राउज़र]] और [[वेब सर्वर]] सामान्यतः सॉफ्टवेयर कैशिंग पर विश्वास करते हैं।


एक कैश प्रविष्टियों के पूल से बना है। प्रत्येक प्रविष्टि में संबद्ध डेटा होता है, जो किसी बैकिंग स्टोर में उसी डेटा की एक प्रति होती है। प्रत्येक प्रविष्टि में एक टैग भी होता है, जो बैकिंग स्टोर में उस डेटा की पहचान को निर्दिष्ट करता है जिसकी प्रविष्टि एक प्रति है। टैगिंग एक साथ कैश-उन्मुख एल्गोरिदम को अंतर रिले हस्तक्षेप के बिना बहुस्तरीय फैशन में कार्य करने की अनुमति देता है।
जब कैश क्लाइंट ( सीपीयू, वेब ब्राउज़र, [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]]) को बैकिंग स्टोर में उपस्थित अनुमानित डेटा तक पहुंचने की आवश्यकता होती है, तो यह पहले कैश की जांच करता है। यदि वांछित डेटा से मेल खाने वाले टैग के साथ कोई प्रविष्टि मिल सकती है, तो इसके अतिरिक्त प्रविष्टि में उपस्थित डेटा का उपयोग किया जाता है। इस स्थिति को कैश हिट के रूप में जाना जाता है। उदाहरण के लिए, वेब ब्राउज़र प्रोग्राम डिस्क पर अपने स्थानीय कैश को यह देखने के लिए देख सकता है कि क्या उसके पास किसी विशेष [[URL|यूआरएल]] पर वेब पेज की सामग्री की स्थानीय प्रति है। इस उदाहरण में, यूआरएल टैग है, और वेब पेज की सामग्री डेटा है। कैशे हिट में परिणत होने वाले [[पहूंच समय]] प्रतिशत कैश के 'हिट रेट' या 'हिट अनुपात' के रूप में जाना जाता है।


जब कैश क्लाइंट (एक सीपीयू, वेब ब्राउज़र, [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]]) को बैकिंग स्टोर में उपस्थित अनुमानित डेटा तक पहुंचने की आवश्यकता होती है, तो यह पहले कैश की जांच करता है। यदि वांछित डेटा से मेल खाने वाले टैग के साथ कोई प्रविष्टि मिल सकती है, तो इसके अतिरिक्त प्रविष्टि में उपस्थित डेटा का उपयोग किया जाता है। इस स्थिति को कैश हिट के रूप में जाना जाता है। उदाहरण के लिए, एक वेब ब्राउज़र प्रोग्राम डिस्क पर अपने स्थानीय कैश को यह देखने के लिए देख सकता है कि क्या उसके पास किसी विशेष [[URL|यूआरएल]] पर वेब पेज की सामग्री की स्थानीय प्रति है। इस उदाहरण में, यूआरएल टैग है, और वेब पेज की सामग्री डेटा है। कैशे हिट में परिणत होने वाले [[पहूंच समय]] प्रतिशत कैश के 'हिट रेट' या 'हिट अनुपात' के रूप में जाना जाता है।
वैकल्पिक स्थिति, जब कैश की जाँच की जाती है और वांछित टैग के साथ कोई प्रविष्टि नहीं पाई जाती है, को कैश मिस के रूप में जाना जाता है। इसके लिए बैकिंग स्टोर से डेटा की अधिक बहुमूल्य पहुंच की आवश्यकता होती है। एक बार अनुरोधित डेटा पुनर्प्राप्त हो जाने के बाद, इसे सामान्यतः कैश में कॉपी किया जाता है, जो अगली पहुंच के लिए तैयार होता है।


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


कैश मिस के समय, नए पुनर्प्राप्त डेटा के लिए जगह बनाने के लिए कुछ अन्य पहले से उपस्थित कैश प्रविष्टि को हटा दिया जाता है। बदलने के लिए प्रविष्टि का चयन करने के लिए उपयोग किए जाने वाले ह्यूरिस्टिक (कंप्यूटर विज्ञान) को [[कैश एल्गोरिथ्म]] के रूप में जाना जाता है। एक लोकप्रिय प्रतिस्थापन नीति, कम से कम हाल ही में उपयोग की गई (एल आरयू), सबसे पुरानी प्रविष्टि को बदल देती है, वह प्रविष्टि जिसे किसी अन्य प्रविष्टि की तुलना में हाल ही में पाया किया गया था (कैश एल्गोरिथम देखें)। अधिक कुशल कैशिंग एल्गोरिदम संग्रहीत सामग्री के आकार के साथ-साथ कैश और बैकिंग स्टोर दोनों के लिए एक्सेस-टाइम और थ्रूपुट के विरुद्ध उपयोग-हिट आवृत्ति की गणना करता है। यह बड़ी मात्रा में डेटा, लंबी विलंबता और धीमे थ्रुपुट के लिए अच्छी तरह से काम करता है, जैसे कि हार्ड ड्राइव और नेटवर्क के साथ अनुभव किया जाता है, लेकिन सीपीयू कैश के अन्दर उपयोग के लिए कुशल नहीं है।{{Citation needed|date=May 2007}}




=== {{Anchor|Dirty|WRITEPOLICIES|WRITE-BACK|WRITE-BEHIND|WRITE-THROUGH|WRITE-AROUND}}लेखन नीतियां ===
=== लेखन नीतियां ===
{{Main|कैश सुसंगतता}}
{{Main|कैश सुसंगतता}}
[[File:Write-through with no-write-allocation.svg|thumb|नो-राइट आवंटन वाला राइट-थ्रू कैश]]
[[File:Write-through with no-write-allocation.svg|thumb|नो-राइट आवंटन वाला राइट-थ्रू कैश]]
जब कोई प्रणाली कैश करने के लिए डेटा लिखता है, तो उसे किसी बिंदु पर उस डेटा को बैकिंग स्टोर पर भी लिखना चाहिए। इस लेखन के समय को लेखन नीति के रूप में जाना जाता है। दो बुनियादी लेखन दृष्टिकोण हैं:<ref>{{Cite web|url=https://www.linuxjournal.com/article/7105|title=Understanding Caching|last=Bottomley|first=James|date=2004-01-01|website=Linux Journal|access-date=2019-10-01}}</ref>
जब कोई प्रणाली कैश करने के लिए डेटा लिखता है, तो उसे किसी बिंदु पर उस डेटा को बैकिंग स्टोर पर भी लिखना चाहिए। इस लेखन के समय को लेखन नीति के रूप में जाना जाता है। दो मूलभूत लेखन दृष्टिकोण हैं:<ref>{{Cite web|url=https://www.linuxjournal.com/article/7105|title=Understanding Caching|last=Bottomley|first=James|date=2004-01-01|website=Linux Journal|access-date=2019-10-01}}</ref>
* राइट-थ्रू: राइट को कैश और बैकिंग स्टोर दोनों के लिए सिंक्रोनाइज़ किया जाता है।
* राइट-थ्रू: राइट को कैश और बैकिंग स्टोर दोनों के लिए सिंक्रोनाइज़ किया जाता है।
* राइट-बैक: प्रारंभ में, लेखन केवल कैश के लिए किया जाता है। बैकिंग स्टोर को लिखना तब तक के लिए स्थगित कर दिया जाता है जब तक कि संशोधित सामग्री को दूसरे कैश ब्लॉक द्वारा प्रतिस्थापित नहीं किया जाता है।
* राइट-बैक: प्रारंभ में, लेखन केवल कैश के लिए किया जाता है। बैकिंग स्टोर को लिखना तब तक के लिए स्थगित कर दिया जाता है जब तक कि संशोधित सामग्री को दूसरे कैश ब्लॉक द्वारा प्रतिस्थापित नहीं किया जाता है।


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


अन्य नीतियां भी डेटा राइट-बैक को ट्रिगर कर सकती हैं। क्लाइंट कैश में डेटा में कई बदलाव कर सकता है, और फिर कैश को डेटा वापस लिखने के लिए स्पष्ट रूप से सूचित कर सकता है।
अन्य नीतियां भी डेटा राइट-बैक को ट्रिगर कर सकती हैं। क्लाइंट कैश में डेटा में कई बदलाव कर सकता है, और फिर कैश को डेटा वापस लिखने के लिए स्पष्ट रूप से सूचित कर सकता है।
Line 53: Line 51:
यह इन दो दृष्टिकोणों द्वारा परिभाषित किया गया है:
यह इन दो दृष्टिकोणों द्वारा परिभाषित किया गया है:


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


Line 65: Line 63:
|publisher=Elsevier
|publisher=Elsevier
|isbn=978-0-12-383872-8
|isbn=978-0-12-383872-8
|pages=B–12}}</ref>
|pages=B–12}}</ref> राइट-बैक कैश एक ही स्थान पर बाद में लिखने (या यहां तक ​​​​कि पढ़ने) की आशा करते हुए लिखने के आवंटन का उपयोग करता है, जिसे अब कैश किया गया है।
* एक राइट-बैक कैश एक ही स्थान पर बाद में लिखने (या यहां तक ​​​​कि पढ़ने) की उम्मीद करते हुए लिखने के आवंटन का उपयोग करता है, जिसे अब कैश किया गया है।
* राइट-थ्रू कैश नो-राइट आवंटन का उपयोग करता है। यहां, बाद के लेखन का कोई लाभ नहीं है, क्योंकि उन्हें अभी भी बैकिंग स्टोर पर सीधे लिखे जाने की आवश्यकता है।
* राइट-थ्रू कैश नो-राइट आवंटन का उपयोग करता है। यहां, बाद के लेखन का कोई लाभ नहीं है, क्योंकि उन्हें अभी भी बैकिंग स्टोर पर सीधे लिखे जाने की आवश्यकता है।


Line 75: Line 72:
{{main |मेमोरी पेजिंग#पेज रिप्लेसमेंट तकनीक}}
{{main |मेमोरी पेजिंग#पेज रिप्लेसमेंट तकनीक}}


कैश रीड मिस पर,
कैश रीड मिस पर,[[मांग पेजिंग]] पॉलिसी वाले कैश बैकिंग स्टोर से न्यूनतम राशि पढ़ते हैं। उदाहरण के लिए, डिमांड-पेजिंग वर्चुअल मेमोरी डिस्क से रैम में डिस्क कैश में वर्चुअल मेमोरी (अधिकांशतः 4 के बाइट्स) का पेज पढ़ती है। उदाहरण के लिए, सामान्य सीपीयू डी रैम से एल2 कैश में 128 बाइट्स की एल2 कैश लाइन पढ़ता है, और एल2 कैश से एल1 कैश में 64 बाइट्स की एल1 कैश लाइन पढ़ता है।
 
[[मांग पेजिंग]] पॉलिसी वाले कैश बैकिंग स्टोर से न्यूनतम राशि पढ़ते हैं।
 
उदाहरण के लिए, डिमांड-पेजिंग वर्चुअल मेमोरी डिस्क से रैम में डिस्क कैश में वर्चुअल मेमोरी (अधिकांशतः 4 के बाइट्स) का एक पेज पढ़ती है।
 
उदाहरण के लिए, एक सामान्य सीपीयू डी रैम से एल2 कैश में 128 बाइट्स की एक एल2 कैश लाइन पढ़ता है, और एल2 कैश से एल1 कैश में 64 बाइट्स की एक एल1 कैश लाइन पढ़ता है।


[[प्रीफ़ेच इनपुट कतार]] के साथ कैश
[[प्रीफ़ेच इनपुट कतार|प्रीफ़ेच इनपुट लाइन]] के साथ कैश या अधिक सामान्य अग्रिम पेजिंग नीति आगे बढ़ें —वे न केवल अनुरोध किए गए चंक को पढ़ते हैं, बल्कि अनुमान लगाते हैं कि शीघ्र ही अगले चंक या दो की आवश्यकता होगी, और इसलिए उस डेटा को समय से पहले कैश में प्रीफ़ेच कर लेते हैं। प्रत्याशित पेजिंग विशेष रूप से सहायक है जब बैकिंग स्टोर में पहले खंड को पढ़ने के लिए लंबी विलंबता होती है और [[डिस्क भंडारण]] और डीआरएएम जैसे अगले कुछ भागो को अनुक्रमिक रूप से पढ़ने के लिए बहुत कम समय होता है। तो कुछ ऑपरेटिंग प्रणाली [[लोडर (कंप्यूटिंग)]] के साथ आगे बढ़ते हैं जो हमेशा संपूर्ण निष्पादन योग्य को रैम में प्री-लोड करता है।कुछ कैश और भी आगे बढ़ जाते हैं, न केवल पूरी फ़ाइल को प्री-लोड करते हैं, बल्कि अन्य संबंधित फ़ाइलों को भी लोड करना प्रारंभ करते हैं, जिनका शीघ्र ही अनुरोध किया जा सकता है, जैसे कि [[prefetcher|पूर्ववर्ती]] से जुड़ा [[पेज कैश]] या [[लिंक प्रीफेचिंग]] से जुड़ा [[कैशिंग|कैशिंग होता है ।]]


या अधिक सामान्य अग्रिम पेजिंग नीति
==हार्डवेयर कैश के उदाहरण ==
 
आगे बढ़ें—वे न केवल अनुरोध किए गए चंक को पढ़ते हैं, बल्कि अनुमान लगाते हैं कि जल्द ही अगले चंक या दो की आवश्यकता होगी, और इसलिए उस डेटा को समय से पहले कैश में प्रीफ़ेच कर लेते हैं।
 
प्रत्याशित पेजिंग विशेष रूप से सहायक है
 
जब बैकिंग स्टोर में पहले खंड को पढ़ने के लिए लंबी विलंबता होती है और [[डिस्क भंडारण]] और डीआरएएम जैसे अगले कुछ भागो को अनुक्रमिक रूप से पढ़ने के लिए बहुत कम समय होता है।
 
कुछ ऑपरेटिंग प्रणाली एक [[लोडर (कंप्यूटिंग)]] के साथ आगे बढ़ते हैं जो हमेशा संपूर्ण निष्पादन योग्य को रैम में प्री-लोड करता है।
 
कुछ कैश और भी आगे बढ़ जाते हैं, न केवल पूरी फ़ाइल को प्री-लोड करते हैं, बल्कि अन्य संबंधित फ़ाइलों को भी लोड करना प्रारंभ करते हैं, जिनका जल्द ही अनुरोध किया जा सकता है, जैसे कि [[prefetcher|पूर्ववर्ती]] से जुड़ा [[पेज कैश]] या [[लिंक प्रीफेचिंग]] से जुड़ा [[कैशिंग]]
 
=={{anchor|HARDWARE}}हार्डवेयर कैश के उदाहरण ==


=== सीपीयू कैश ===
=== सीपीयू कैश ===
{{Main|सीपीयू कैश}}
{{Main|सीपीयू कैश}}
[[CPU|सीपीयू]] पर या उसके करीब की छोटी यादें बहुत बड़ी मुख्य मेमोरी की तुलना में तेजी से काम कर सकती हैं।<ref>{{Cite journal |last1=Su |first1=Chao |last2=Zeng |first2=Qingkai |date=2021-06-10 |editor-last=Nicopolitidis |editor-first=Petros |title=Survey of CPU Cache-Based Side-Channel Attacks: Systematic Analysis, Security Models, and Countermeasures |journal=Security and Communication Networks |language=en |volume=2021 |pages=1–15 |doi=10.1155/2021/5559552 |issn=1939-0122|doi-access=free }}</ref> 1980 के दशक के बाद से अधिकांश सीपीयू ने एक या अधिक कैश का उपयोग किया है, कभी-कभी सीपीयू कैश # मल्टी-लेवल कैश; आधुनिक हाई-एंड [[एंबेडेड कंप्यूटिंग]], [[डेस्कटॉप कंप्यूटर]] और सर्वर [[माइक्रोप्रोसेसर]]ों में छह प्रकार के कैश (स्तरों और कार्यों के बीच) हो सकते हैं।<ref>{{cite web|title=Intel Broadwell Core i7 5775C '128MB L4 Cache' Gaming Behemoth and Skylake Core i7 6700K Flagship Processors Finally Available In Retail|date=25 September 2015|url=https://wccftech.com/intel-broadwell-core-i7-5775c-128mb-l4-cache-and-skylake-core-i7-6700k-flagship-processors-available-retail/}}Mentions L4 cache. Combined with separate I-Cache and TLB, this brings the total 'number of caches (levels+functions) to 6</ref> एक विशिष्ट फ़ंक्शन वाले कैश के उदाहरण हैं [[डी-कैश]] और [[मैं-कैश]] और [[मेमोरी प्रबंधन इकाई]] के लिए [[अनुवाद लुकसाइड बफर]] होते है
[[CPU|सीपीयू]] पर या उसके करीब की छोटी यादें बहुत बड़ी मुख्य मेमोरी की तुलना में तेजी से काम कर सकती हैं।<ref>{{Cite journal |last1=Su |first1=Chao |last2=Zeng |first2=Qingkai |date=2021-06-10 |editor-last=Nicopolitidis |editor-first=Petros |title=Survey of CPU Cache-Based Side-Channel Attacks: Systematic Analysis, Security Models, and Countermeasures |journal=Security and Communication Networks |language=en |volume=2021 |pages=1–15 |doi=10.1155/2021/5559552 |issn=1939-0122|doi-access=free }}</ref> 1980 के दशक के बाद से अधिकांश सीपीयू ने एक या अधिक कैश का उपयोग किया है, कभी-कभी सीपीयू कैश मल्टी-लेवल कैश; आधुनिक हाई-एंड [[एंबेडेड कंप्यूटिंग]], [[डेस्कटॉप कंप्यूटर]] और सर्वर [[माइक्रोप्रोसेसर]] में छह प्रकार के कैश (स्तरों और कार्यों के बीच) हो सकते हैं।<ref>{{cite web|title=Intel Broadwell Core i7 5775C '128MB L4 Cache' Gaming Behemoth and Skylake Core i7 6700K Flagship Processors Finally Available In Retail|date=25 September 2015|url=https://wccftech.com/intel-broadwell-core-i7-5775c-128mb-l4-cache-and-skylake-core-i7-6700k-flagship-processors-available-retail/}}Mentions L4 cache. Combined with separate I-Cache and TLB, this brings the total 'number of caches (levels+functions) to 6</ref> विशिष्ट फलन वाले कैश के उदाहरण हैं [[डी-कैश]] और [[मैं-कैश]] और [[मेमोरी प्रबंधन इकाई]] के लिए [[अनुवाद लुकसाइड बफर]] होते है


=== {{Anchor|GPU}}जीपीयू कैश ===
=== जीपीयू कैश ===
पहले के [[ग्राफ़िक्स प्रोसेसिंग युनिट]] (जीपीयू) में अधिकांशतः सीमित रीड-ओनली [[बनावट कैश]] होते थे, और 2डी [[कैश सुसंगतता]] को बेहतर बनाने के लिए [[मोर्टन आदेश]] [[झुर्रीदार बनावट]] प्रस्तुत किया। कैश की कमी से प्रदर्शन पर भारी असर पड़ेगा, उदा। अगर [[mipmapping|मिपमैपिंग]] का उपयोग नहीं किया गया था। बनावट डेटा के लिए 32-बिट (और व्यापक) स्थानान्तरण का लाभ उठाने के लिए कैशिंग महत्वपूर्ण था, जो अधिकांशतः प्रति पिक्सेल 4 बिट जितना छोटा होता था, मनमाने ढंग से [[यूवी निर्देशांक]] और [[उलटा बनावट मानचित्रण]] में [[परिप्रेक्ष्य परिवर्तन]]ों द्वारा जटिल पैटर्न में अनुक्रमित किया जाता था।
पहले के [[ग्राफ़िक्स प्रोसेसिंग युनिट]] (जीपीयू) में अधिकांशतः सीमित रीड-ओनली [[बनावट कैश]] होते थे, और 2डी [[कैश सुसंगतता]] को बेहतर बनाने के लिए [[मोर्टन आदेश]] [[झुर्रीदार बनावट]] प्रस्तुत किया। कैश की कमी से प्रदर्शन पर भारी असर पड़ेगा, उदाहरणː यदि [[mipmapping|मिपमैपिंग]] का उपयोग नहीं किया गया था। बनावट डेटा के लिए 32-बिट (और व्यापक) स्थानान्तरण का लाभ उठाने के लिए कैशिंग महत्वपूर्ण था, जो अधिकांशतः प्रति पिक्सेल 4 बिट जितना छोटा होता था, इच्छानुसार ढंग से [[यूवी निर्देशांक]] और [[उलटा बनावट मानचित्रण]] में [[परिप्रेक्ष्य परिवर्तन]] द्वारा जटिल नमूना में अनुक्रमित किया जाता था।


जीपीयू के उन्नत होने के साथ (विशेष रूप से [[जीपीजीपीयू]] कंप्यूट [[शेडर]]्स के साथ) उन्होंने उत्तरोत्तर बड़े और तेजी से सामान्य कैश विकसित किए हैं, जिसमें शेडर्स के लिए [[निर्देश कैश]] सम्मिलित हैं, सीपीयू कैश के साथ तेजी से सामान्य कार्यक्षमता प्रदर्शित करते हैं। उदाहरण के लिए, जीई फाॅर्स 200 सीरीज़ आर्किटेक्चर जीपीयूएसमें एल2 कैश की सुविधा नहीं थी, जबकि फर्मी (माइक्रोआर्किटेक्चर) जीपीयूए में 768 किलोबाइट तक का अंतिम-स्तरीय कैश है, [[केप्लर (माइक्रोआर्किटेक्चर)]] GPU में 1536 किलोबाइट तक का अंतिम-स्तरीय कैश है, और [[मैक्सवेल (माइक्रोआर्किटेक्चर)]] जीपीयू में 2048 केबी तक का अंतिम-स्तरीय कैश है। ये कैश थ्रेड्स और [[परमाणु संचालन]] के बीच [[तुल्यकालन आदिम]] और सीपीयू-स्टाइल मेमोरी मैनेजमेंट यूनिट के साथ इंटरफेस को हैंडल करने के लिए विकसित हुए हैं।
जीपीयू के उन्नत होने के साथ (विशेष रूप से [[जीपीजीपीयू]] कंप्यूट [[शेडर]] के साथ) उन्होंने उत्तरोत्तर बड़े और तेजी से सामान्य कैश विकसित किए हैं, जिसमें शेडर्स के लिए [[निर्देश कैश]] सम्मिलित हैं, सीपीयू कैश के साथ तेजी से सामान्य कार्यक्षमता प्रदर्शित करते हैं। उदाहरण के लिए, जीई फाॅर्स 200 सीरीज़ वास्तुकला जीपीयूएसमें एल2 कैश की सुविधा नहीं थी, किन्तु फर्मी (माइक्रोवास्तुकला) जीपीयूए में 768 किलोबाइट तक का अंतिम-स्तरीय कैश है, [[केप्लर (माइक्रोआर्किटेक्चर)|केप्लर (माइक्रोवास्तुकला)]] जीपीयू में 1536 किलोबाइट तक का अंतिम-स्तरीय कैश है, और [[मैक्सवेल (माइक्रोआर्किटेक्चर)|मैक्सवेल (माइक्रोवास्तुकला)]] जीपीयू में 2048 केबी तक का अंतिम-स्तरीय कैश है। ये कैश थ्रेड्स और [[परमाणु संचालन]] के बीच [[तुल्यकालन आदिम]] और सीपीयू-स्टाइल मेमोरी मैनेजमेंट यूनिट के साथ इंटरफेस को हैंडल करने के लिए विकसित हुए हैं।


=== डीएसपी ===
=== डीएसपी ===
[[डिजिटल सिग्नल प्रोसेसर]] इसी तरह वर्षों से सामान्यीकृत हैं। पहले के डिजाइनों में [[प्रत्यक्ष मेमोरी एक्सेस]] द्वारा खिलाई गई [[स्क्रैचपैड मेमोरी]] का उपयोग किया जाता था, लेकिन [[क्वालकॉम हेक्सागोन]] जैसे आधुनिक डीएसपी में अधिकांशतः सीपीयू में कैश का एक समान सेट सम्मिलित होता है (उदाहरण के लिए साझा एल2, स्प्लिट एल1 आई-कैश और डी-कैश के साथ [[संशोधित हार्वर्ड वास्तुकला]]) है।<ref>{{cite web|title=qualcom Hexagon DSP SDK overview|url=https://developer.qualcomm.com/software/hexagon-dsp-sdk/dsp-processor}}</ref>
[[डिजिटल सिग्नल प्रोसेसर]] इसी तरह वर्षों से सामान्यीकृत हैं। पहले के डिजाइनों में [[प्रत्यक्ष मेमोरी एक्सेस]] द्वारा खिलाई गई [[स्क्रैचपैड मेमोरी]] का उपयोग किया जाता था, लेकिन [[क्वालकॉम हेक्सागोन]] जैसे आधुनिक डीएसपी में अधिकांशतः सीपीयू में कैश का समान सेट सम्मिलित होता है (उदाहरण के लिए साझा एल2, स्प्लिट एल1 आई-कैश और डी-कैश के साथ [[संशोधित हार्वर्ड वास्तुकला]]) है।<ref>{{cite web|title=qualcom Hexagon DSP SDK overview|url=https://developer.qualcomm.com/software/hexagon-dsp-sdk/dsp-processor}}</ref>
 
 
=== अनुवाद लुकसाइड बफर ===
=== अनुवाद लुकसाइड बफर ===
{{Main|अनुवाद लुकसाइड बफर}}
{{Main|अनुवाद लुकसाइड बफर}}
एक मेमोरी मैनेजमेंट यूनिट (एमएमयू) जो मुख्य मेमोरी से पृष्ठ तालिका प्रविष्टियां प्राप्त करती है, में एक विशेष कैश होता है, जिसका उपयोग [[आभासी पता]] के परिणामों को भौतिक एड्रेस ट्रांसलेशन में रिकॉर्ड करने के लिए किया जाता है। इस विशेष कैश को ट्रांसलेशन लुकसाइड बफर (टी एल बी) कहा जाता है।<ref>{{cite web
मेमोरी मैनेजमेंट यूनिट (एमएमयू) जो मुख्य मेमोरी से पृष्ठ तालिका प्रविष्टियां प्राप्त करती है, में विशेष कैश होता है, जिसका उपयोग [[आभासी पता]] के परिणामों को भौतिक एड्रेस ट्रांसलेशन में रिकॉर्ड करने के लिए किया जाता है। इस विशेष कैश को ट्रांसलेशन लुकसाइड बफर (टी एल बी) कहा जाता है।<ref>{{cite web
  | url = http://cseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture7.pdf
  | url = http://cseweb.ucsd.edu/classes/su09/cse120/lectures/Lecture7.pdf
  | title = Lecture 7: Memory Management
  | title = Lecture 7: Memory Management
Line 121: Line 98:
  | author = Frank Uyeda | publisher = UC San Diego
  | author = Frank Uyeda | publisher = UC San Diego
  }}</ref>
  }}</ref>
== इन-नेटवर्क कैश ==
== इन-नेटवर्क कैश ==


=== सूचना-केंद्रित नेटवर्किंग ===
=== सूचना-केंद्रित नेटवर्किंग ===
सूचना-केंद्रित नेटवर्किंग (आईसीएन) एक होस्ट-केंद्रित प्रतिमान से दूर [[इंटरनेट]] बुनियादी ढांचे को विकसित करने के लिए एक दृष्टिकोण है, जो एक नेटवर्क आर्किटेक्चर के लिए स्थायी कनेक्टिविटी और [[एंड-टू-एंड सिद्धांत]] पर आधारित है जिसमें फोकल प्वाइंट की पहचान की गई जानकारी (या सामग्री या डेटा)। आईसीएन में नोड्स की अंतर्निहित कैशिंग क्षमता के कारण, इसे कैश के एक ढीले जुड़े नेटवर्क के रूप में देखा जा सकता है, जिसकी कैशिंग नीतियों की अनूठी आवश्यकताएं हैं। चुकीं, सर्वव्यापी सामग्री कैशिंग अनधिकृत पहुंच के खिलाफ सामग्री सुरक्षा के लिए चुनौती प्रस्तुत करती है, जिसके लिए अतिरिक्त देखभाल और समाधान की आवश्यकता होती है।<ref>{{cite journal|author=Bilal, Muhammad|display-authors=etal|title=Secure Distribution of Protected Content in Information-Centric Networking|journal=IEEE Systems Journal |pages=1–12|arxiv=1907.11717|year=2019|volume=14|issue=2|doi=10.1109/JSYST.2019.2931813|bibcode=2020ISysJ..14.1921B|s2cid=198967720}}</ref>
सूचना-केंद्रित नेटवर्किंग (आईसीएन) होस्ट-केंद्रित प्रतिमान से दूर [[इंटरनेट]] मूलभूत ढांचे को विकसित करने के लिए दृष्टिकोण है, जो नेटवर्क वास्तुकला के लिए स्थायी कनेक्टिविटी और [[एंड-टू-एंड सिद्धांत]] पर आधारित है जिसमें फोकल प्वाइंट की पहचान की गई जानकारी (या सामग्री या डेटा)। आईसीएन में नोड्स की अंतर्निहित कैशिंग क्षमता के कारण, इसे कैश के ढीले जुड़े नेटवर्क के रूप में देखा जा सकता है, जिसकी कैशिंग नीतियों की अनूठी आवश्यकताएं हैं। चुकीं, सर्वव्यापी सामग्री कैशिंग अनधिकृत पहुंच के खिलाफ सामग्री सुरक्षा के लिए चुनौती प्रस्तुत करती है, जिसके लिए अतिरिक्त देखभाल और समाधान की आवश्यकता होती है।<ref>{{cite journal|author=Bilal, Muhammad|display-authors=etal|title=Secure Distribution of Protected Content in Information-Centric Networking|journal=IEEE Systems Journal |pages=1–12|arxiv=1907.11717|year=2019|volume=14|issue=2|doi=10.1109/JSYST.2019.2931813|bibcode=2020ISysJ..14.1921B|s2cid=198967720}}</ref>


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


==== नीतियां ====
==== नीतियां ====


=== समय जागरूक कम से कम हाल ही में प्रयोग किया (टीएलआरयू) ===
=== समय जागरूक कम से कम हाल ही में प्रयोग किया (टीएलआरयू) ===
द टाइम अवेयर लीस्ट रिसेंटली यूज्ड (टीएलआरयू)<ref>{{cite journal|author=Bilal, Muhammad|display-authors=etal|title=Time Aware Least Recent Used (TLRU) Cache Management Policy in ICN|journal=IEEE 16th International Conference on Advanced Communication Technology (ICACT) |pages=528–532|doi=10.1109/ICACT.2014.6779016|arxiv=1801.00390|bibcode=2018arXiv180100390B|isbn=978-89-968650-3-2|year=2017|s2cid=830503}}</ref> एलआरयू का एक रूप है जिसे उस स्थिति के लिए डिज़ाइन किया गया है जहाँ कैश में संग्रहीत सामग्री का एक वैध जीवन काल होता है। एल्गोरिदम नेटवर्क कैश अनुप्रयोगों में उपयुक्त है, जैसे सूचना-केंद्रित नेटवर्किंग (आईसीएन), सामग्री वितरण नेटवर्क (सीडीएन) और सामान्य रूप से वितरित नेटवर्क। टीएलआरयू ने एक नया शब्द प्रस्तुत किया: टीटीयू (टाइम टू यूज)। टीटीयू सामग्री/पृष्ठ का एक टाइम स्टैंप है जो सामग्री की स्थानीयता और सामग्री प्रकाशक घोषणा के आधार पर सामग्री के लिए उपयोगिता समय निर्धारित करता है। इस स्थानीयता आधारित टाइम स्टैम्प के कारण, टीटीयू नेटवर्क स्टोरेज में विनियमित करने के लिए स्थानीय व्यवस्थापक को अधिक नियंत्रण प्रदान करता है।
द टाइम अवेयर लीस्ट रिसेंटली यूज्ड (टीएलआरयू)<ref>{{cite journal|author=Bilal, Muhammad|display-authors=etal|title=Time Aware Least Recent Used (TLRU) Cache Management Policy in ICN|journal=IEEE 16th International Conference on Advanced Communication Technology (ICACT) |pages=528–532|doi=10.1109/ICACT.2014.6779016|arxiv=1801.00390|bibcode=2018arXiv180100390B|isbn=978-89-968650-3-2|year=2017|s2cid=830503}}</ref> एलआरयू का एक रूप है जिसे उस स्थिति के लिए डिज़ाइन किया गया है जहाँ कैश में संग्रहीत सामग्री का वैध जीवन काल होता है। एल्गोरिदम नेटवर्क कैश अनुप्रयोगों में उपयुक्त है, जैसे सूचना-केंद्रित नेटवर्किंग (आईसीएन), सामग्री वितरण नेटवर्क (सीडीएन) और सामान्य रूप से वितरित नेटवर्क। टीएलआरयू ने नया शब्द प्रस्तुत किया: टीटीयू (टाइम टू यूज)। टीटीयू सामग्री/पृष्ठ का टाइम स्टैंप है जो सामग्री की स्थानीयता और सामग्री प्रकाशक घोषणा के आधार पर सामग्री के लिए उपयोगिता समय निर्धारित करता है। इस स्थानीयता आधारित टाइम स्टैम्प के कारण, टीटीयू नेटवर्क भण्डारण में विनियमित करने के लिए स्थानीय व्यवस्थापक को अधिक नियंत्रण प्रदान करता है।


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


=== कम से कम हाल ही में उपयोग किया गया (एलएफआरयू) ===
=== कम से कम हाल ही में उपयोग किया गया (एलएफआरयू) ===
कम से कम हाल ही में प्रयुक्त (एलएफआरयू)<ref>{{cite journal|author=Bilal, Muhammad |display-authors=etal
कम से कम हाल ही में प्रयुक्त (एलएफआरयू)<ref>{{cite journal|author=Bilal, Muhammad |display-authors=etal
|title=A Cache Management Scheme for Efficient Content Eviction and Replication in Cache Networks
|title=A Cache Management Scheme for Efficient Content Eviction and Replication in Cache Networks
|journal=IEEE Access |volume=5 |pages=1692–1701 |arxiv=1702.04078 |bibcode=2017arXiv170204078B |year=2017 |doi=10.1109/ACCESS.2017.2669344 |s2cid=14517299}}</ref> कैश प्रतिस्थापन योजना एलएफयू और एलआरयू योजनाओं के लाभों को जोड़ती है। एलएफआरयू 'नेटवर्क में' कैश अनुप्रयोगों के लिए उपयुक्त है, जैसे सूचना-केंद्रित नेटवर्किंग (आईसीएन), सामग्री वितरण नेटवर्क (सीडीएन) और सामान्य रूप से वितरित नेटवर्क। एलएफआरयू में, कैश को दो भागों में विभाजित किया जाता है जिन्हें विशेषाधिकार प्राप्त और गैर-विशेषाधिकार प्राप्त विभाजन कहा जाता है। विशेषाधिकार प्राप्त विभाजन को संरक्षित विभाजन के रूप में परिभाषित किया जा सकता है। यदि सामग्री अत्यधिक लोकप्रिय है, तो इसे विशेषाधिकार प्राप्त विभाजन में धकेल दिया जाता है। विशेषाधिकार प्राप्त विभाजन का प्रतिस्थापन निम्नानुसार किया जाता है: एलएफआरयू विशेषाधिकार प्राप्त विभाजन से सामग्री को हटाता है, विशेषाधिकार प्राप्त विभाजन से सामग्री को विशेषाधिकार प्राप्त विभाजन में धकेलता है, और अंत में विशेषाधिकार प्राप्त विभाजन में नई सामग्री सम्मिलित करता है। उपरोक्त प्रक्रिया में एलएफआरयू का उपयोग विशेषाधिकार प्राप्त विभाजन के लिए किया जाता है और एक अनुमानित LFU (एलएफयू) योजना का उपयोग अनपेक्षित विभाजन के लिए किया जाता है, इसलिए संक्षिप्त नाम एलएफआरयू है।
|journal=IEEE Access |volume=5 |pages=1692–1701 |arxiv=1702.04078 |bibcode=2017arXiv170204078B |year=2017 |doi=10.1109/ACCESS.2017.2669344 |s2cid=14517299}}</ref> कैश प्रतिस्थापन योजना एलएफयू और एलआरयू योजनाओं के लाभों को जोड़ती है। एलएफआरयू 'नेटवर्क में' कैश अनुप्रयोगों के लिए उपयुक्त है, जैसे सूचना-केंद्रित नेटवर्किंग (आईसीएन), सामग्री वितरण नेटवर्क (सीडीएन) और सामान्य रूप से वितरित नेटवर्क। एलएफआरयू में, कैश को दो भागों में विभाजित किया जाता है जिन्हें विशेषाधिकार प्राप्त और गैर-विशेषाधिकार प्राप्त विभाजन कहा जाता है। विशेषाधिकार प्राप्त विभाजन को संरक्षित विभाजन के रूप में परिभाषित किया जा सकता है। यदि सामग्री अत्यधिक लोकप्रिय है, तो इसे विशेषाधिकार प्राप्त विभाजन में धकेल दिया जाता है। विशेषाधिकार प्राप्त विभाजन का प्रतिस्थापन निम्नानुसार किया जाता है: एलएफआरयू विशेषाधिकार प्राप्त विभाजन से सामग्री को हटाता है, विशेषाधिकार प्राप्त विभाजन से सामग्री को विशेषाधिकार प्राप्त विभाजन में धकेलता है, और अंत में विशेषाधिकार प्राप्त विभाजन में नई सामग्री सम्मिलित करता है। उपरोक्त प्रक्रिया में एलएफआरयू का उपयोग विशेषाधिकार प्राप्त विभाजन के लिए किया जाता है और अनुमानित एलएफयू (एलएफयू) योजना का उपयोग अनपेक्षित विभाजन के लिए किया जाता है, इसलिए संक्षिप्त नाम एलएफआरयू है।


मूल विचार एलएफयू योजना के साथ स्थानीय रूप से लोकप्रिय सामग्री को फ़िल्टर करना और लोकप्रिय सामग्री को विशेषाधिकार प्राप्त विभाजन में धकेलना है।
मूल विचार एलएफयू योजना के साथ स्थानीय रूप से लोकप्रिय सामग्री को फ़िल्टर करना और लोकप्रिय सामग्री को विशेषाधिकार प्राप्त विभाजन में धकेलना है।
Line 149: Line 124:
   |url=https://archive.nytimes.com/www.nytimes.com/external/gigaom/2010/05/03/03gigaom-9-more-simple-google-search-tricks-86578.html
   |url=https://archive.nytimes.com/www.nytimes.com/external/gigaom/2010/05/03/03gigaom-9-more-simple-google-search-tricks-86578.html
   |title=9 More Simple Google Search Tricks  
   |title=9 More Simple Google Search Tricks  
   |author=Simon Mackie  |date=May 3, 2010}}</ref> 2011 तक, मौसम पूर्वानुमान विकल्पों वाले स्मार्टफ़ोन का उपयोग [[एक्यूवेदर]] सर्वर पर अत्यधिक कर लगा रहा था; एक ही पार्क के अन्दर दो अनुरोध अलग-अलग अनुरोध उत्पन्न करेंगे। एज-सर्वर द्वारा जीपीएस निर्देशांक को कम दशमलव स्थानों तक छोटा करने के लिए एक अनुकूलन का मतलब था कि पहले की क्वेरी से कैश्ड परिणाम का उपयोग किया जाएगा। प्रति-द-सर्वर लुकअप की संख्या प्रतिदिन आधी हो गई है।<ref>{{cite magazine |magazine=[[InformationWeek]]
   |author=Simon Mackie  |date=May 3, 2010}}</ref> 2011 तक, मौसम पूर्वानुमान विकल्पों वाले स्मार्टफ़ोन का उपयोग [[एक्यूवेदर]] सर्वर पर अत्यधिक कर लगा रहा था; एक ही पार्क के अन्दर दो अनुरोध अलग-अलग अनुरोध उत्पन्न करेंगे। एज-सर्वर द्वारा जीपीएस निर्देशांक को कम दशमलव स्थानों तक छोटा करने के लिए अनुकूलन का अर्थ था कि पहले की क्वेरी से कैश्ड परिणाम का उपयोग किया जाएगा। प्रति-द-सर्वर लुकअप की संख्या प्रतिदिन आधी हो गई है।<ref>{{cite magazine |magazine=[[InformationWeek]]
       |quote=300 million to 500 million fewer requests a day handled by AccuWeather servers
       |quote=300 million to 500 million fewer requests a day handled by AccuWeather servers
       |date=May 30, 2011 |page=28 |author=Chris Murphy
       |date=May 30, 2011 |page=28 |author=Chris Murphy
       |title=5 Lines Of Code In The Cloud}}</ref>
       |title=5 Lines Of Code In The Cloud}}</ref>
== सॉफ्टवेयर कैश ==
== सॉफ्टवेयर कैश ==


Line 160: Line 133:
{{Main|पृष्ठ कैश}}
{{Main|पृष्ठ कैश}}


जबकि सीपीयू कैश सामान्यतः पूरी तरह से हार्डवेयर द्वारा प्रबंधित किया जाता है, विभिन्न प्रकार के सॉफ़्टवेयर अन्य कैश का प्रबंधन करते हैं। मुख्य मेमोरी में पेज कैश, जो डिस्क कैश का एक उदाहरण है, ऑपरेटिंग प्रणाली [[कर्नेल (ऑपरेटिंग सिस्टम)|कर्नेल (ऑपरेटिंग प्रणाली)]] द्वारा प्रबंधित किया जाता है।
किन्तु सीपीयू कैश सामान्यतः पूरी तरह से हार्डवेयर द्वारा प्रबंधित किया जाता है, विभिन्न प्रकार के सॉफ़्टवेयर अन्य कैश का प्रबंधन करते हैं। मुख्य मेमोरी में पेज कैश, जो डिस्क कैश का एक उदाहरण है, ऑपरेटिंग प्रणाली [[कर्नेल (ऑपरेटिंग सिस्टम)|कर्नेल (ऑपरेटिंग प्रणाली)]] द्वारा प्रबंधित किया जाता है।


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


अंत में, एक तेज़ स्थानीय हार्ड डिस्क ड्राइव धीमी डेटा स्टोरेज डिवाइस, जैसे रिमोट सर्वर (वेब ​​कैश) या स्थानीय [[टेप ड्राइव]] या [[ऑप्टिकल ज्यूकबॉक्स]] पर भी जानकारी को कैश कर सकता है; ऐसी योजना [[पदानुक्रमित भंडारण प्रबंधन]] की मुख्य अवधारणा है। साथ ही, तेज़ फ़्लैश-आधारित सॉलिड-स्टेट ड्राइव (एसएसडीएस) को [[हाइब्रिड ड्राइव]] या [[सॉलिड-स्टेट हाइब्रिड ड्राइव]] (SSHDs) के रूप में एक साथ काम करते हुए धीमी घूर्णी-मीडिया हार्ड डिस्क ड्राइव के लिए कैश के रूप में प्रयोग किया जा सकता है।
अंत में, तेज़ स्थानीय हार्ड डिस्क ड्राइव धीमी डेटा भण्डारण डिवाइस, जैसे रिमोट सर्वर (वेब ​​कैश) या स्थानीय [[टेप ड्राइव]] या [[ऑप्टिकल ज्यूकबॉक्स]] पर भी जानकारी को कैश कर सकता है; ऐसी योजना [[पदानुक्रमित भंडारण प्रबंधन]] की मुख्य अवधारणा है। साथ ही, तेज़ फ़्लैश-आधारित सॉलिड-स्टेट ड्राइव (एसएसडीएस) को [[हाइब्रिड ड्राइव]] या [[सॉलिड-स्टेट हाइब्रिड ड्राइव]] (एसएसएचडी) के रूप में एक साथ काम करते हुए धीमी घूर्णी-मीडिया हार्ड डिस्क ड्राइव के लिए कैश के रूप में प्रयोग किया जा सकता है।


=== वेब कैश ===
=== वेब कैश ===
{{Main|वेब कैश}}
{{Main|वेब कैश}}
वेब ब्राउज़र और [[प्रॉक्सी सर्वर]] वेब सर्वर से पिछले प्रतिक्रियाओं को संग्रहीत करने के लिए वेब कैश का उपयोग करते हैं, जैसे कि [[वेब पृष्ठ]] और चित्र। वेब कैश उस जानकारी की मात्रा को कम करता है जिसे पूरे नेटवर्क में प्रसारित करने की आवश्यकता होती है, क्योंकि कैश में पहले से संग्रहीत जानकारी का अधिकांशतः पुन: उपयोग किया जा सकता है। यह वेब सर्वर की बैंडविड्थ और प्रोसेसिंग आवश्यकताओं को कम करता है, और वेब के उपयोगकर्ताओं के लिए प्रतिक्रियात्मकता में सुधार करने में मदद करता है।<ref>{{cite web | url=http://docforge.com/wiki/Web_application/Caching | title=Web application caching | author=Multiple (wiki) | work=Docforge | access-date=2013-07-24 | archive-date=12 December 2019 | archive-url=https://web.archive.org/web/20191212152625/http://www.docforge.com/wiki/Web_application/Caching | url-status=dead }}</ref>
वेब ब्राउज़र और [[प्रॉक्सी सर्वर]] वेब सर्वर से पिछले प्रतिक्रियाओं को संग्रहीत करने के लिए वेब कैश का उपयोग करते हैं, जैसे कि [[वेब पृष्ठ]] और चित्र। वेब कैश उस जानकारी की मात्रा को कम करता है जिसे पूरे नेटवर्क में प्रसारित करने की आवश्यकता होती है, क्योंकि कैश में पहले से संग्रहीत जानकारी का अधिकांशतः पुन: उपयोग किया जा सकता है। यह वेब सर्वर की बैंडविड्थ और प्रोसेसिंग आवश्यकताओं को कम करता है, और वेब के उपयोगकर्ताओं के लिए प्रतिक्रियात्मकता में सुधार करने में सहायता करता है।<ref>{{cite web | url=http://docforge.com/wiki/Web_application/Caching | title=Web application caching | author=Multiple (wiki) | work=Docforge | access-date=2013-07-24 | archive-date=12 December 2019 | archive-url=https://web.archive.org/web/20191212152625/http://www.docforge.com/wiki/Web_application/Caching | url-status=dead }}</ref>
 
वेब ब्राउज़र एक अंतर्निहित वेब कैश का उपयोग करते हैं, लेकिन कुछ इंटरनेट सेवा प्रदाता (आईएसपी) या संगठन कैशिंग प्रॉक्सी सर्वर का भी उपयोग करते हैं, जो एक वेब कैश है जिसे उस नेटवर्क के सभी उपयोगकर्ताओं के बीच साझा किया जाता है।
 
कैश का एक अन्य रूप [[पी2पी कैशिंग]] है, जहां पी2पी ट्रांसफर में तेजी लाने के लिए पीयर-टू-पीयर एप्लिकेशन द्वारा सबसे अधिक मांगी जाने वाली फाइलों को इंटरनेट सेवा प्रदाता कैश में संग्रहीत किया जाता है। इसी तरह, विकेंद्रीकृत समतुल्य उपस्थित हैं, जो समुदायों को पी2पी ट्रैफिक के लिए समान कार्य करने की अनुमति देते हैं, '''उदाहरण के लिए, कोरेली।'''<ref>{{cite conference|author1=Gareth Tyson|author2=Andreas Mauthe|author3=Sebastian Kaune|author4=Mu Mu|author5=Thomas Plagemann|title=Corelli: A Dynamic Replication Service for Supporting Latency-Dependent Content in Community Networks|conference=MMCN'09|url=http://comp.eprints.lancs.ac.uk/2044/1/MMCN09.pdf|archive-url=https://web.archive.org/web/20150618193018/http://comp.eprints.lancs.ac.uk/2044/1/MMCN09.pdf|archive-date=2015-06-18}}</ref>
 


वेब ब्राउज़र अंतर्निहित वेब कैश का उपयोग करते हैं, लेकिन कुछ इंटरनेट सेवा प्रदाता (आईएसपी) या संगठन कैशिंग प्रॉक्सी सर्वर का भी उपयोग करते हैं, जो वेब कैश है जिसे उस नेटवर्क के सभी उपयोगकर्ताओं के बीच साझा किया जाता है।


कैश का अन्य रूप [[पी2पी कैशिंग]] है, जहां पी2पी स्थानांतरण में तेजी लाने के लिए पीयर-टू-पीयर एप्लिकेशन द्वारा सबसे अधिक मांगी जाने वाली फाइलों को इंटरनेट सेवा प्रदाता कैश में संग्रहीत किया जाता है। इसी तरह, विकेंद्रीकृत समतुल्य उपस्थित हैं, जो समुदायों को पी2पी ट्रैफिक के लिए समान कार्य करने की अनुमति देते हैं'''।'''<ref>{{cite conference|author1=Gareth Tyson|author2=Andreas Mauthe|author3=Sebastian Kaune|author4=Mu Mu|author5=Thomas Plagemann|title=Corelli: A Dynamic Replication Service for Supporting Latency-Dependent Content in Community Networks|conference=MMCN'09|url=http://comp.eprints.lancs.ac.uk/2044/1/MMCN09.pdf|archive-url=https://web.archive.org/web/20150618193018/http://comp.eprints.lancs.ac.uk/2044/1/MMCN09.pdf|archive-date=2015-06-18}}</ref>
=== संस्मरण ===
=== संस्मरण ===
{{Main|संस्मरण}}<!-- NOTE: this is *NOT* a typo for "memorization"! -->
{{Main|संस्मरण}}कैश डेटा को स्टोर कर सकता है जिसे बैकिंग स्टोर से पुनर्प्राप्त करने के अतिरिक्त मांग पर गणना की जाती है। [[संस्मरण]] [[कार्यक्रम अनुकूलन]] तकनीक है जो लुकअप टेबल के अन्दर संसाधन-खपत [[समारोह कॉल]] के परिणामों को संग्रहीत करती है, बाद की कॉल को संग्रहीत परिणामों का पुन: उपयोग करने और बार-बार गणना से बचने की अनुमति देती है। यह [[गतिशील प्रोग्रामिंग]] एल्गोरिथम डिजाइन पद्धति से संबंधित है, जिसे कैशिंग के साधन के रूप में भी सोचा जा सकता है।
एक कैश डेटा को स्टोर कर सकता है जिसे बैकिंग स्टोर से पुनर्प्राप्त करने के अतिरिक्त मांग पर गणना की जाती है। [[संस्मरण]] एक [[कार्यक्रम अनुकूलन]] तकनीक है जो एक लुकअप टेबल के अन्दर संसाधन-खपत [[समारोह कॉल]] के परिणामों को संग्रहीत करती है, बाद की कॉल को संग्रहीत परिणामों का पुन: उपयोग करने और बार-बार गणना से बचने की अनुमति देती है। यह [[गतिशील प्रोग्रामिंग]] एल्गोरिथम डिजाइन पद्धति से संबंधित है, जिसे कैशिंग के साधन के रूप में भी सोचा जा सकता है।


=== सामग्री वितरण नेटवर्क ===
=== सामग्री वितरण नेटवर्क ===
{{Main|सामग्री वितरण प्रसार}}
{{Main|सामग्री वितरण प्रसार}}
एक सामग्री वितरण नेटवर्क (सीडीएन) वितरित सर्वरों का एक नेटवर्क है जो उपयोगकर्ता के भौगोलिक स्थानों, वेब पेज की उत्पत्ति और सामग्री वितरण सर्वर के आधार पर उपयोगकर्ता को पेज और अन्य वेब सामग्री वितरित करता है।
सामग्री वितरण नेटवर्क (सीडीएन) वितरित सर्वरों का नेटवर्क है जो उपयोगकर्ता के भौगोलिक स्थानों, वेब पेज की उत्पत्ति और सामग्री वितरण सर्वर के आधार पर उपयोगकर्ता को पेज और अन्य वेब सामग्री वितरित करता है।
 
सीडीएन 1990 के दशक के अंत में स्थिर सामग्री, जैसे कि एचटीएमएल पेज, छवियों और वीडियो के वितरण को गति देने के तरीके के रूप में प्रारंभ हुआ। दुनिया भर के कई सर्वरों पर सामग्री की नकल करके और इसे उपयोगकर्ताओं को उनके स्थान के आधार पर वितरित करके, सीडीएन वेबसाइट या एप्लिकेशन की गति और उपलब्धता में काफी सुधार कर सकते हैं। जब कोई उपयोगकर्ता सामग्री के एक टुकड़े का अनुरोध करता है, तो सीडीएन यह देखने के लिए जांच करेगा कि उसके कैश में सामग्री की एक प्रति है या नहीं। यदि ऐसा होता है, तो सीडीएन कैश से उपयोगकर्ता को सामग्री वितरित करेगा।<ref name=":0">{{cite web| url=https://people.cs.umass.edu/~ramesh/Site/PUBLICATIONS_files/DMPPSW02.pdf| title=Globally Distributed Content Delivery, by J. Dilley, B. Maggs, J. Parikh, H. Prokop, R. Sitaraman and B. Weihl, IEEE Internet Computing, Volume 6, Issue 5, November 2002.| access-date=2019-10-25| archive-url=https://web.archive.org/web/20170809231307/http://people.cs.umass.edu/~ramesh/Site/PUBLICATIONS_files/DMPPSW02.pdf| archive-date=2017-08-09| url-status=live}}</ref>
 


=== क्लाउड स्टोरेज गेटवे ===
सीडीएन 1990 के दशक के अंत में स्थिर सामग्री, जैसे कि एचटीएमएल पेज, छवियों और वीडियो के वितरण को गति देने के विधियों के रूप में प्रारंभ हुआ। दुनिया भर के कई सर्वरों पर सामग्री की नकल करके और इसे उपयोगकर्ताओं को उनके स्थान के आधार पर वितरित करके, सीडीएन वेबसाइट या एप्लिकेशन की गति और उपलब्धता में अधिक सुधार कर सकते हैं। जब कोई उपयोगकर्ता सामग्री के टुकड़े का अनुरोध करता है, तो सीडीएन यह देखने के लिए जांच करेगा कि उसके कैश में सामग्री की एक प्रति है या नहीं। यदि ऐसा होता है, तो सीडीएन कैश से उपयोगकर्ता को सामग्री वितरित करेगा।<ref name=":0">{{cite web| url=https://people.cs.umass.edu/~ramesh/Site/PUBLICATIONS_files/DMPPSW02.pdf| title=Globally Distributed Content Delivery, by J. Dilley, B. Maggs, J. Parikh, H. Prokop, R. Sitaraman and B. Weihl, IEEE Internet Computing, Volume 6, Issue 5, November 2002.| access-date=2019-10-25| archive-url=https://web.archive.org/web/20170809231307/http://people.cs.umass.edu/~ramesh/Site/PUBLICATIONS_files/DMPPSW02.pdf| archive-date=2017-08-09| url-status=live}}</ref>
=== क्लाउड भण्डारण गेटवे ===
{{Main|क्लाउड स्टोरेज गेटवे}}
{{Main|क्लाउड स्टोरेज गेटवे}}
क्लाउड स्टोरेज गेटवे, जिसे एज फाइलर के रूप में भी जाना जाता है, एक [[हाइब्रिड क्लाउड स्टोरेज]] डिवाइस है जो एक स्थानीय नेटवर्क को एक या एक से अधिक [[क्लाउड स्टोरेज सेवा]]ओं से जोड़ता है, सामान्यतः स्टोरेज सेवाओं जैसे कि [[Amazon S3|अमेज़न एस3]] को ऑब्जेक्ट करता है। यह अधिकांशतः एक्सेस किए गए डेटा के लिए कैश प्रदान करता है, क्लाउड स्टोरेज सेवा में अधिकांशतः एक्सेस किए जाने वाले डेटा को हाई स्पीड स्थानीय एक्सेस प्रदान करता है। क्लाउड स्टोरेज गेटवे अतिरिक्त लाभ भी प्रदान करते हैं जैसे कि पारंपरिक फ़ाइल सर्विंग प्रोटोकॉल के माध्यम से क्लाउड [[वस्तु भंडारण]] तक पहुँचने के साथ-साथ कनेक्टिविटी आउटेज के समय कैश्ड डेटा तक निरंतर पहुँच।<ref name="searchstorage1">{{cite web |url=https://www.techtarget.com/searchstorage/definition/cloud-storage-gateway|title=Definition: cloud storage gateway |work=SearchStorage |date=July 2014}}</ref>
क्लाउड भण्डारण गेटवे, जिसे एज फाइलर के रूप में भी जाना जाता है, [[हाइब्रिड क्लाउड स्टोरेज|हाइब्रिड क्लाउड भण्डारण]] डिवाइस है जो स्थानीय नेटवर्क को एक या एक से अधिक [[क्लाउड स्टोरेज सेवा|क्लाउड भण्डारण सेवा]]ओं से जोड़ता है, सामान्यतः भण्डारण सेवाओं जैसे कि [[Amazon S3|अमेज़न एस3]] को ऑब्जेक्ट करता है। यह अधिकांशतः एक्सेस किए गए डेटा के लिए कैश प्रदान करता है, क्लाउड भण्डारण सेवा में अधिकांशतः एक्सेस किए जाने वाले डेटा को हाई स्पीड स्थानीय एक्सेस प्रदान करता है। क्लाउड भण्डारण गेटवे अतिरिक्त लाभ भी प्रदान करते हैं जैसे कि पारंपरिक फ़ाइल सर्विंग प्रोटोकॉल के माध्यम से क्लाउड [[वस्तु भंडारण]] तक पहुँचने के साथ-साथ कनेक्टिविटी आउटेज के समय कैश्ड डेटा तक निरंतर पहुँच।<ref name="searchstorage1">{{cite web |url=https://www.techtarget.com/searchstorage/definition/cloud-storage-gateway|title=Definition: cloud storage gateway |work=SearchStorage |date=July 2014}}</ref>
 
 
=== अन्य कैश ===
=== अन्य कैश ===
बिंद [[डोमेन की नामांकन प्रणाली]] डेमॉन आई पी पतों के लिए डोमेन नामों की मैपिंग को कैश करता है, जैसा कि एक रिज़ॉल्वर लाइब्रेरी करता है।
बिंद [[डोमेन की नामांकन प्रणाली]] डेमॉन आई पी पतों के लिए डोमेन नामों की मैपिंग को कैश करता है, जैसा कि रिज़ॉल्वर लाइब्रेरी करता है।


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


वेब खोज इंजन अधिकांशतः उन वेब पेजों को भी उपलब्ध कराते हैं जिन्हें उन्होंने अपने कैश से अनुक्रमित किया है। उदाहरण के लिए, [[Google|गूगल]] प्रत्येक खोज परिणाम के आगे एक संचित लिंक प्रदान करता है। यह उपयोगी सिद्ध हो सकता है जब वेब सर्वर से वेब पेज अस्थायी या स्थायी रूप से दुर्गम हों।
वेब खोज इंजन अधिकांशतः उन वेब पेजों को भी उपलब्ध कराते हैं जिन्हें उन्होंने अपने कैश से अनुक्रमित किया है। उदाहरण के लिए, [[Google|गूगल]] प्रत्येक खोज परिणाम के आगे संचित लिंक प्रदान करता है। यह उपयोगी सिद्ध हो सकता है जब वेब सर्वर से वेब पेज अस्थायी या स्थायी रूप से दुर्गम हों।


[[डेटाबेस]] कैशिंग डेटाबेस अनुप्रयोगों के थ्रूपुट में काफी सुधार कर सकता है, उदाहरण के लिए [[डाटाबेस इंडेक्स]], [[डेटा शब्दकोश]] और डेटा के अधिकांशतः उपयोग किए जाने वाले सबसेट के प्रसंस्करण में।
[[डेटाबेस]] कैशिंग डेटाबेस अनुप्रयोगों के थ्रूपुट में अधिक सुधार कर सकता है, उदाहरण के लिए [[डाटाबेस इंडेक्स]], [[डेटा शब्दकोश]] और डेटा के अधिकांशतः उपयोग किए जाने वाले सबसेट के प्रसंस्करण में।


एक [[वितरित कैश]]<ref>{{cite journal
एक [[वितरित कैश]]<ref>{{cite journal
Line 222: Line 187:
| issue        = 7
| issue        = 7
| date          = July 2009
| date          = July 2009
}}</ref> मेजबान विभिन्न भौगोलिक क्षेत्रों में सह-स्थित या फैले हो सकते हैं।
}}</ref> होस्ट विभिन्न भौगोलिक क्षेत्रों में सह-स्थित या फैले हो सकते हैं।


=={{anchor|The difference between buffer and cache}}<!--Former section name used in external links--> बफर बनाम कैश ==
==बफर विरुद्ध कैश ==
{{more citations needed section|date=June 2021}}
बफ़र और कैश के शब्दार्थ पूरी तरह से अलग नहीं हैं; फिर भी, कैशिंग की प्रक्रिया और बफरिंग की प्रक्रिया के बीच आशय में मूलभूत अंतर हैं।
बफ़र और कैश के शब्दार्थ पूरी तरह से अलग नहीं हैं; फिर भी, कैशिंग की प्रक्रिया और बफरिंग की प्रक्रिया के बीच आशय में मूलभूत अंतर हैं।


मौलिक रूप से, कैशिंग डेटा के हस्तांतरण के प्रदर्शन में वृद्धि का एहसास करता है जिसे बार-बार स्थानांतरित किया जा रहा है। जबकि एक कैशिंग प्रणाली डेटा आइटम के प्रारंभिक (सामान्यतः लिखने) हस्तांतरण पर प्रदर्शन में वृद्धि का एहसास कर सकता है, यह प्रदर्शन वृद्धि कैशिंग प्रणाली के अन्दर होने वाली बफरिंग के कारण होती है।
मौलिक रूप से, कैशिंग डेटा के हस्तांतरण के प्रदर्शन में वृद्धि का अनुभव करता है जिसे बार-बार स्थानांतरित किया जा रहा है। किन्तु कैशिंग प्रणाली डेटा आइटम के प्रारंभिक (सामान्यतः लिखने) हस्तांतरण पर प्रदर्शन में वृद्धि का अनुभव कर सकता है, यह प्रदर्शन वृद्धि कैशिंग प्रणाली के अन्दर होने वाली बफरिंग के कारण होती है।


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


* संचार प्रक्रियाओं के बीच अन्यथा उपन्यास डेटा के लिए स्थानान्तरण की संख्या कम कर देता है, जो कम, बड़े स्थानान्तरणों पर कई छोटे हस्तांतरणों के लिए सम्मिलित ओवरहेड को परिशोधित करता है,
* संचार प्रक्रियाओं के बीच अन्यथा उपन्यास डेटा के लिए स्थानान्तरण की संख्या कम कर देता है, जो कम, बड़े स्थानान्तरणों पर कई छोटे हस्तांतरणों के लिए सम्मिलित ओवरहेड को परिशोधित करता है,
* संचार प्रक्रियाओं के लिए एक मध्यस्थ प्रदान करता है जो एक दूसरे के बीच सीधे स्थानान्तरण करने में असमर्थ हैं, या
* संचार प्रक्रियाओं के लिए मध्यस्थ प्रदान करता है जो एक दूसरे के बीच सीधे स्थानान्तरण करने में असमर्थ हैं, या
* स्थानांतरण में सम्मिलित संचार प्रक्रियाओं में से कम से कम एक के लिए आवश्यक न्यूनतम डेटा आकार या प्रतिनिधित्व सुनिश्चित करता है।
* स्थानांतरण में सम्मिलित संचार प्रक्रियाओं में से कम से कम के लिए आवश्यक न्यूनतम डेटा आकार या प्रतिनिधित्व सुनिश्चित करता है।


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


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


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


== यह भी देखें ==
== यह भी देखें ==
Line 246: Line 210:
* [[कैश रंग]]
* [[कैश रंग]]
* [[कैश पदानुक्रम]]
* [[कैश पदानुक्रम]]
* कैश-बेखबर एल्गोरिदम
* कैश भगदड़
* [[कैश भाषा मॉडल]]
* [[कैश भाषा मॉडल]]
* [[HTML5 में कैश मैनिफेस्ट]]
* [[HTML5 में कैश मैनिफेस्ट]]
Line 257: Line 219:
* [[अस्थायी फ़ाइल]]
* [[अस्थायी फ़ाइल]]
{{Div col end}}
{{Div col end}}


== संदर्भ ==
== संदर्भ ==
Line 268: Line 229:


{{Authority control}}
{{Authority control}}
[[Category: कैश (कंप्यूटिंग) | कैश (कंप्यूटिंग) ]] [[Category: कंप्यूटर आर्किटेक्चर]]


[[Category: Machine Translated Page]]
[[Category:Articles with hAudio microformats]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:CS1 English-language sources (en)]]
[[Category:Citation Style 1 templates|M]]
[[Category:Collapse templates]]
[[Category:Created On 18/02/2023]]
[[Category:Created On 18/02/2023]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Multi-column templates]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages including recorded pronunciations]]
[[Category:Pages using div col with small parameter]]
[[Category:Pages with script errors]]
[[Category:Short description with empty Wikidata description]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates based on the Citation/CS1 Lua module]]
[[Category:Templates generating COinS|Cite magazine]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Templates using under-protected Lua modules]]
[[Category:Wikipedia fully protected templates|Div col]]
[[Category:Wikipedia metatemplates]]
[[Category:कंप्यूटर आर्किटेक्चर]]
[[Category:कैश (कंप्यूटिंग)| कैश (कंप्यूटिंग) ]]

Latest revision as of 16:44, 2 November 2023

कम्प्यूटिंग में, कैश (/kæʃ/ (listen) कैश)[1] हार्डवेयर या सॉफ़्टवेयर घटक है जो डेटा संग्रहीत करता है जिससे उस डेटा के भविष्य के अनुरोधों को तेज़ी से पूरा किया जा सके; कैश में संग्रहीत डेटा पहले की गणना या कहीं संग्रहीत डेटा की प्रतिलिपि का परिणाम हो सकता है। कैश हिट तब होता है जब अनुरोधित डेटा कैश में पाया जा सकता है, किन्तु कैश मिस तब होता है जब यह नहीं हो सकता है। कैश हिट को कैश से डेटा पढ़कर परोसा जाता है, जो किसी परिणाम की पुनर्गणना करने या धीमे डेटा स्टोर से पढ़ने की तुलना में तेज़ होता है; इस प्रकार, कैश से जितने अधिक अनुरोध किए जा सकते हैं, प्रणाली उतनी ही तेजी से कार्य करता है।[2]

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

प्रेरणा

आकार और गति के बीच अंतर्निहित व्यापार-बंद है (यह देखते हुए कि बड़ा संसाधन अधिक भौतिक दूरी का तात्पर्य है) लेकिन बहुमूल्य, प्रीमियम प्रौद्योगिकियों (जैसे स्टेटिक रैंडम-एक्सेस मेमोरी) बनाम सस्ती, सरलता से बड़े पैमाने पर उत्पादित वस्तुओं (जैसे) के बीच व्यापार-बंद भी है। डी रैम या हार्ड डिस्क के रूप में कैश द्वारा प्रदान किया गया डेटा बफ़र विलंबता (इंजीनियरिंग) और थ्रोटपुट (बैंडविड्थ (कंप्यूटिंग)) में से एक या दोनों को लाभ देता है

विलंबता

बड़ा संसाधन पहुँच के लिए महत्वपूर्ण विलंबता उत्पन्न करता है – उदाहरणː आधुनिक 4 जी हर्ट्ज प्रोसेसर को डी रैम तक पहुँचने में सैकड़ों घड़ी चक्र लग सकते हैं। बड़े भाग में पढ़ने से यह कम हो जाता है, इस आशा में कि बाद के पठन आस-पास के स्थानों से होंगे। भविष्यवाणी या स्पष्ट कैश पूर्वाभ्यास यह भी अनुमान लगा सकता है कि भविष्य में रीड कहां से आएंगे और समय से पहले अनुरोध कर सकते हैं; यदि सही ढंग से किया जाता है तो विलंबता पूरी तरह से समाप्त हो जाती है।

थ्रूपुट

कैश का उपयोग भी अंतर्निहित संसाधन से उच्च थ्रूपुट के लिए अनुमति देता है, कई ठीक अनाज हस्तांतरण को बड़े, अधिक कुशल अनुरोधों में जोड़कर। डायनेमिक रैंडम-एक्सेस मेमोरी सर्किट के स्थितियों में, यह व्यापक डेटा बस के द्वारा परोसा जा सकता है। उदाहरण के लिए, 32-बिट पता स्थान में बाइट्स तक पहुँचने वाले प्रोग्राम पर विचार करें, लेकिन 128-बिट ऑफ-चिप डेटा बस द्वारा सेवा दी जा रही है; अलग-अलग अनकैश्ड बाइट एक्सेस कुल बैंडविड्थ के केवल 1/16 वें भाग का उपयोग करने की अनुमति देगा, और डेटा की आवाजाही का 80% डेटा के अतिरिक्त मेमोरी पता होगा। बड़ी मात्रा में पढ़ने से पता सूचना प्रसारित करने के लिए आवश्यक बैंडविड्थ का अंश कम हो जाता है।

ऑपरेशन

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

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

जब कैश क्लाइंट ( सीपीयू, वेब ब्राउज़र, ऑपरेटिंग प्रणाली) को बैकिंग स्टोर में उपस्थित अनुमानित डेटा तक पहुंचने की आवश्यकता होती है, तो यह पहले कैश की जांच करता है। यदि वांछित डेटा से मेल खाने वाले टैग के साथ कोई प्रविष्टि मिल सकती है, तो इसके अतिरिक्त प्रविष्टि में उपस्थित डेटा का उपयोग किया जाता है। इस स्थिति को कैश हिट के रूप में जाना जाता है। उदाहरण के लिए, वेब ब्राउज़र प्रोग्राम डिस्क पर अपने स्थानीय कैश को यह देखने के लिए देख सकता है कि क्या उसके पास किसी विशेष यूआरएल पर वेब पेज की सामग्री की स्थानीय प्रति है। इस उदाहरण में, यूआरएल टैग है, और वेब पेज की सामग्री डेटा है। कैशे हिट में परिणत होने वाले पहूंच समय प्रतिशत कैश के 'हिट रेट' या 'हिट अनुपात' के रूप में जाना जाता है।

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

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


लेखन नीतियां

नो-राइट आवंटन वाला राइट-थ्रू कैश

जब कोई प्रणाली कैश करने के लिए डेटा लिखता है, तो उसे किसी बिंदु पर उस डेटा को बैकिंग स्टोर पर भी लिखना चाहिए। इस लेखन के समय को लेखन नीति के रूप में जाना जाता है। दो मूलभूत लेखन दृष्टिकोण हैं:[3]

  • राइट-थ्रू: राइट को कैश और बैकिंग स्टोर दोनों के लिए सिंक्रोनाइज़ किया जाता है।
  • राइट-बैक: प्रारंभ में, लेखन केवल कैश के लिए किया जाता है। बैकिंग स्टोर को लिखना तब तक के लिए स्थगित कर दिया जाता है जब तक कि संशोधित सामग्री को दूसरे कैश ब्लॉक द्वारा प्रतिस्थापित नहीं किया जाता है।

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

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

चूंकि लिखने के संचालन पर अनुरोधकर्ता को कोई डेटा वापस नहीं किया जाता है, इसलिए लिखने की चूक पर निर्णय लेने की आवश्यकता होती है, डेटा को कैश में लोड किया जाएगा या नहीं।

यह इन दो दृष्टिकोणों द्वारा परिभाषित किया गया है:

  • राइट एलोकेशन (जिसे राइट ऑन फ़ेच भी कहा जाता है): मिस्ड-राइट लोकेशन पर डेटा को कैश में लोड किया जाता है, जिसके बाद राइट-हिट ऑपरेशन होता है। इस विधियों से राइट मिसेज रीड मिसेस के समान हैं।
  • नो-राइट एलोकेशन (जिसे राइट-नो-एलोकेट या राइट अराउंड भी कहा जाता है): मिस्ड-राइट लोकेशन पर डेटा कैश में लोड नहीं होता है, और सीधे बैकिंग स्टोर पर लिखा जाता है। इस दृष्टिकोण में, केवल रीड मिसेस पर डेटा को कैश में लोड किया जाता है।

राइट-थ्रू और राइट-बैक दोनों नीतियां इनमें से किसी भी राइट-मिस नीतियों का उपयोग कर सकती हैं, लेकिन सामान्यतः उन्हें इस तरह से जोड़ा जाता है:[4] राइट-बैक कैश एक ही स्थान पर बाद में लिखने (या यहां तक ​​​​कि पढ़ने) की आशा करते हुए लिखने के आवंटन का उपयोग करता है, जिसे अब कैश किया गया है।

  • राइट-थ्रू कैश नो-राइट आवंटन का उपयोग करता है। यहां, बाद के लेखन का कोई लाभ नहीं है, क्योंकि उन्हें अभी भी बैकिंग स्टोर पर सीधे लिखे जाने की आवश्यकता है।

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

प्रीफ़ेच

कैश रीड मिस पर,मांग पेजिंग पॉलिसी वाले कैश बैकिंग स्टोर से न्यूनतम राशि पढ़ते हैं। उदाहरण के लिए, डिमांड-पेजिंग वर्चुअल मेमोरी डिस्क से रैम में डिस्क कैश में वर्चुअल मेमोरी (अधिकांशतः 4 के बाइट्स) का पेज पढ़ती है। उदाहरण के लिए, सामान्य सीपीयू डी रैम से एल2 कैश में 128 बाइट्स की एल2 कैश लाइन पढ़ता है, और एल2 कैश से एल1 कैश में 64 बाइट्स की एल1 कैश लाइन पढ़ता है।

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

हार्डवेयर कैश के उदाहरण

सीपीयू कैश

सीपीयू पर या उसके करीब की छोटी यादें बहुत बड़ी मुख्य मेमोरी की तुलना में तेजी से काम कर सकती हैं।[5] 1980 के दशक के बाद से अधिकांश सीपीयू ने एक या अधिक कैश का उपयोग किया है, कभी-कभी सीपीयू कैश मल्टी-लेवल कैश; आधुनिक हाई-एंड एंबेडेड कंप्यूटिंग, डेस्कटॉप कंप्यूटर और सर्वर माइक्रोप्रोसेसर में छह प्रकार के कैश (स्तरों और कार्यों के बीच) हो सकते हैं।[6] विशिष्ट फलन वाले कैश के उदाहरण हैं डी-कैश और मैं-कैश और मेमोरी प्रबंधन इकाई के लिए अनुवाद लुकसाइड बफर होते है ।

जीपीयू कैश

पहले के ग्राफ़िक्स प्रोसेसिंग युनिट (जीपीयू) में अधिकांशतः सीमित रीड-ओनली बनावट कैश होते थे, और 2डी कैश सुसंगतता को बेहतर बनाने के लिए मोर्टन आदेश झुर्रीदार बनावट प्रस्तुत किया। कैश की कमी से प्रदर्शन पर भारी असर पड़ेगा, उदाहरणː यदि मिपमैपिंग का उपयोग नहीं किया गया था। बनावट डेटा के लिए 32-बिट (और व्यापक) स्थानान्तरण का लाभ उठाने के लिए कैशिंग महत्वपूर्ण था, जो अधिकांशतः प्रति पिक्सेल 4 बिट जितना छोटा होता था, इच्छानुसार ढंग से यूवी निर्देशांक और उलटा बनावट मानचित्रण में परिप्रेक्ष्य परिवर्तन द्वारा जटिल नमूना में अनुक्रमित किया जाता था।

जीपीयू के उन्नत होने के साथ (विशेष रूप से जीपीजीपीयू कंप्यूट शेडर के साथ) उन्होंने उत्तरोत्तर बड़े और तेजी से सामान्य कैश विकसित किए हैं, जिसमें शेडर्स के लिए निर्देश कैश सम्मिलित हैं, सीपीयू कैश के साथ तेजी से सामान्य कार्यक्षमता प्रदर्शित करते हैं। उदाहरण के लिए, जीई फाॅर्स 200 सीरीज़ वास्तुकला जीपीयूएसमें एल2 कैश की सुविधा नहीं थी, किन्तु फर्मी (माइक्रोवास्तुकला) जीपीयूए में 768 किलोबाइट तक का अंतिम-स्तरीय कैश है, केप्लर (माइक्रोवास्तुकला) जीपीयू में 1536 किलोबाइट तक का अंतिम-स्तरीय कैश है, और मैक्सवेल (माइक्रोवास्तुकला) जीपीयू में 2048 केबी तक का अंतिम-स्तरीय कैश है। ये कैश थ्रेड्स और परमाणु संचालन के बीच तुल्यकालन आदिम और सीपीयू-स्टाइल मेमोरी मैनेजमेंट यूनिट के साथ इंटरफेस को हैंडल करने के लिए विकसित हुए हैं।

डीएसपी

डिजिटल सिग्नल प्रोसेसर इसी तरह वर्षों से सामान्यीकृत हैं। पहले के डिजाइनों में प्रत्यक्ष मेमोरी एक्सेस द्वारा खिलाई गई स्क्रैचपैड मेमोरी का उपयोग किया जाता था, लेकिन क्वालकॉम हेक्सागोन जैसे आधुनिक डीएसपी में अधिकांशतः सीपीयू में कैश का समान सेट सम्मिलित होता है (उदाहरण के लिए साझा एल2, स्प्लिट एल1 आई-कैश और डी-कैश के साथ संशोधित हार्वर्ड वास्तुकला) है।[7]

अनुवाद लुकसाइड बफर

मेमोरी मैनेजमेंट यूनिट (एमएमयू) जो मुख्य मेमोरी से पृष्ठ तालिका प्रविष्टियां प्राप्त करती है, में विशेष कैश होता है, जिसका उपयोग आभासी पता के परिणामों को भौतिक एड्रेस ट्रांसलेशन में रिकॉर्ड करने के लिए किया जाता है। इस विशेष कैश को ट्रांसलेशन लुकसाइड बफर (टी एल बी) कहा जाता है।[8]

इन-नेटवर्क कैश

सूचना-केंद्रित नेटवर्किंग

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

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

नीतियां

समय जागरूक कम से कम हाल ही में प्रयोग किया (टीएलआरयू)

द टाइम अवेयर लीस्ट रिसेंटली यूज्ड (टीएलआरयू)[10] एलआरयू का एक रूप है जिसे उस स्थिति के लिए डिज़ाइन किया गया है जहाँ कैश में संग्रहीत सामग्री का वैध जीवन काल होता है। एल्गोरिदम नेटवर्क कैश अनुप्रयोगों में उपयुक्त है, जैसे सूचना-केंद्रित नेटवर्किंग (आईसीएन), सामग्री वितरण नेटवर्क (सीडीएन) और सामान्य रूप से वितरित नेटवर्क। टीएलआरयू ने नया शब्द प्रस्तुत किया: टीटीयू (टाइम टू यूज)। टीटीयू सामग्री/पृष्ठ का टाइम स्टैंप है जो सामग्री की स्थानीयता और सामग्री प्रकाशक घोषणा के आधार पर सामग्री के लिए उपयोगिता समय निर्धारित करता है। इस स्थानीयता आधारित टाइम स्टैम्प के कारण, टीटीयू नेटवर्क भण्डारण में विनियमित करने के लिए स्थानीय व्यवस्थापक को अधिक नियंत्रण प्रदान करता है।

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

कम से कम हाल ही में उपयोग किया गया (एलएफआरयू)

कम से कम हाल ही में प्रयुक्त (एलएफआरयू)[11] कैश प्रतिस्थापन योजना एलएफयू और एलआरयू योजनाओं के लाभों को जोड़ती है। एलएफआरयू 'नेटवर्क में' कैश अनुप्रयोगों के लिए उपयुक्त है, जैसे सूचना-केंद्रित नेटवर्किंग (आईसीएन), सामग्री वितरण नेटवर्क (सीडीएन) और सामान्य रूप से वितरित नेटवर्क। एलएफआरयू में, कैश को दो भागों में विभाजित किया जाता है जिन्हें विशेषाधिकार प्राप्त और गैर-विशेषाधिकार प्राप्त विभाजन कहा जाता है। विशेषाधिकार प्राप्त विभाजन को संरक्षित विभाजन के रूप में परिभाषित किया जा सकता है। यदि सामग्री अत्यधिक लोकप्रिय है, तो इसे विशेषाधिकार प्राप्त विभाजन में धकेल दिया जाता है। विशेषाधिकार प्राप्त विभाजन का प्रतिस्थापन निम्नानुसार किया जाता है: एलएफआरयू विशेषाधिकार प्राप्त विभाजन से सामग्री को हटाता है, विशेषाधिकार प्राप्त विभाजन से सामग्री को विशेषाधिकार प्राप्त विभाजन में धकेलता है, और अंत में विशेषाधिकार प्राप्त विभाजन में नई सामग्री सम्मिलित करता है। उपरोक्त प्रक्रिया में एलएफआरयू का उपयोग विशेषाधिकार प्राप्त विभाजन के लिए किया जाता है और अनुमानित एलएफयू (एलएफयू) योजना का उपयोग अनपेक्षित विभाजन के लिए किया जाता है, इसलिए संक्षिप्त नाम एलएफआरयू है।

मूल विचार एलएफयू योजना के साथ स्थानीय रूप से लोकप्रिय सामग्री को फ़िल्टर करना और लोकप्रिय सामग्री को विशेषाधिकार प्राप्त विभाजन में धकेलना है।

मौसम का पूर्वानुमान

2010 दी न्यू यौर्क टाइम्स ने आपके ज़िप कोड के बाद 'मौसम' टाइप करने का सुझाव दिया।[12] 2011 तक, मौसम पूर्वानुमान विकल्पों वाले स्मार्टफ़ोन का उपयोग एक्यूवेदर सर्वर पर अत्यधिक कर लगा रहा था; एक ही पार्क के अन्दर दो अनुरोध अलग-अलग अनुरोध उत्पन्न करेंगे। एज-सर्वर द्वारा जीपीएस निर्देशांक को कम दशमलव स्थानों तक छोटा करने के लिए अनुकूलन का अर्थ था कि पहले की क्वेरी से कैश्ड परिणाम का उपयोग किया जाएगा। प्रति-द-सर्वर लुकअप की संख्या प्रतिदिन आधी हो गई है।[13]

सॉफ्टवेयर कैश

डिस्क कैश

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

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

अंत में, तेज़ स्थानीय हार्ड डिस्क ड्राइव धीमी डेटा भण्डारण डिवाइस, जैसे रिमोट सर्वर (वेब ​​कैश) या स्थानीय टेप ड्राइव या ऑप्टिकल ज्यूकबॉक्स पर भी जानकारी को कैश कर सकता है; ऐसी योजना पदानुक्रमित भंडारण प्रबंधन की मुख्य अवधारणा है। साथ ही, तेज़ फ़्लैश-आधारित सॉलिड-स्टेट ड्राइव (एसएसडीएस) को हाइब्रिड ड्राइव या सॉलिड-स्टेट हाइब्रिड ड्राइव (एसएसएचडी) के रूप में एक साथ काम करते हुए धीमी घूर्णी-मीडिया हार्ड डिस्क ड्राइव के लिए कैश के रूप में प्रयोग किया जा सकता है।

वेब कैश

वेब ब्राउज़र और प्रॉक्सी सर्वर वेब सर्वर से पिछले प्रतिक्रियाओं को संग्रहीत करने के लिए वेब कैश का उपयोग करते हैं, जैसे कि वेब पृष्ठ और चित्र। वेब कैश उस जानकारी की मात्रा को कम करता है जिसे पूरे नेटवर्क में प्रसारित करने की आवश्यकता होती है, क्योंकि कैश में पहले से संग्रहीत जानकारी का अधिकांशतः पुन: उपयोग किया जा सकता है। यह वेब सर्वर की बैंडविड्थ और प्रोसेसिंग आवश्यकताओं को कम करता है, और वेब के उपयोगकर्ताओं के लिए प्रतिक्रियात्मकता में सुधार करने में सहायता करता है।[14]

वेब ब्राउज़र अंतर्निहित वेब कैश का उपयोग करते हैं, लेकिन कुछ इंटरनेट सेवा प्रदाता (आईएसपी) या संगठन कैशिंग प्रॉक्सी सर्वर का भी उपयोग करते हैं, जो वेब कैश है जिसे उस नेटवर्क के सभी उपयोगकर्ताओं के बीच साझा किया जाता है।

कैश का अन्य रूप पी2पी कैशिंग है, जहां पी2पी स्थानांतरण में तेजी लाने के लिए पीयर-टू-पीयर एप्लिकेशन द्वारा सबसे अधिक मांगी जाने वाली फाइलों को इंटरनेट सेवा प्रदाता कैश में संग्रहीत किया जाता है। इसी तरह, विकेंद्रीकृत समतुल्य उपस्थित हैं, जो समुदायों को पी2पी ट्रैफिक के लिए समान कार्य करने की अनुमति देते हैं[15]

संस्मरण

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

सामग्री वितरण नेटवर्क

सामग्री वितरण नेटवर्क (सीडीएन) वितरित सर्वरों का नेटवर्क है जो उपयोगकर्ता के भौगोलिक स्थानों, वेब पेज की उत्पत्ति और सामग्री वितरण सर्वर के आधार पर उपयोगकर्ता को पेज और अन्य वेब सामग्री वितरित करता है।

सीडीएन 1990 के दशक के अंत में स्थिर सामग्री, जैसे कि एचटीएमएल पेज, छवियों और वीडियो के वितरण को गति देने के विधियों के रूप में प्रारंभ हुआ। दुनिया भर के कई सर्वरों पर सामग्री की नकल करके और इसे उपयोगकर्ताओं को उनके स्थान के आधार पर वितरित करके, सीडीएन वेबसाइट या एप्लिकेशन की गति और उपलब्धता में अधिक सुधार कर सकते हैं। जब कोई उपयोगकर्ता सामग्री के टुकड़े का अनुरोध करता है, तो सीडीएन यह देखने के लिए जांच करेगा कि उसके कैश में सामग्री की एक प्रति है या नहीं। यदि ऐसा होता है, तो सीडीएन कैश से उपयोगकर्ता को सामग्री वितरित करेगा।[16]

क्लाउड भण्डारण गेटवे

क्लाउड भण्डारण गेटवे, जिसे एज फाइलर के रूप में भी जाना जाता है, हाइब्रिड क्लाउड भण्डारण डिवाइस है जो स्थानीय नेटवर्क को एक या एक से अधिक क्लाउड भण्डारण सेवाओं से जोड़ता है, सामान्यतः भण्डारण सेवाओं जैसे कि अमेज़न एस3 को ऑब्जेक्ट करता है। यह अधिकांशतः एक्सेस किए गए डेटा के लिए कैश प्रदान करता है, क्लाउड भण्डारण सेवा में अधिकांशतः एक्सेस किए जाने वाले डेटा को हाई स्पीड स्थानीय एक्सेस प्रदान करता है। क्लाउड भण्डारण गेटवे अतिरिक्त लाभ भी प्रदान करते हैं जैसे कि पारंपरिक फ़ाइल सर्विंग प्रोटोकॉल के माध्यम से क्लाउड वस्तु भंडारण तक पहुँचने के साथ-साथ कनेक्टिविटी आउटेज के समय कैश्ड डेटा तक निरंतर पहुँच।[17]

अन्य कैश

बिंद डोमेन की नामांकन प्रणाली डेमॉन आई पी पतों के लिए डोमेन नामों की मैपिंग को कैश करता है, जैसा कि रिज़ॉल्वर लाइब्रेरी करता है।

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

वेब खोज इंजन अधिकांशतः उन वेब पेजों को भी उपलब्ध कराते हैं जिन्हें उन्होंने अपने कैश से अनुक्रमित किया है। उदाहरण के लिए, गूगल प्रत्येक खोज परिणाम के आगे संचित लिंक प्रदान करता है। यह उपयोगी सिद्ध हो सकता है जब वेब सर्वर से वेब पेज अस्थायी या स्थायी रूप से दुर्गम हों।

डेटाबेस कैशिंग डेटाबेस अनुप्रयोगों के थ्रूपुट में अधिक सुधार कर सकता है, उदाहरण के लिए डाटाबेस इंडेक्स, डेटा शब्दकोश और डेटा के अधिकांशतः उपयोग किए जाने वाले सबसेट के प्रसंस्करण में।

एक वितरित कैश[18] एप्लिकेशन को स्केलेबिलिटी, विश्वसनीयता और प्रदर्शन प्रदान करने के लिए नेटवर्क होस्ट का उपयोग करता है।[19] होस्ट विभिन्न भौगोलिक क्षेत्रों में सह-स्थित या फैले हो सकते हैं।

बफर विरुद्ध कैश

बफ़र और कैश के शब्दार्थ पूरी तरह से अलग नहीं हैं; फिर भी, कैशिंग की प्रक्रिया और बफरिंग की प्रक्रिया के बीच आशय में मूलभूत अंतर हैं।

मौलिक रूप से, कैशिंग डेटा के हस्तांतरण के प्रदर्शन में वृद्धि का अनुभव करता है जिसे बार-बार स्थानांतरित किया जा रहा है। किन्तु कैशिंग प्रणाली डेटा आइटम के प्रारंभिक (सामान्यतः लिखने) हस्तांतरण पर प्रदर्शन में वृद्धि का अनुभव कर सकता है, यह प्रदर्शन वृद्धि कैशिंग प्रणाली के अन्दर होने वाली बफरिंग के कारण होती है।

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

  • संचार प्रक्रियाओं के बीच अन्यथा उपन्यास डेटा के लिए स्थानान्तरण की संख्या कम कर देता है, जो कम, बड़े स्थानान्तरणों पर कई छोटे हस्तांतरणों के लिए सम्मिलित ओवरहेड को परिशोधित करता है,
  • संचार प्रक्रियाओं के लिए मध्यस्थ प्रदान करता है जो एक दूसरे के बीच सीधे स्थानान्तरण करने में असमर्थ हैं, या
  • स्थानांतरण में सम्मिलित संचार प्रक्रियाओं में से कम से कम के लिए आवश्यक न्यूनतम डेटा आकार या प्रतिनिधित्व सुनिश्चित करता है।

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

डेटा बफ़र अस्थायी मेमोरी स्थान है जो पारंपरिक रूप से उपयोग किया जाता है क्योंकि सीपीयू निर्देश (कंप्यूटिंग) परिधीय उपकरणों में संग्रहीत डेटा को सीधे संबोधित नहीं कर सकता है। इस प्रकार, एड्रेसेबल मेमोरी का उपयोग मध्यवर्ती चरण के रूप में किया जाता है। इसके अतिरिक्त, ऐसा बफ़र तब संभव हो सकता है जब डेटा का बड़ा ब्लॉक इकट्ठा या अलग किया जाता है (जैसा कि भण्डारण डिवाइस द्वारा आवश्यक होता है), या जब डेटा को उसके उत्पादन के क्रम से भिन्न क्रम में वितरित किया जा सकता है। इसके अतिरिक्त, डेटा का एक पूरा बफ़र सामान्यतः क्रमिक रूप से स्थानांतरित किया जाता है (उदाहरण के लिए हार्ड डिस्क पर), इसलिए बफ़रिंग कभी-कभी स्थानांतरण प्रदर्शन को बढ़ाता है या कैशिंग के विपरीत स्थानांतरण की विलंबता की भिन्नता या घबराहट को कम करता है, जहां विलंबता को कम करने का इरादा है। ये लाभ तब भी उपस्थित हैं जब बफ़र किए गए डेटा को एक बार डेटा बफ़र में लिखा जाता है और एक बार बफ़र से पढ़ा जाता है।

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

यह भी देखें

संदर्भ

  1. "Cache". Oxford Dictionaries. Oxford Dictionaries. Archived from the original on 18 August 2012. Retrieved 2 August 2016.
  2. Zhong, Liang; Zheng, Xueqian; Liu, Yong; Wang, Mengting; Cao, Yang (February 2020). "Cache hit ratio maximization in device-to-device communications overlaying cellular networks". China Communications. 17 (2): 232–238. doi:10.23919/jcc.2020.02.018. ISSN 1673-5447. S2CID 212649328.
  3. Bottomley, James (2004-01-01). "Understanding Caching". Linux Journal. Retrieved 2019-10-01.
  4. John L. Hennessy; David A. Patterson (2011). Computer Architecture: A Quantitative Approach. Elsevier. pp. B–12. ISBN 978-0-12-383872-8.
  5. Su, Chao; Zeng, Qingkai (2021-06-10). Nicopolitidis, Petros (ed.). "Survey of CPU Cache-Based Side-Channel Attacks: Systematic Analysis, Security Models, and Countermeasures". Security and Communication Networks (in English). 2021: 1–15. doi:10.1155/2021/5559552. ISSN 1939-0122.
  6. "Intel Broadwell Core i7 5775C '128MB L4 Cache' Gaming Behemoth and Skylake Core i7 6700K Flagship Processors Finally Available In Retail". 25 September 2015.Mentions L4 cache. Combined with separate I-Cache and TLB, this brings the total 'number of caches (levels+functions) to 6
  7. "qualcom Hexagon DSP SDK overview".
  8. Frank Uyeda (2009). "Lecture 7: Memory Management" (PDF). CSE 120: Principles of Operating Systems. UC San Diego. Retrieved 2013-12-04.
  9. Bilal, Muhammad; et al. (2019). "Secure Distribution of Protected Content in Information-Centric Networking". IEEE Systems Journal. 14 (2): 1–12. arXiv:1907.11717. Bibcode:2020ISysJ..14.1921B. doi:10.1109/JSYST.2019.2931813. S2CID 198967720.
  10. Bilal, Muhammad; et al. (2017). "Time Aware Least Recent Used (TLRU) Cache Management Policy in ICN". IEEE 16th International Conference on Advanced Communication Technology (ICACT): 528–532. arXiv:1801.00390. Bibcode:2018arXiv180100390B. doi:10.1109/ICACT.2014.6779016. ISBN 978-89-968650-3-2. S2CID 830503.
  11. Bilal, Muhammad; et al. (2017). "A Cache Management Scheme for Efficient Content Eviction and Replication in Cache Networks". IEEE Access. 5: 1692–1701. arXiv:1702.04078. Bibcode:2017arXiv170204078B. doi:10.1109/ACCESS.2017.2669344. S2CID 14517299.
  12. Simon Mackie (May 3, 2010). "9 More Simple Google Search Tricks". New York Times.
  13. Chris Murphy (May 30, 2011). "5 Lines Of Code In The Cloud". InformationWeek. p. 28. 300 million to 500 million fewer requests a day handled by AccuWeather servers
  14. Multiple (wiki). "Web application caching". Docforge. Archived from the original on 12 December 2019. Retrieved 2013-07-24.
  15. Gareth Tyson; Andreas Mauthe; Sebastian Kaune; Mu Mu; Thomas Plagemann. Corelli: A Dynamic Replication Service for Supporting Latency-Dependent Content in Community Networks (PDF). MMCN'09. Archived from the original (PDF) on 2015-06-18.
  16. "Globally Distributed Content Delivery, by J. Dilley, B. Maggs, J. Parikh, H. Prokop, R. Sitaraman and B. Weihl, IEEE Internet Computing, Volume 6, Issue 5, November 2002" (PDF). Archived (PDF) from the original on 2017-08-09. Retrieved 2019-10-25.
  17. "Definition: cloud storage gateway". SearchStorage. July 2014.
  18. Paul, S; Z Fei (1 February 2001). "Distributed caching with centralized control". Computer Communications. 24 (2): 256–268. CiteSeerX 10.1.1.38.1094. doi:10.1016/S0140-3664(00)00322-4.
  19. Khan, Iqbal (July 2009). "Distributed Caching on the Path To Scalability". MSDN. 24 (7).


अग्रिम पठन