फेसबुकने लिनक्समधील स्लॅब मेमरी कंट्रोलर सुधारित करणारे पॅच जारी केले

रोमन गुश्किन (एक फेसबुक सॉफ्टवेअर अभियंता) नोंदणी लिनक्स कर्नल डेव्हलपमेंट लिस्ट मध्ये, स्लॅब कंट्रोलर मेमरी मॅपिंग अनुप्रयोगावरील पॅचचा एक संच (एक मेमरी नियंत्रक).

नवीन नियंत्रक उल्लेखनीय आहे स्लॅब अकाउंटिंगला मेमरी पेज लेव्हलपासून कर्नल ऑब्जेक्ट लेव्हलवर हलवून स्लॅब पेजेस वेगवेगळ्या गटात शेअर करणे शक्य केले जाते, प्रत्येक गटासाठी स्वतंत्र स्लॅब कॅशे वाटप करण्याऐवजी.

सध्याच्या स्लॅब मेमरी कंट्रोलरमध्ये रोमनला ज्याला “अत्यंत गंभीर दोष” म्हणतात त्या सापडल्या ज्या आजकाल सीग्रूप्सच्या सहाय्याने कमी उपयोगात आणतात.

“विद्यमान डिझाइन कमी स्लॅबच्या वापरास कारणीभूत ठरण्याचे वास्तविक कारण सोपे आहे: स्लॅब पृष्ठे मेमरी पूलद्वारे विशेषपणे वापरली जातात.

जर तेथे सीग्रुपने बनवलेल्या काही विशिष्ट आकाराचे काही वाटप झाले असेल किंवा जर काही सक्रिय ऑब्जेक्ट्स शिल्लक राहिल्यानंतर उरले असतील, किंवा cgroup मध्ये एकच थ्रेडेड containsप्लिकेशन आहे जो केवळ कर्नल ऑब्जेक्ट्सचे वाटप करीत आहे, परंतु प्रत्येक वेळी नवीन सीपीयू: या सर्व प्रकरणांमध्ये, परिणामी स्लॅबचा वापर खूप कमी आहे.

जर केएमएम अकाउंटिंग अक्षम केले असेल तर, कर्नल इतर वाटपांसाठी स्लॅब पृष्ठांवर मोकळी जागा वापरू शकेल. «

प्रस्तावित स्लॅब मेमरी कंट्रोलर गेल्या वर्षी रोमानो गुश्चिन यांनी जोरदार आशा व्यक्त केली होती कार्यक्षमता वाढवते स्लॅबचा वापर, वापरलेल्या मेमरीचा आकार कमी करा 30-45% च्या स्लॅबसाठी आणि एकूण कर्नल मेमरी खप लक्षणीय कमी करते.

तसेच लागू केलेले पॅचेस सूचित करतात फेसबुक त्यांच्या सर्व्हरवर उत्पादन कोड आधीपासून वापरत होता आणि होता फ्रंट-एंड वेब सर्व्हरसाठी 650 700-XNUMXMB + वाचवित आहे, इतर पुरस्कारांपैकी डेटाबेस कॅशिंग आणि डीएनएस सर्व्हर.

मोबाईल नसलेल्या स्लॅबची संख्या कमी करून, मेमरी फ्रॅग्मेंटेशन कमी करण्याच्या क्षेत्रातही सकारात्मक परिणाम दिसून येतो. नवीन मेमरी कंट्रोलर लेखा स्लॅबसाठी कोड लक्षणीय सुलभ करते आणि प्रत्येक गटासाठी गतिमान निर्मिती आणि स्लॅब कॅशे हटविण्यासाठी क्लिष्ट अल्गोरिदम आवश्यक नाहीत c.

नवीन अंमलबजावणीमध्ये मेमरीसाठी सर्व cgroups स्लॅब कॅशेचा एक सामान्य सेट वापरतात आणि स्लॅब कॅशचे आयुष्य यापुढे cgroup च्या स्मृती मर्यादांच्या आयुष्याशी जोडलेले नाही.

नवीन स्लॅब कंट्रोलरमध्ये अंमलात आणलेल्या अधिक अचूक स्त्रोताच्या लेखामध्ये सिद्धांतानुसार सीपीयू अधिक लोड केले जाणे आवश्यक आहे, परंतु प्रत्यक्ष व्यवहारात हे नगण्य असल्याचे दिसून आले.

विशेषतः नवीन स्लॅब ड्राइव्हर अनेक महिन्यांपासून फेसबुक सर्व्हरवर वापरला जात आहे ऑपरेशनमध्ये जे विविध प्रकारचे भार हाताळतात आणि आतापर्यंत कोणतेही महत्त्वपूर्ण रेग्रेस सापडलेले नाही.

पॅचमध्ये दोन अर्ध-स्वतंत्र भाग असतात, जे स्लॅबच्या मेमरी कंट्रोलरच्या बाहेर देखील त्यांचा वापर शोधू शकतात:

  • सबपेज लोड एपीआय, जी भविष्यात पृष्ठाचा आकार नसलेल्या इतर वस्तू मोजण्यासाठी वापरली जाऊ शकते, उदाहरणार्थ पर्कपू वाटप
  • Mem_cgroup_ptr एपीआय, जेथे पॉईंटर्स मेमकॅगला मोजले जातात, ते इतर ऑब्जेक्ट्सच्या कार्यक्षमतेसाठी, उदाहरणार्थ पृष्ठ कॅशेसाठी पुन्हा वापरले जाऊ शकतात.

त्याच वेळी मेमरी वापरात लक्षणीय घट झाली आहे- काही होस्टवर 1 जीबी पर्यंत मेमरी जतन करणे शक्य होते, परंतु हे सूचक मोठ्या प्रमाणात लोडच्या स्वरूपावर अवलंबून असते, रॅमचा एकूण आकार, सीपीयूची मात्रा आणि मेमरीसह कार्य करण्याची वैशिष्ट्ये.

प्रत्येक मेमरी सीग्रुपसाठी kmem_cache चा वेगळा सेट तयार करण्याऐवजी, दोन ग्लोबल सेट्स वापरल्या जातात: विना अकाउंट्डसाठी रूट सेट आणि रूट ग्रुप cgroup असाइनमेंट्स व इतर सर्व असाइनमेंट्सकरिता दुसरा सेट. हे वैयक्तिक kmem_cach चे आजीवन व्यवस्थापन सुलभ करण्यास अनुमती देते.

शेवटी, जर आपल्याला 19 पॅचेसचा नवीन संच जाणून घेण्यात रस असेल तर तो यादीमध्ये आढळू शकेल कर्नल मेल.


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.