Facebookek Linuxen Slab memoria kontrolatzailea hobetzen duten adabak kaleratu ditu

Roman Gushchin (Facebook software ingeniaria) erregistroa Linux nukleoaren garapen zerrendan, adabaki multzo bat lauza kontroladorearen memoria mapatzeko aplikazioarentzat (memoria kontroladore bat).

Kontrolatzaile berria nabarmena da lauza kontabilitatea memoria orrien mailatik kernel objektuen mailara mugituz, eta horrek lauza orriak c talde desberdinetan partekatzea ahalbidetzen du, c talde bakoitzerako lauza cacheak banatu ordez.

Romanek "akats oso larria" topatu zuen lehendik zegoen lauza memoria kontrolagailuan, gaur egun cgroup-ekin erabilera txikia eragiten duena.

"Egungo diseinuak lauza gutxi erabiltzea eragiten duen benetako arrazoia sinplea da: lauza orriak memoria-multzo batek bakarrik erabiltzen ditu.

Cgroup-ek egindako tamaina jakin bateko esleipen batzuk bakarrik badaude, edo cgroup-a kendu ondoren objektu aktibo batzuk geratzen badira, edo cgroup-ek kernel objektuak ia ez ditu esleitzen duen hari-aplikazio bakarra badu, baina CPU berria: kasu hauetan guztietan, ondorioz, lauza erabilera oso txikia da.

Kmem kontabilitatea desgaituta badago, nukleoak espazio librea erabil dezake harlauza orrietan beste esleipenetarako. «

Proposatutako Slab memoria kontrolatzailea Romano Gushchinek azken urtean nahiko itxaropentsua izan zen eraginkortasuna handitzen du lauzaren erabilerari buruz, erabilitako memoriaren tamaina murriztu forjak% 30-45 eta kernelaren memoria kontsumoa murrizten du nabarmen.

Horrez gain, inplementatutako adabakiek adierazi dute Facebookek dagoeneko kodea erabiltzen ari dela ekoizpenean bere zerbitzarietan eta zen aurrezteko ~ 650-700MB + frontend web zerbitzarietarako, datu basearen cachea eta DNS zerbitzariak, beste sari batzuen artean.

Mugikorrak ez diren lauzen kopurua murriztean, memoriaren zatikapena murrizteko eremuan ere eragin positiboa antzematen da. Memoria kontrolatzaile berriak kontabilitate lauzako kodea nabarmen sinplifikatzen du eta ez du algoritmo konplikaturik behar talde bakoitzerako lauza-cacheak dinamikoki sortzeko eta ezabatzeko c.

Ezarpen berrian memoriarako dauden talde guztiek lauza cachen multzo arrunta erabiltzen dute eta lauza cacheren bizitza iraupena jada ez dago lotuta cgroup-en bidez ezarritako memoria murriztapenen bizitzari.

Lauza kontrolagailu berrian ezarritako baliabideen kontabilitate zehatzagoak teorikoki CPU gehiago kargatu beharko luke, baina praktikan desberdintasunak arbuiagarriak izan dira.

Bereziki lauza kontrolatzaile berria zenbait hilabetetan darama Facebook zerbitzarietan karga mota desberdinak kudeatzen dituzten funtzionamenduan, eta orain arte ez da atzerapen esanguratsurik antzeman.

Adabakiak zati erdi independente pare bat ditu, eta horien erabilera ere aurki daiteke lauzaren memoria kontroladoretik kanpo:

  • Azpi-orria Kargatzeko APIa, etorkizunean orrialde baten tamaina ez duten beste objektu batzuk zenbatzeko erabil daitekeena, adibidez, percpu esleipenak
  • Mem_cgroup_ptr APIa, non memcg-era zenbatutako erakusleak zenbatu daitezkeen, beste objektu batzuen (adibidez, pagecache) konponketa eraginkorra berrerabili daiteke.

Aldi berean, memoria kontsumoaren beherakada nabarmena da- Ostalari batzuetan gehienez 1 GB memoria aurreztea posible zen, baina adierazle hau neurri handi batean kargaren izaeraren araberakoa da, RAM tamaina osoa, CPU kopurua eta memoriarekin lan egitearen ezaugarriak.

Memoriako talde bakoitzeko kmem_caches multzo bereizi bat sortu beharrean, bi multzo global erabiltzen dira: kontatu gabekoen erro multzoa eta erro taldeko cgroup esleipenak eta bigarren multzoa beste esleipen guztietarako. Horrek kmem_caches banakoen bizitza osoko kudeaketa sinplifikatzea ahalbidetzen du.

Azkenean, 19 adabaki multzo berria ezagutzeko interesa baduzu, zerrendan aurki dezakezu kernel posta.


Artikuluaren edukia gure printzipioekin bat dator etika editoriala. Akats baten berri emateko egin klik hemen.

Idatzi lehenengo iruzkina

Utzi zure iruzkina

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *

*

*

  1. Datuen arduraduna: Miguel Ángel Gatón
  2. Datuen xedea: SPAM kontrolatzea, iruzkinen kudeaketa.
  3. Legitimazioa: Zure baimena
  4. Datuen komunikazioa: datuak ez zaizkie hirugarrenei jakinaraziko legezko betebeharrez izan ezik.
  5. Datuak biltegiratzea: Occentus Networks-ek (EB) ostatatutako datu-basea
  6. Eskubideak: Edonoiz zure informazioa mugatu, berreskuratu eta ezabatu dezakezu.