प्रीलोड एक "एडाप्टिव रीडहेड डेमॉन" है जो आपके सिस्टम की पृष्ठभूमि में चलता है, और यह देखता है कि आप किन कार्यक्रमों का सबसे अधिक उपयोग करते हैं, उन्हें एप्लिकेशन लोड समय को गति देने के लिए कैशिंग करते हैं। प्रीलोड का उपयोग करके, आप अप्रयुक्त रैम को अच्छे काम में लगा सकते हैं, और अपने डेस्कटॉप सिस्टम के समग्र प्रदर्शन में सुधार कर सकते हैं।
एकदम से प्रदर्शन में भारी बदलाव देखने की उम्मीद न करें। इसके अलावा, यदि आप केवल एप्लिकेशन को दोहराव से खोल रहे हैं / बंद कर रहे हैं, तो आपका कंप्यूटर उन फाइलों को वैसे भी कैश में स्टोर करेगा (इसे "वार्म" लोड कहा जाता है), इसलिए आपको वहां गति में कोई अंतर नहीं दिखेगा। हालाँकि, आप एक गति सुधार देखेंगे, उदाहरण के लिए, आप एक कार्यक्रम का उपयोग रुक-रुक कर करते हैं; ये कार्यक्रम प्रीलोड के बिना तेजी से शुरू होंगे।
प्रीलोड आवेदन समय में एक महान सुधार प्रदान कर सकता है; चूंकि अधिकांश आधुनिक मशीनों में स्पेयर करने के लिए मेमोरी का एक अच्छा सौदा है, इसलिए प्रीलोड इस रैम को अच्छे उपयोग के लिए रखता है। 1
अब कहा जा रहा है, ऐसा लगता है कि प्रीलोड एक महान उपयोगिता है, और यह हो सकता है।
मुझे लगता है कि इसका कारण ओएस के साथ नहीं भरा हुआ है, ऐसा इसलिए है क्योंकि उपयोगकर्ता को यह जानना है कि वास्तव में वहां क्या कर रहे हैं, और इसका उपयोग करने में सक्षम होने के लिए पर्याप्त अनुभव है और सिस्टम के पास पर्याप्त रैम होना चाहिए।
अधिक तकनीकी पहलू पर, हार्ड डिस्क से रैम तक डेटा को स्थानांतरित करके प्रीलोड काम करता है, जो कि स्लीप मोड में जाने के लिए सबसे हार्ड डिस्क का उपयोग करता है यदि उपयोग नहीं किया जाता है, और फिर ज़रूरत पड़ने पर वापस स्पिन करना पड़ता है। इसलिए ड्राइव को ऊपर / नीचे स्पिन करने से लोड / अनलोड साइकिल काउंट और पावर-ऑन टाइम काउंट में वृद्धि होगी, और इससे ड्राइव का जीवन छोटा हो जाएगा।
हमने एक मार्कोव-आधारित अनुकूली प्रीफ़ेचिंग योजना को डिज़ाइन किया और लागू किया, जो अनुप्रयोग-स्तर की भविष्यवाणियों पर काम करती है। इसके अलावा, प्रीलोड को यूजरस्पेस में लागू किया जाता है और यह किसी भी मायने में एप्लिकेशन रन-टाइम वातावरण को नहीं बदलता है। जहां तक हम जानते हैं, इस स्तर पर system ले-सिस्टम प्रीफेटिंग के साथ प्रयोग करना is rst कार्य है।
हमारे प्रयोगात्मक परिणाम ठंड के कैश की तुलना में एप्लिकेशन स्टार्ट-अप समय पर आशाजनक सुधार दिखाते हैं, और एक भोली भविष्यवाणी एल्गोरिथ्म की तुलना में एक सभ्य हिट दर।
हालांकि, उपयोगकर्ता-अंतरिक्ष में होने से स्टार्टअप-टाइम समस्या के लिए एक प्रतिस्पर्धी समाधान को प्रीलोड करने में बड़ी बाधाएं आती हैं। विशेष रूप से, अनुप्रयोगों के बारे में पूरी जानकारी न होना I / O अनुरोध, और पेज-कैश सबसिस्टम के साथ मजबूत संचार चैनलों की कमी प्रीलोड के ई ff एक्टिविटी को बहुत कम कर देता है, विशेष रूप से तंग स्मृति स्थितियों के तहत।
प्रीलोड डिज़ाइन के साथ एक और अंतर्निहित समस्या उच्च विचरण और कम भविष्यवाणी कोन है, जो अनुप्रयोग स्टार्ट-अप के अपेक्षाकृत ढीले सहसंबंध के कारण होता है। यद्यपि हम सफलतापूर्वक एप्लिकेशन सहसंबंधों को ट्रैक करने के लिए एक मॉडल बनाते हैं, तथ्य यह है कि अनुप्रयोग लॉन्च उस समयकाल की तुलना में बहुत ही दुर्लभ घटनाएं हैं जिन पर कंप्यूटर काम करते हैं, एक अनुप्रयोग-स्तर प्रीफ़ेटिंग स्कीम को f नाइट पीरियड्स के दौरान व्यावहारिक रूप से विशाल प्रीफ़ैचिंग मेमोरी का उपभोग करने के लिए निंदा की जाती है। इस मेमोरी का उपयोग अल्पकालिक कैश व्यवहार को बेहतर बनाने के लिए किया जा सकता है।
अंत में, हम कर्नेल में कैश सबसिस्टम के साथ एकीकृत प्रीफ़ेचर में वापस आने के बिना बूट-टाइम, लॉगिन-टाइम और एप्लिकेशन स्टार्टअप-टाइम को बेहतर बनाने के लिए सिस्टम डेवलपर्स के लिए सिफारिशों के एक सेट के साथ आते हैं। बेशक, कर्नेल में एक-ले-आधारित प्रीफ़ेचर उस के शीर्ष पर सुधार कर सकता है। 2
1 स्रोत: टेकथ्रोब
2 स्रोत: प्रीलोड - बेहदाद एस्फाहबोड द्वारा एक अनुकूली प्रीफेचिंग डेमॉन - मास्टर ऑफ साइंस की डिग्री के लिए आवश्यकताओं के अनुरूप एक थीसिस - कंप्यूटर विज्ञान के स्नातक विभाग - टोरंटो विश्वविद्यालय के कॉपीराइट (सी) 2006 में बेहदाद एशफबॉड।