Kubernetes 1.36: GPU डिवाइस विफलताओं को अनंत लंबित स्थिति के बिना संभालना

NVIDIANVIDIA MetaMeta
कुबरनेट्स में, GPU डिवाइस की विफलता स्वचालित रूप से पॉड पुनर्निर्धारण की ओर नहीं ले जाती; इसके बजाय, क्यूबलेट उसी मृत डिवाइस पर कंटेनर को पुनः आरंभ करता है, जिससे क्रैश लूप होता है। लेख इस परिदृश्य को टेस्टबेड पर प्रदर्शित करता है और दिखाता है कि कुबरनेट्स 1.36 में नए तंत्र, जैसे कि डिवाइस स्वास्थ्य स्थिति और टेंट्स, चक्र को तोड़ सकते हैं।
यह लेख इस बात पर प्रकाश डालता है कि Kubernetes, डिफ़ॉल्ट रूप से, डिवाइस विफलताओं को केवल कंटेनर को पुनः आरंभ करके संभालता है, जो GPU-त्वरित कार्यभार के लिए अपर्याप्त है। Meta के अध्ययन का हवाला देते हुए, जो Llama 3 405B के प्रशिक्षण पर किया गया, यह नोट करता है कि हजारों GPU वाले क्लस्टरों में लगातार व्यवधान होते हैं, जो अक्सर GPU और मेमोरी विफलताओं के कारण होते हैं। लेखक क्लासिक डिवाइस प्लगइन दृष्टिकोण की सीमाओं की व्याख्या करता है, जो केवल आवंटन योग्य गणना को कम करता है, और इसे नए DRA (डायनामिक रिसोर्स अलोकेशन) मॉडल से तुलना करता है जो वस्तु-आधारित डिवाइस प्रबंधन प्रदान करता है। एक परीक्षण क्लस्टर पर, लेखक PCIe बस से डिवाइस को हॉट-रिमूव करके एक GPU विफलता का अनुकरण करता है, जिसके परिणामस्वरूप Xid 79 होता है। पॉड फिर एक क्रैश लूप में प्रवेश करता है, मृत डिवाइस पर पुनः आरंभ होता है, और शेड्यूलर इसे पुनर्निर्धारित नहीं करता है क्योंकि यह अभी भी नोड से बंधा हुआ है। Kubernetes 1.36 इस समस्या को हल करने के लिए कई बीटा सुविधाएँ प्रस्तुत करता है: पॉड स्थिति में डिवाइस स्वास्थ्य स्थिति, डिवाइस टेंट और टॉलरेशन, और विभाजन योग्य डिवाइस। इनका उपयोग करके, क्लस्टर विफलता को पहचानने और पॉड को एक स्वस्थ GPU पर शेड्यूल करने में सक्षम बनाया जा सकता है, जिससे अंतहीन पुनः आरंभ से बचा जा सकता है।
स्रोत: Habr — хаб ML — मूल
इस विषय पर हमारी पिछली पोस्ट ↓
ताज़ा समाचार