Facebook serverlərdə yaddaşın 20-32%-nə qənaət etməyə imkan verən TMO mexanizmini təqdim etdi

Facebook-un mühəndisləri (Rusiya Federasiyasında qadağandır) keçən il TMO (Şəffaf Yaddaşın Boşaldılması) texnologiyasının tətbiqi haqqında hesabat dərc etdilər ki, bu da iş üçün tələb olunmayan ikincil məlumatları NVMe kimi daha ucuz disklərə köçürməklə serverlərdə RAM-a əhəmiyyətli qənaət etməyə imkan verir. SSD - disklər. Facebook hesab edir ki, TMO-dan istifadə hər serverdə RAM-a 20-32% qənaət edə bilər. Həll proqramların təcrid olunmuş konteynerlərdə işlədiyi infrastrukturlarda istifadə üçün nəzərdə tutulub. TMO-nun nüvə tərəfi komponentləri artıq Linux nüvəsinə daxil edilmişdir.

Linux nüvəsi tərəfində texnologiya PSI (Pressure Stall Information) alt sistemi tərəfindən dəstəklənir, buraxılış 4.20-dən başlayaraq mövcuddur. PSI artıq müxtəlif aşağı yaddaş işləyicilərində istifadə olunur və müxtəlif resursların (CPU, yaddaş, I/O) əldə edilməsi üçün gözləmə müddəti haqqında məlumatları təhlil etməyə imkan verir. PSI ilə istifadəçi məkanı prosessorları sistemin yük səviyyələrini və yavaşlama nümunələrini daha dəqiq qiymətləndirə bilər ki, bu da anomaliyaları performansa nəzərəçarpacaq təsir göstərməzdən əvvəl erkən aşkar etməyə imkan verir.

İstifadəçi məkanında TMO Senpai komponenti tərəfindən təmin edilir, o, cgroup2 vasitəsilə PSI-dən alınan məlumatlar əsasında tətbiq konteynerləri üçün yaddaş limitini dinamik şəkildə tənzimləyir. Senpai PSI vasitəsilə resurs çatışmazlığının başlanğıc əlamətlərini təhlil edir, tətbiqlərin yaddaşa girişin yavaşlamasına həssaslığını qiymətləndirir və əməliyyat üçün tələb olunan məlumatların RAM-da qaldığı konteyner tərəfindən tələb olunan minimum yaddaş ölçüsünü və onu müşayiət edən məlumatları müəyyən etməyə çalışır. fayl keşində yerləşdirilmiş və ya hazırda birbaşa istifadə edilməyən məlumatlar dəyişdirmə bölməsinə məcbur edilir.

Facebook serverlərdə yaddaşın 20-32%-nə qənaət etməyə imkan verən TMO mexanizmini təqdim etdi

Beləliklə, TMO-nun mahiyyəti yaddaş istehlakı baxımından prosesləri ciddi rejimdə saxlamaq, çıxarılması performansa nəzərəçarpacaq dərəcədə təsir göstərməyən istifadə olunmamış yaddaş səhifələrini dəyişdirməyə məcbur etməkdir (məsələn, yalnız başlanğıc zamanı istifadə olunan kodu olan səhifələr və birdəfəlik istifadə). disk keşindəki məlumatlar). Yaddaş təzyiqinə cavab olaraq məlumatın dəyişdirmə bölməsinə çıxarılmasından fərqli olaraq, TMO-da məlumatlar proaktiv proqnoza əsasən çıxarılır.

Evdən çıxarılma meyarlarından biri 5 dəqiqə ərzində yaddaş səhifəsinə girişin olmamasıdır. Belə səhifələr soyuq yaddaş səhifələri adlanır və orta hesabla proqram yaddaşının təxminən 35%-ni təşkil edir (tətbiq növündən asılı olaraq 19%-dən 65%-ə qədər diapazon var). Preemption anonim yaddaş səhifələri (tətbiq tərəfindən ayrılmış yaddaş) və fayl keşi üçün istifadə olunan yaddaş (kernel tərəfindən ayrılmış) ilə əlaqəli fəaliyyəti nəzərə alır. Bəzi proqramlarda əsas istehlak anonim yaddaşdır, digərlərində isə fayl keşi də vacibdir. Keşin çıxarılması disbalansının qarşısını almaq üçün TMO, anonim səhifələri və fayl keşi ilə əlaqəli səhifələri mütənasib olaraq çıxaran yeni paging alqoritmindən istifadə edir.

Nadir hallarda istifadə olunan səhifələrin daha yavaş yaddaşa köçürülməsi performansa əhəmiyyətli təsir göstərmir, lakin aparat xərclərini əhəmiyyətli dərəcədə azalda bilər. Məlumat SSD sürücülərinə və ya RAM-da sıxılmış dəyişdirmə sahəsinə yuyulur. Bir bayt məlumatın saxlanması dəyəri baxımından NVMe SSD-dən istifadə RAM-da sıxılmadan istifadə etməklə 10 dəfəyə qədər ucuzdur.

Facebook serverlərdə yaddaşın 20-32%-nə qənaət etməyə imkan verən TMO mexanizmini təqdim etdi


Mənbə: opennet.ru

Добавить комментарий