Kops: Safely Extending the eBPF Compilation Pipeline with Native Operations
कोप्स (Kops) एक सुरक्षित विस्तार इंटरफ़ेस है जो उपयोगकर्ताओं के लिए यूस्पेस कंपाइलर और कर्नेल मॉड्यूल को नए नेटिव ऑपरेशन्स पेश करने की अनुमति देकर eBPF प्रोग्रामों को त्वरित करता है—जो वैनिला eBPF प्रूफ़ अनुक्रमों के माध्यम से सत्यापित किए जाते हैं—जिससे कर्नेल के ट्रस्टेड कंप्यूटिंग बेस का विस्तार किए बिना महत्वपूर्ण प्रदर्शन लाभ प्राप्त होता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि ऑपरेटिंग सिस्टम (आपके कंप्यूटर का "मस्तिष्क") के पास एक बहुत ही सख्त सुरक्षा गार्ड है। यह गार्ड, जिसे eBPF Verifier कहा जाता है, कर्नेल के अंदर चलने वाले हर छोटे प्रोग्राम (जैसे कि एक ट्रैफिक पुलिस या सुरक्षा स्कैनर) की जांच करता है। यह गार्ड अविश्वसनीय रूप से सावधान है: यह केवल तभी प्रोग्रामों को चलाने की अनुमति देता है जो एक बहुत ही सरल, सुरक्षित भाषा में लिखे गए हों।
एक बार जब गार्ड कहता है, "ठीक है, यह सुरक्षित है," तो एक अनुवादक (JIT Compiler) उस सरल भाषा को कंप्यूटर की मूल भाषा (native language) में बदल देता है ताकि वह तेज़ी से चल सके।
समस्या: "एक बार में एक शब्द" वाला अनुवादक
पेपर बताता है कि वर्तमान अनुवादक को बहुत ही सरल और भरोसेमंद बनाने के लिए डिज़ाइन किया गया है। यह सुरक्षित प्रोग्राम को एक समय में एक निर्देश (instruction) करके, एक ही बार में (single pass में) अनुवाद करता है। यह आगे की नहीं देखता या चतुर होने की कोशिश नहीं करता।
इसे ऐसे सोचिए जैसे एक अनुवादक जिसे मुहावरों या शॉर्टकट का उपयोग करने से मना किया गया हो। यदि आप "एक संख्या को घुमाने (rotate)" के बारे में कहना चाहते हैं, तो सुरक्षित भाषा में इसके लिए एक अकेला शब्द नहीं है। इसलिए, अनुवादक को उसी चीज़ को समझाने के लिए दस अलग-अलग शब्दों का उपयोग करके एक लंबा, बोझिल वाक्य लिखना होगा।
- परिणाम: कंप्यूटर को एक एकल, शक्तिशाली कमांड के बजाय एक लंबा, अव्यवस्थित वाक्य पढ़ना और निष्पादित करना पड़ता है। यह eBPF प्रोग्रामों को उनकी क्षमता के मुकाबले दोगुना धीमा बना देता है।
समाधान: Kops (द "मैजिक पासपोर्ट")
लेखकों ने Kops नामक एक प्रणाली बनाई है। Kops को एक विशेष "मैजिक पासपोर्ट" प्रणाली के रूप में समझें जो कंप्यूटर को सुरक्षा गार्ड के नियमों को तोड़े बिना शक्तिशाली, नेटिव शॉर्टकट का उपयोग करने की अनुमति देती है।
यह यहाँ कैसे काम करता है, एक सरल उपमा का उपयोग करते हुए:
दो-भाग वाला पासपोर्ट: प्रत्येक नया "शॉर्टकट" (जैसे कि हार्डवेयर रोटेशन या कंडीशनल सिलेक्शन) दो भागों के साथ आता है:
- प्रमाण (The Proof - सुरक्षित संस्करण): सुरक्षित भाषा में लिखा गया एक लंबा, उबाऊ, चरण-दर-चरण स्पष्टीकरण। सुरक्षा गार्ड यह सुनिश्चित करने के लिए इसकी जांच करता है कि यह सुरक्षित है।
- नेटिव एमिट (The Native Emit - जादुई संस्करण): एक एकल, शक्तिशाली निर्देश जिसे कंप्यूटर का हार्डवेयर वास्तव में निष्पादित करता है।
प्रक्रिया:
- प्रोग्राम चलने से पहले, एक "रेकग्नाइज़र" (कर्नेल के बाहर एक स्मार्ट टूल) पैटर्न की तलाश करता है। यदि यह एक लंबे, बोझिल वाक्य को देखता है जो किसी ज्ञात शॉर्टकट से मेल खाता है, तो यह उसे "मैजिक पासपोर्ट" के साथ बदल देता है।
- सुरक्षा गार्ड अभी भी लंबे, उबाऊ "प्रमाण" (Proof) संस्करण को देखता है। वह इसकी जांच करता है, कहता है "सुरक्षित," और हरी झंडी दे देता है।
- अनुवादक फिर "मैजिक पासपोर्ट" को देखता है। लंबे वाक्य का अनुवाद करने के बजाय, यह सीधे उसे एक एकल, शक्तिशाली नेटिव निर्देश से बदल देता है।
सुरक्षा गारंटी: सुरक्षा गार्ड कभी भी "जादुई" संस्करण को नहीं देखता है। वह केवल "प्रमाण" पर भरोसा करता है। सिस्टम में जो नया चीज़ है जिस पर उन्हें भरोसा करना है, वह केवल वह विशिष्ट कोड है जो "प्रमाण" को "जादुई" निर्देश में बदलता है। लेखकों ने गणितीय रूप से (Lean 4 नामक टूल का उपयोग करके) सिद्ध किया है कि "जादुई" निर्देश बिल्कुल वही काम करता है जो लंबा "प्रमाण" वाक्य करता है।
उन्होंने क्या बनाया? (EInsn)
Kops का उपयोग करके, उन्होंने सात विशिष्ट शॉर्टकट बनाए जिन्हें EInsn कहा जाता है। ये ऐसी चीज़ें हैं जिन्हें करने में कंप्यूटर एक ही चरण में बहुत कुशल है (जैसे बिट्स को घुमाना या दो मानों के बीच चयन करना), लेकिन जिसे सुरक्षित भाषा आमतौर पर कई चरणों में करने के लिए मजबूर करती है।
परिणाम
- गति (Speed): इन शॉर्टकट का उपयोग करके, उन्होंने eBPF प्रोग्रामों को कुछ कंप्यूटरों पर 24% तेज़ और अन्य पर 22% तेज़ बना दिया। वास्तविक दुनिया के अनुप्रयोगों (जैसे नेटवर्क ट्रैफ़िक प्रबंधन) में, उन्होंने 12% तक की गति वृद्धि देखी।
- सुरक्षा: उन्हें सुरक्षा गार्ड के नियमों को बदलने या अनुवादक को अधिक जटिल बनाने की आवश्यकता नहीं पड़ी। उनका "विश्वसनीय" हिस्सा छोटा और सुरक्षित रहा।
- लचीलापन: यदि कोई कंप्यूटर किसी विशिष्ट शॉर्टकट का समर्थन नहीं करता है, तो सिस्टम बस लंबे, सुरक्षित संस्करण पर वापस आ जाता है। इससे सिस्टम टूटता नहीं है।
बड़ी तस्वीर (The Big Picture)
कल्पना कीजिए कि आप एक कार (कंप्यूटर) चला रहे हैं। वर्तमान नियम कहते हैं कि आपको 20 mph की गति से गाड़ी चलानी चाहिए क्योंकि स्पीडोमीटर खराब है और यह केवल 5-mph के अंतराल में पढ़ सकता है। आप तेज़ नहीं जा सकते, भले ही सड़क साफ़ हो।
Kops एक विशेष लाइसेंस की तरह है जो कहता है: "हम जानते हैं कि आप सुरक्षित रूप से गाड़ी चला रहे हैं (प्रमाण), इसलिए हम आपको अपनी कार के वास्तविक स्पीडोमीटर (नेटिव एमिट) का उपयोग करने देंगे ताकि आप तेज़ चल सकें, लेकिन केवल विशिष्ट, पूर्व-अनुमोदित सड़कों पर।"
उन्होंने सिद्ध किया कि यह नया तरीका ड्राइविंग का तरीका पुराने तरीके जितना ही सुरक्षित है, लेकिन यह आपको अपने गंतव्य तक बहुत तेज़ी से पहुँचाता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।