Facebook Linux కెర్నల్ కోసం కొత్త స్లాబ్ మెమరీ నిర్వహణ విధానాన్ని ప్రతిపాదించింది

రోమన్ గుష్చిన్ (రోమన్ గుష్చిన్) Facebook నుండి ప్రచురించిన Linux కెర్నల్ డెవలపర్‌ల మెయిలింగ్ జాబితాలో కొత్త మెమరీ కేటాయింపు నియంత్రిక అమలుతో కూడిన ప్యాచ్‌ల సమితి స్లాబ్ (స్లాబ్ మెమరీ కంట్రోలర్). కొత్త కంట్రోలర్ స్లాబ్ అకౌంటింగ్‌ను మెమరీ పేజీ స్థాయి నుండి కెర్నల్ ఆబ్జెక్ట్ స్థాయికి తరలించడం ద్వారా గుర్తించదగినది, ఇది ప్రతి cgroupకి ప్రత్యేక స్లాబ్ కాష్‌లను కేటాయించే బదులు వివిధ cgroupలలో స్లాబ్ పేజీలను పంచుకోవడం సాధ్యం చేస్తుంది.

ప్రతిపాదిత విధానం స్లాబ్‌ను ఉపయోగించడం యొక్క సామర్థ్యాన్ని పెంచడం, స్లాబ్ కోసం ఉపయోగించే మెమరీ పరిమాణాన్ని 30-45% తగ్గించడం మరియు కెర్నల్ యొక్క మొత్తం మెమరీ వినియోగాన్ని గణనీయంగా తగ్గించడం సాధ్యం చేస్తుంది. నాన్-మూవబుల్ స్లాబ్‌ల సంఖ్యను తగ్గించడం ద్వారా, మెమరీ ఫ్రాగ్మెంటేషన్‌ను తగ్గించడంలో సానుకూల ప్రభావం కూడా ఉంది. కొత్త మెమరీ కంట్రోలర్ స్లాబ్‌ల కోసం అకౌంటింగ్ కోసం కోడ్‌ను గణనీయంగా సులభతరం చేస్తుంది మరియు ప్రతి cgroup కోసం స్లాబ్ కాష్‌లను డైనమిక్‌గా సృష్టించడం మరియు తొలగించడం కోసం సంక్లిష్టమైన అల్గారిథమ్‌ల ఉపయోగం అవసరం లేదు. కొత్త అమలులోని అన్ని మెమరీ cgroupలు స్లాబ్ కాష్‌ల యొక్క సాధారణ సెట్‌ను ఉపయోగిస్తాయి మరియు స్లాబ్ కాష్‌ల జీవితకాలం ఇకపై cgroup ద్వారా ఇన్‌స్టాల్ చేయబడిన వాటి జీవితకాలంతో ముడిపడి ఉండదు. పరిమితులు మెమరీ వినియోగంపై.

కొత్త స్లాబ్ కంట్రోలర్‌లో అమలు చేయబడిన మరింత ఖచ్చితమైన రిసోర్స్ అకౌంటింగ్ సిద్ధాంతపరంగా CPUని మరింత లోడ్ చేయాలి, కానీ ఆచరణలో తేడాలు చాలా తక్కువగా ఉన్నాయి. ప్రత్యేకించి, కొత్త స్లాబ్ కంట్రోలర్ వివిధ రకాల పనిభారాన్ని నిర్వహించే ప్రొడక్షన్ Facebook సర్వర్‌లలో చాలా నెలలుగా ఉపయోగించబడింది మరియు గుర్తించదగిన తిరోగమనాలు ఇంకా గుర్తించబడలేదు. అదే సమయంలో, మెమరీ వినియోగంలో గణనీయమైన తగ్గింపు ఉంది - కొన్ని హోస్ట్‌లలో 1GB వరకు మెమరీని ఆదా చేయడం సాధ్యమైంది, అయితే ఈ సూచిక లోడ్ యొక్క స్వభావం, మొత్తం RAM పరిమాణం, CPUల సంఖ్యపై ఎక్కువగా ఆధారపడి ఉంటుంది. మరియు మెమరీతో పని చేసే లక్షణాలు. మునుపటి పరీక్షలు చూపించాడు వెబ్ ఫ్రంట్-ఎండ్‌లో 650-700 MB (స్లాబ్ మెమరీలో 42%), DBMS కాష్‌తో సర్వర్‌లో 750-800 MB (35%) మరియు DNS సర్వర్‌లో 700 MB (36%) మెమరీ వినియోగంలో తగ్గింపు.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి