Facebook on ehdottanut uutta levymuistin hallintamekanismia Linux-ytimelle

Roman Gushchin (Roman Gushchin) Facebookista julkaistu Linux-ytimen kehittäjien postituslistalla joukko korjaustiedostoja, joissa on toteutettu uusi muistinvarausohjain laatta (levymuistiohjain). Uusi ohjain on huomionarvoinen slab-kirjanpidon siirtämisessä muistisivutasolta ytimen objektitasolle, mikä mahdollistaa slab-sivujen jakamisen eri c-ryhmissä sen sijaan, että jokaiselle c-ryhmälle varattaisiin erillinen laattavälimuisti.

Ehdotettu lähestymistapa mahdollistaa slab:n käytön tehokkuuden lisäämisen, slab:n käyttämän muistin koon pienentämisen 30-45 % ja ytimen kokonaismuistin kulutuksen pienentämisen merkittävästi. Vähentämällä ei-liikkuvien laattojen määrää on myös myönteinen vaikutus muistin pirstoutumisen vähentämiseen. Uusi muistiohjain yksinkertaistaa merkittävästi laattojen kirjanpitokoodia eikä vaadi monimutkaisten algoritmien käyttöä kunkin c-ryhmän levyvälimuistien dynaamiseen luomiseen ja poistamiseen. Kaikki uuden toteutuksen muistin c-ryhmät käyttävät yhteistä levyvälimuistijoukkoa, eikä levyvälimuistien käyttöikä ole enää sidottu cgroupin kautta asennettujen ryhmien käyttöikään. rajoituksia muistin käytöstä.

Uuteen laattaohjaimeen toteutetun tarkemman resurssikirjanpidon pitäisi teoreettisesti kuormittaa prosessoria enemmän, mutta käytännössä erot osoittautuivat merkityksettömiksi. Erityisesti uutta laattaohjainta on käytetty useita kuukausia erityyppisiä työkuormia käsittelevillä Facebook-tuotantopalvelimilla, eikä havaittavia regressioita ole vielä havaittu. Samaan aikaan muistin kulutus vähenee merkittävästi - joissakin isännissä oli mahdollista säästää jopa 1 Gt muistia, mutta tämä indikaattori riippuu suuresti kuorman luonteesta, RAM-muistin kokonaiskoosta, prosessorien lukumäärästä. ja muistin kanssa työskentelyn ominaisuudet. Aiemmat testit näytti muistin kulutus pienenee 650-700 Mt (42 % levymuistista) web-käyttöliittymässä, 750-800 Mt (35 %) palvelimessa, jossa on DBMS-välimuisti, ja 700 Mt (36 %) DNS-palvelimessa.

Lähde: opennet.ru

Lisää kommentti