Facebookek zerbitzarietan memoriaren % 20-32 aurrezteko aukera ematen duen TMO mekanismo bat aurkeztu zuen

Facebookeko ingeniariek (Errusiar Federazioan debekatua) TMO (Transparent Memory Offloading) teknologiaren iaz ezartzeari buruzko txosten bat argitaratu zuten, zeinak zerbitzarietan RAM-en aurrezpen handia ahalbidetzen baitu lanerako beharrezkoak ez diren bigarren mailako datuak disko merkeagoetara desplazatuz, NVMe adibidez. SSD - diskoak. Facebook-ek kalkulatzen du TMO erabiltzeak zerbitzari bakoitzean RAMaren % 20 eta % 32 aurreztu dezakeela. Irtenbidea aplikazioak edukiontzi isolatuetan exekutatzen diren azpiegituretan erabiltzeko diseinatuta dago. TMOren nukleoaren alboko osagaiak dagoeneko sartuta daude Linux nukleoan.

Linux nukleoan, teknologia PSI (Pressure Stall Information) azpisistemak onartzen du, 4.20 bertsiotik aurrera eskuragarri. PSI memoria gutxiko hainbat kudeatzailetan erabiltzen da dagoeneko eta hainbat baliabide (CPU, memoria, I/O) lortzeko itxaron denborari buruzko informazioa aztertzeko aukera ematen du. PSI-rekin, erabiltzaile-espazio-prozesadoreek sistemaren karga-mailak eta moteltze-ereduak zehatzago ebalua ditzakete, anomaliak goiz identifikatu ahal izateko, errendimenduan eragin nabaria izan aurretik.

Erabiltzaileen espazioan, TMO Senpai osagaiak eskaintzen du, zeinak, cgroup2 bidez, aplikazio-edukiontzien memoria-muga dinamikoki doitzen du PSItik jasotako datuetan oinarrituta. Senpaik PSI bidez baliabideen gabeziaren agerpenaren zantzuak aztertzen ditu, aplikazioek memoria sarbidean moteltzearekiko duten sentikortasuna ebaluatzen du eta edukiontziak behar duen gutxieneko memoria-tamaina zehazten saiatzen da, zeinetan funtzionatzeko beharrezkoak diren datuak RAM-en geratzen diren, eta horrekin batera. fitxategien cachean finkatuta dauden datuak edo momentuz zuzenean erabiltzen ez diren datuak trukatzeko partiziora behartuta daude.

Facebookek zerbitzarietan memoriaren % 20-32 aurrezteko aukera ematen duen TMO mekanismo bat aurkeztu zuen

Hortaz, TMOren funtsa prozesuak memoria-kontsumoari dagokionez dieta zorrotzean mantentzea da, erabili gabeko memoria-orrialdeak trukatzea behartuz, zeinen kaleratzeak errendimenduan eragin nabarmenik ez duen (adibidez, hasieratzerakoan soilik erabiltzen den kodea duten orrialdeak eta erabilera bakarrekoak). diskoko cachean dauden datuak). Memoriaren presioari erantzunez trukatze partiziora desalojatzen ez bezala, TMOn datuak iragarpen proaktiboan oinarrituta kanporatzen dira.

Desalojorako irizpideetako bat memoria orrira 5 minutuz sarbiderik ez izatea da. Horrelako orriei memoria hotzeko orrialde deitzen zaie eta, batez beste, aplikazioen memoriaren % 35 inguru osatzen dute (aplikazio motaren arabera, % 19tik % 65 arteko tartea dago). Preemption-ek memoria-orri anonimoekin (aplikazioak esleitutako memoria) eta fitxategi-katxean gordetzeko erabiltzen den memoria (kernelak esleituta) lotutako jarduerak hartzen ditu kontuan. Aplikazio batzuetan kontsumo nagusia memoria anonimoa da, baina beste batzuetan fitxategien cachea ere garrantzitsua da. Cachea desalojatzeko desorekak ekiditeko, TMOk orrialdekatze-algoritmo berri bat erabiltzen du, fitxategien cachearekin lotutako orrialde anonimoak eta proportzionalki kanporatzen dituena.

Gutxitan erabiltzen diren orriak memoria motelagora sartzeak ez du eragin handirik eragiten errendimenduan, baina hardware-kostuak nabarmen murrizten ditu. Datuak SSD unitateetara edo konprimitutako truke-eremu batera eramaten dira RAM-en. Datuak byte bat gordetzearen kostuari dagokionez, NVMe SSD bat erabiltzea RAM konpresioa erabiltzea baino 10 aldiz merkeagoa da.

Facebookek zerbitzarietan memoriaren % 20-32 aurrezteko aukera ematen duen TMO mekanismo bat aurkeztu zuen


Iturria: opennet.ru

Gehitu iruzkin berria