Facebook ka propozuar një mekanizëm të ri të menaxhimit të memories së pllakave për kernelin Linux

Roman Gushchin (Roman Gushchin) nga Facebook publikuar në listën e postimeve të zhvilluesve të kernelit Linux një grup arnash me zbatimin e një kontrolluesi të ri të shpërndarjes së memories pllakë (kontrolluesi i memories së pllakës). Kontrolluesi i ri është i dukshëm për lëvizjen e llogaritjes së pllakave nga niveli i faqes së kujtesës në nivelin e objektit të kernelit, gjë që bën të mundur ndarjen e faqeve të pllakave në cgrupe të ndryshme, në vend që të alokohen cache të veçanta të pllakave për secilin cgrup.

Qasja e propozuar bën të mundur rritjen e efikasitetit të përdorimit të pllakës, zvogëlimin e madhësisë së memories së përdorur për pllakën me 30-45% dhe redukton ndjeshëm konsumin e përgjithshëm të memories së kernelit. Duke reduktuar numrin e pllakave jo të lëvizshme, ka një efekt pozitiv edhe në uljen e fragmentimit të kujtesës. Kontrolluesi i ri i memories thjeshton në mënyrë të konsiderueshme kodin për llogaritjen e pllakave dhe nuk kërkon përdorimin e algoritmeve të ndërlikuara për krijimin dhe fshirjen dinamike të cache-ve të pllakave për çdo cgrup. Të gjitha c-grupet e memories në implementimin e ri përdorin një grup të përbashkët të memories së pllakave dhe jetëgjatësia e cache-ve të pllakave nuk është më e lidhur me jetëgjatësinë e atyre të instaluar përmes cgroup kufizimet mbi përdorimin e kujtesës.

Kontabiliteti më i saktë i burimeve i zbatuar në kontrolluesin e ri të pllakës duhet teorikisht të ngarkojë më shumë CPU-në, por në praktikë ndryshimet rezultuan të parëndësishme. Në veçanti, kontrolluesi i ri i pllakave është përdorur për disa muaj në serverët e prodhimit të Facebook që trajtojnë lloje të ndryshme të ngarkesës së punës dhe ende nuk janë identifikuar regresione të dukshme. Në të njëjtën kohë, ka një ulje të konsiderueshme të konsumit të memories - në disa hoste ishte e mundur të kursehej deri në 1 GB memorie, por ky tregues varet shumë nga natyra e ngarkesës, madhësia totale e RAM-it, numri i CPU-ve. dhe veçoritë e punës me kujtesën. Testet e mëparshme shfaqje zvogëlimi i konsumit të memories me 650-700 MB (42% e memories së pllakës) në faqen e përparme të uebit, 750-800 MB (35%) në server me një memorie të fshehtë DBMS dhe 700 MB (36%) në serverin DNS.

Burimi: opennet.ru

Shto një koment