हर्मिट, नियंत्रित परीक्षण और त्रुटि का पता लगाने के लिए एक उपकरण

एकांतवासी

हर्मिट, एक प्रतिलिपि प्रस्तुत करने योग्य कंटेनर के रूप में, यह एक विचार देता है कि यह कैसा होगा यदि सिस्टम स्टैक एक अमूर्तता के रूप में दोहराव प्रदान करता है

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

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

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

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

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

हर्मिट के बारे में

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

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

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

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

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

निदान करने के लिए दौड़ की स्थिति के कारण थ्रेड्स की समस्या, हर्मिट संचालन का पता लगाने के लिए एक मोड है जो क्रम से बाहर थे और जाम लगा दिया। ऐसी समस्याओं की पहचान करने के लिए, उन राज्यों के बीच तुलना की जाती है जिनमें सही संचालन और निष्पादन की असामान्य समाप्ति दर्ज की गई थी।

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

आप विवरण की जांच कर सकते हैं निम्नलिखित लिंक।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: एबी इंटरनेट नेटवर्क 2008 SL
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।