लिनक्स 7.3-rc2 कर्नेल परीक्षण रिलीज के भाग के रूप में, हाइब्रिड सीपीयू पर कैश अवेयर लोड शेड्यूलिंग के साथ मुद्दों को लक्षित करते हुए लिनक्स कर्नेल शेड्यूलर के लिए एक नया फिक्स जारी किया गया है। अपडेट उन प्रदर्शन विसंगतियों को संबोधित करता है जो तब हो सकती हैं जब कार्यों को बड़े और छोटे कोर वाले सिस्टम पर छोटे कोर को सौंपा जाता है।
कैश अवेयर शेड्यूलिंग एक कर्नेल सुविधा है जिसे प्रदर्शन को बेहतर बनाने के लिए डिज़ाइन किया गया है, संबंधित कार्यों को उन सीपीयू कोर पर समूहीकृत करके जो समान अंतिम स्तर के कैश (एलएलसी) को साझा करते हैं, जिससे विलंबता कम होती है और कैश बाउंसिंग से बचा जा सकता है। हालाँकि, इंटेल इंजीनियर टिम चेन ने पाया कि हाइब्रिड सीपीयू पर, यह शेड्यूलिंग कभी-कभी कार्यों को कम शक्तिशाली 'लिटिल' कोर को सौंपने का कारण बन सकती है, जिससे प्रदर्शन में बाधा उत्पन्न होती है।
चेन के अनुसार, “कैश-अवेयर लोड बैलेंसिंग कार्यों को उनकी पसंदीदा एलएलसी की ओर झुकाती है। असममित सीपीयू क्षमता प्रणालियों (जैसे big.LITTLE) में, गंतव्य एलएलसी में सीपीयू हो सकते हैं जो कार्य को चलाने के लिए बहुत छोटे हैं। कार्य को वहां खींचने से यह एक बेमेल बन जाता है, एक कैश स्थानीयता लाभ का व्यापार एक क्षमता हानि के लिए करता है जो प्रदर्शन के लिए अधिक हानिकारक है।”
चेन द्वारा कार्यान्वित फिक्स में दो जाँच शामिल हैं: `can_migrate_llc_task()`, जो यदि कार्य फिट नहीं होगा तो गंतव्य सीपीयू पर माइग्रेशन को रोकता है, और `alb_break_llc()`, जो सक्रिय संतुलन के दौरान अनुपयुक्त सीपीयू पर कार्यों को धकेलने से रोकता है। ये जाँच विशेष रूप से हाइब्रिड प्रोसेसर पर लागू होती हैं, जिससे सममित प्रणालियाँ अप्रभावित रहती हैं। वे कार्य जो पहले से ही अपने वर्तमान सीपीयू में फिट नहीं होते हैं, उन्हें मौजूदा एलएलसी नीति द्वारा संभाला जाता है, और लोड बैलेंसिंग के दौरान बेमेल कार्यों को प्राथमिकता दी जाती है।
मूल कवरेज पढ़ें
💬 टिप्पणियाँ
📜 टिप्पणी नीति