Facebook tau qhia txog TMO mechanism, tso cai rau koj txuag 20-32% ntawm kev nco ntawm servers

Cov kws tshaj lij los ntawm Facebook (tshem tawm hauv Lavxias Federation) tau tshaj tawm tsab ntawv tshaj tawm txog kev siv xyoo tas los ntawm TMO (Transparent Memory Offloading) thev naus laus zis, uas tso cai rau kev txuag nyiaj tseem ceeb hauv RAM ntawm cov servers los ntawm kev hloov cov ntaub ntawv thib ob tsis tas yuav ua haujlwm rau cov tsav pheej yig dua, xws li NVMe SSD-disks. Facebook kwv yees tias siv TMO tuaj yeem txuag tau 20 txog 32% ntawm RAM ntawm txhua tus neeg rau zaub mov. Qhov kev daws teeb meem yog tsim los siv rau hauv infrastructures qhov twg cov ntawv thov khiav hauv cov thawv cais. Kernel-sab Cheebtsam ntawm TMO twb tau suav nrog hauv Linux ntsiav.

Nyob rau sab Linux kernel, thev naus laus zis tau txais kev txhawb nqa los ntawm PSI (Pressure Stall Information) subsystem, muaj pib nrog kev tso tawm 4.20. PSI twb tau siv nyob rau hauv ntau yam tsis nco qab handlers thiab tso cai rau koj los soj ntsuam cov ntaub ntawv hais txog lub sij hawm tos kom tau txais ntau yam kev pab (CPU, nco, I / O). Nrog PSI, cov neeg siv-chaw ua haujlwm tuaj yeem txheeb xyuas cov txheej txheem thauj khoom ntau dua thiab cov qauv qeeb, tso cai rau qhov tsis txaus ntseeg raug txheeb xyuas ntxov, ua ntej lawv muaj kev cuam tshuam rau kev ua haujlwm.

Hauv qhov chaw neeg siv, TMO yog muab los ntawm Senpai tivthaiv, uas, los ntawm cgroup2, dynamically kho lub cim xeeb txwv rau daim ntawv thov ntim raws li cov ntaub ntawv tau txais los ntawm PSI. Senpai txheeb xyuas cov cim qhia ntawm qhov pib ntawm kev tsis txaus ntawm PSI, ntsuas qhov rhiab heev ntawm cov ntawv thov kom qeeb hauv kev nkag mus hauv nco thiab sim txiav txim siab qhov tsawg kawg nkaus nco qhov xav tau los ntawm lub thawv, uas cov ntaub ntawv xav tau rau kev ua haujlwm tseem nyob hauv RAM, thiab nrog rau. cov ntaub ntawv nyob rau hauv cov ntaub ntawv cache los yog tsis ncaj qha siv nyob rau hauv tam sim no, raug yuam tawm mus rau lub sib pauv muab faib.

Facebook tau qhia txog TMO mechanism, tso cai rau koj txuag 20-32% ntawm kev nco ntawm servers

Yog li, lub ntsiab lus ntawm TMO yog khaws cov txheej txheem ntawm kev noj zaub mov nruj raws li kev siv lub cim xeeb, yuam kev sib pauv ntawm cov nplooj ntawv nco tsis tau siv uas nws raug tshem tawm tsis pom muaj kev cuam tshuam rau kev ua haujlwm (piv txwv li, nplooj ntawv nrog code siv thaum pib, thiab siv ib zaug. cov ntaub ntawv hauv disk cache). Tsis zoo li kev tshem tawm cov ntaub ntawv mus rau qhov sib pauv faib hauv cov lus teb rau lub cim xeeb siab, hauv TMO cov ntaub ntawv raug tshem tawm raws li kev twv ua ntej.

Ib qho ntawm cov txheej txheem rau kev tshem tawm yog qhov tsis tuaj yeem nkag mus rau nplooj ntawv nco rau 5 feeb. Cov nplooj ntawv no yog hu ua cov nplooj ntawv cim xeeb txias thiab qhov nruab nrab muaj li ntawm 35% ntawm daim ntawv thov nco (nyob ntawm seb hom ntawv thov, muaj li ntawm 19% txog 65%). Preemption yuav siv sij hawm mus rau hauv tus account cov kev ua ub no txuam nrog anonymous nco nplooj ntawv (nco muab faib los ntawm daim ntawv thov) thiab nco siv rau cov ntaub ntawv caching (txiav los ntawm lub kernel). Hauv qee daim ntawv thov kev siv lub ntsiab yog kev nco tsis qhia npe, tab sis hauv lwm tus cov ntaub ntawv cache kuj tseem ceeb. Txhawm rau kom tsis txhob cache tshem tawm qhov tsis sib xws, TMO siv qhov tshiab paging algorithm uas tshem tawm cov nplooj ntawv tsis qhia npe thiab nplooj ntawv cuam tshuam nrog cov ntaub ntawv cache proportionally.

Kev thawb cov nplooj ntawv uas nquag siv mus rau hauv lub cim xeeb qeeb tsis muaj qhov cuam tshuam loj rau kev ua haujlwm, tab sis tuaj yeem txo cov nqi kho vajtse. Cov ntaub ntawv yog flushed rau SSD drives lossis mus rau qhov chaw sib pauv compressed hauv RAM. Hais txog tus nqi khaws cia ib byte ntawm cov ntaub ntawv, siv NVMe SSD txog li 10 npaug pheej yig dua li siv compression hauv RAM.

Facebook tau qhia txog TMO mechanism, tso cai rau koj txuag 20-32% ntawm kev nco ntawm servers


Tau qhov twg los: opennet.ru

Ntxiv ib saib