Facebook huet den TMO Mechanismus agefouert, deen Iech erlaabt 20-32% Erënnerung op Serveren ze spueren

Ingenieuren vu Facebook (verbueden an der russescher Federatioun) hunn e Bericht iwwer d'Ëmsetzung d'lescht Joer vun der TMO (Transparent Memory Offloading) Technologie publizéiert, déi bedeitend Erspuernisser am RAM op Serveren erlaabt andeems se sekundär Donnéeën net erfuerderlech fir Aarbecht op méi bëllege Fuerderen, wéi NVMe, verdrängt. SSD-Disken. Facebook schätzt datt d'Benotzung vun TMO 20 bis 32% vum RAM op all Server spuere kann. D'Léisung ass entwéckelt fir ze benotzen an Infrastrukturen wou Uwendungen an isoléierte Container lafen. Kernel-Säit Komponente vum TMO si scho am Linux Kernel abegraff.

Op der Linux Kernel Säit gëtt d'Technologie ënnerstëtzt vum PSI (Pressure Stall Information) Subsystem, verfügbar mat der Verëffentlechung 4.20. PSI gëtt schonn a verschiddene Low-Memory Handler benotzt an erlaabt Iech Informatioun iwwer d'Waardezäit ze analyséieren fir verschidde Ressourcen ze kréien (CPU, Erënnerung, ech / O). Mat PSI kënne Benotzerraumprozessoren méi präzis Systembelaaschtungsniveauen a Verlängerungsmuster beurteelen, wat et erlaabt Anomalien fréi z'identifizéieren, ier se e merkbare Impakt op d'Performance hunn.

Am Benotzerraum gëtt TMO vum Senpai Komponent zur Verfügung gestallt, deen duerch cgroup2 dynamesch d'Erënnerungslimit fir Applikatiounsbehälter ugepasst baséiert op Daten, déi vum PSI kritt goufen. Senpai analyséiert d'Zeeche vum Ufank vu Ressourcemangel iwwer PSI, beurteelt d'Sensibilitéit vun Uwendungen op Verlängerungen am Erënnerungszougang a probéiert d'Mindestgréisst vun der Erënnerung ze bestëmmen, déi vum Container erfuerderlech ass, bei deem d'Daten, déi fir d'Operatioun erfuerderlech sinn, am RAM bleiwen, an déi begleetend. Daten, déi am Dateicache gesat ginn oder am Moment net direkt benotzt ginn, ginn op d'Swappartition gezwongen.

Facebook huet den TMO Mechanismus agefouert, deen Iech erlaabt 20-32% Erënnerung op Serveren ze spueren

Also ass d'Essenz vum TMO d'Prozesser op eng strikt Ernärung ze halen wat de Gedächtnisverbrauch ugeet, an zwéngt d'Austausch vun onbenotzten Erënnerungssäiten, deenen hir Eviction d'Performance net bemierkenswäert beaflosst (zum Beispill Säite mat Code benotzt nëmme während der Initialiséierung, an Eenzelverwendung Daten am Disk Cache). Am Géigesaz zu der Evictéierung vun Informatioun op d'Swap-Partition als Äntwert op Erënnerungsdrock, an TMO-Daten ginn op proaktiv Viraussoe evictéiert.

Ee vun de Critèrë fir Eviction ass d'Feele vun Zougang zu der Erënnerung Säit fir 5 Minutten. Esou Säite ginn kalt Gedächtnis Säiten genannt a maachen am Duerchschnëtt ongeféier 35% vum Applikatiounsspeicher aus (ofhängeg vun der Aart vun der Applikatioun gëtt et e Beräich vun 19% bis 65%). Preemption berücksichtegt d'Aktivitéit, déi mat anonyme Erënnerungssäiten assoziéiert ass (Erënnerung, déi vun der Applikatioun zougewisen ass) an d'Erënnerung, déi fir Dateicaching benotzt gëtt (vum Kernel zougewisen). An e puer Uwendungen ass den Haaptverbrauch anonym Erënnerung, awer an aneren ass de Fichier Cache och wichteg. Fir Cache Eviction Ongläichgewiichter ze vermeiden, benotzt TMO en neie Paging Algorithmus, deen anonym Säiten a Säiten, déi mam Dateicache proportional verbonne sinn, evict.

Selten benotzte Säiten a méi lues Gedächtnis drécken huet keen groussen Impakt op d'Performance, awer kann d'Hardwarekäschte wesentlech reduzéieren. D'Daten ginn op SSD-Laufwerke gezwongen oder op e kompriméierte Swapgebitt am RAM. Wat d'Käschte fir e Byte vun Daten ze späicheren, ass d'Benotzung vun enger NVMe SSD bis zu 10 Mol méi bëlleg wéi d'Kompressioun am RAM.

Facebook huet den TMO Mechanismus agefouert, deen Iech erlaabt 20-32% Erënnerung op Serveren ze spueren


Source: opennet.ru

Setzt e Commentaire