Roman Gushchin (
Det föreslagna tillvägagångssättet gör det möjligt att öka effektiviteten av att använda skiva, minska storleken på minnet som används för skiva med 30-45 % och avsevärt minska kärnans totala minnesförbrukning. Genom att minska antalet icke-flyttbara plattor finns det också en positiv effekt för att minska minnesfragmenteringen. Den nya minneskontrollern förenklar avsevärt koden för redovisning av skivor och kräver inte användning av komplicerade algoritmer för att dynamiskt skapa och ta bort skivcachar för varje c-grupp. Alla minnes-cgroups i den nya implementeringen använder en gemensam uppsättning skivcacher, och livslängden för skivcacher är inte längre bunden till livslängden för de som installerats via cgroup
Den mer exakta resursredovisningen som implementerats i den nya skivstyrenheten borde teoretiskt sett belasta CPU:n mer, men i praktiken visade sig skillnaderna vara obetydliga. I synnerhet har den nya skivstyrenheten använts i flera månader på Facebook-produktionsservrar som hanterar olika typer av arbetsbelastning, och inga märkbara regressioner har ännu identifierats. Samtidigt finns det en betydande minskning av minnesförbrukningen - på vissa värdar var det möjligt att spara upp till 1 GB minne, men denna indikator beror mycket på belastningens art, den totala storleken på RAM, antalet processorer och funktionerna i att arbeta med minne. Tidigare tester
Källa: opennet.ru