Cloudflare deklaruje odzyskanie 100 TB RAM-u dzięki optymalizacji usługi Pingora
Cloudflare podaje, że po ograniczeniu zużycia pamięci przez jedną z usług opartych na Pingorze odzyskało globalnie ponad 100 TB RAM-u. Źródłem problemu były struktury biblioteki pingora-ketama, używanej przy kierowaniu żądań do serwerów.
Pamięć znikała w Backend Routerze
Według Cloudflare większe od oczekiwanego zużycie pamięci wykryto w Pingora Backend Router. To element usługi, który pomaga zdecydować, do którego serwera ma trafić dane żądanie. W tym przypadku szczególnej uwagi wymagały struktury związane z pingora-ketama.
Firma opisuje pingora-ketama jako własną bibliotekę open source do obsługi consistent hashing. To właśnie zmniejszenie zużycia pamięci przez jedną z usług wykorzystujących Pingorę ma stać za deklarowanym odzyskaniem ponad 100 TB RAM-u w skali globalnej. Nie jest to jednak wynik niezależnego pomiaru, lecz wartość podana przez Cloudflare.
Po co routerowi consistent hashing
Consistent hashing przypisuje zadania do serwerów w taki sposób, by dołączenie albo odłączenie maszyny nie wymuszało szerokiego przetasowania całego podziału pracy. W dużej infrastrukturze to praktyczna cecha: zmiana po jednej stronie nie powinna nagle wysłać lawiny żądań gdzie indziej.
Cloudflare wykorzystuje tę metodę do kierowania żądań, które można obsłużyć z pamięci podręcznej, według adresów URL. Backend Router musi więc przechowywać i obsługiwać informacje potrzebne do takiego przypisania. Gdy struktury służące temu zadaniu są zbyt pamięciożerne, ich koszt powtarza się wszędzie tam, gdzie działa dana usługa.
Duża liczba nie oznacza jednej magicznej poprawki
W opublikowanym opisie firma łączy efekt z optymalizacją pamięci w konkretnej usłudze opartej na Pingorze, a nie z redukcją zapotrzebowania całej swojej sieci. Ponad 100 TB to suma oszczędności rozproszona globalnie w miejscach, gdzie działa ta usługa.
Cloudflare opisuje kierunek optymalizacji jako ograniczenie pamięci zużywanej przez struktury routingu, choć nie ujawnia pełnej implementacji zmiany.