Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

डेटा संरचना में कैश मिस की गणना करना


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

कई एल्गोरिदम के रन टाइम में संचालन की संख्या के बजाय मेमोरी संदर्भों की संख्या (कैश मिस की संख्या) का प्रभुत्व होता है। इसलिए, जब हम कुछ एल्गोरिदम तैयार करने की कोशिश करेंगे, तो हमें न केवल संचालन की संख्या को कम करने पर ध्यान केंद्रित करना होगा, बल्कि मेमोरी एक्सेस की संख्या को भी कम करना होगा। मेमोरी लेटेंसी को छिपाने वाले एल्गोरिदम को डिजाइन करने पर भी ध्यान देना होगा।

मान लीजिए कि एक साधारण कंप्यूटर मॉडल है जिसमें कंप्यूटर की मेमोरी में L1 कैश, L2 कैश और मुख्य मेमोरी होती है। हम रजिस्टरों में निवासी डेटा पर ALU का उपयोग करके कुछ अंकगणित और तार्किक संचालन करते हैं (R)

यह इसका ब्लॉक डायग्राम है -

डेटा संरचना में कैश मिस की गणना करना

आरेख से हम मेमोरी और कैश के आकार के बारे में भी कुछ जानकारी प्राप्त कर सकते हैं। मुख्य मेमोरी मूल रूप से सैकड़ों या हजारों एमबी की होती है। जहाँ L2 कैश MB का कुछ अंश है और L1 कैश कुछ KB है। रजिस्टर का आकार कुछ बिट्स है। जब हम किसी प्रोग्राम को निष्पादित करते हैं, तो सारा डेटा मेमोरी में होता है। अगर हम ADD जैसे कुछ ऑपरेशन जोड़ते हैं, तो पहले नंबर को रजिस्टर में स्टोर किया जाएगा, रजिस्टरों में डेटा जोड़ा जाता है, फिर परिणाम मेमोरी में लिखा जाता है।

एक चक्र को उस समय की लंबाई होने दें, जिसमें पहले से ही रजिस्टरों में मौजूद डेटा को जोड़ने की आवश्यकता होगी। L1 कैश से डेटा को एक रजिस्टर में लोड करने के लिए समय की आवश्यकता होती है, मान लीजिए कि इस मॉडल में दो चक्र हैं। यदि आवश्यक डेटा L1 कैश में नहीं है, लेकिन L2 कैश में मौजूद है, तो हमें L1 कैश मिस मिलता है और आवश्यक डेटा L2 कैश से L1 कैश में ले जाया जाता है और 10 चक्रों में रजिस्टर होता है। जब हमारा आवश्यक डेटा L2 कैश में भी नहीं होता है, तो हमारे पास L2 कैश मिस होता है और आवश्यक डेटा मुख्य मेमोरी से L2 कैश, L1 कैश और रजिस्टर में 100 चक्रों में ले जाया जाएगा। फिर डेटा को मुख्य मेमोरी में लिखे जाने पर भी राइट ऑपरेशन को एक चक्र के रूप में गिना जाता है, क्योंकि हम अगले ऑपरेशन पर आगे बढ़ने से पहले पूर्ण लेखन की प्रतीक्षा नहीं करते हैं


  1. डेटा संरचना में B+ ट्री क्वेरी

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

  1. डेटा संरचना में B+ ट्री

    यहां हम देखेंगे कि B+ पेड़ क्या हैं। B+ ट्री, B-ट्रीज़ का विस्तारित संस्करण है। यह पेड़ बी-ट्री पर बेहतर सम्मिलन, विलोपन और खोज का समर्थन करता है। बी-पेड़, चाबियाँ और रिकॉर्ड मान आंतरिक और साथ ही पत्ती नोड्स में संग्रहीत होते हैं। बी + ट्री रिकॉर्ड में, लीफ नोड पर संग्रहीत किया जा सकता है, आंतरिक न

  1. हाफेज डेटा संरचना

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