Dyskusja na temat zwiększenia domyślnej częstotliwości timera w jądrze Linux do 1000Hz

Inżynier z firmy Google zaproponował zwiększenie częstotliwości generowania przerwań od timera w jądrze Linux do 1000Hz domyślnie, co doprowadzi do zwiększenia częstotliwości przełączania zadań i skrócenia kwantu czasu w harmonogramie zadań. Obecnie domyślnie stosuje się 250Hz jako pewien kompromis między wydajnością, opóźnieniami a zużyciem energii.

Przy użyciu wyświetlaczy o częstotliwości odświeżania 120Hz, typowych dla nowoczesnych komputerów i urządzeń mobilnych, przy częstotliwości timera 250Hz, nieprecyzyjność kwantowania czasu wynosi około połowy czasu klatki, co obniża efektywność przydziału zasobów i uniemożliwia osiągnięcie optymalnego stosunku wydajności do zużycia energii. Zużycie energii przez systemy przy niskiej częstotliwości timera może być wyższe, ponieważ mechanizm DVFS (Dynamic Voltage and Frequency Scaling) stosuje bardziej agresywną strategię wyboru częstotliwości, aby nie spowalniać wykonywania zadań.

Występują sytuacje, gdy zadanie już wykonało pożądane operacje wymagające aktywnych obliczeń, ale procesor nadal działa z podwyższoną częstotliwością z powodu skończoności kwantu czasu, który jeszcze się nie zakończył. Zwiększenie częstotliwości przełączania zadań może prowadzić do zmniejszenia zużycia energii dzięki poprawie efektywności dynamicznego zarządzania częstotliwością (DVFS), bardziej precyzyjnemu rozdzielaniu interwałów przez harmonogram zadań, częstszemu aktualizowaniu statystyk obciążenia CPU i skróceniu czasu oczekiwania zadań.

Inny inżynier z Google zaproponował pozostawienie częstotliwości timera na poziomie 250Hz, ponieważ zwiększenie częstotliwości generowania przerwań timera może prowadzić do wyższego zużycia energii w urządzeniach o niskiej mocy, takich jak płytki do internetu rzeczy. Jego ocena wskazuje, że przy ustawieniu częstotliwości na 1000Hz nawet na urządzeniach działających na Androidzie w niektórych sytuacjach odnotowano wzrost zużycia energii przez procesor o 7%. Przy zwiększonej częstotliwości timera zaobserwowano również częstsze wybudzanie CPU, ponieważ przy częstotliwości 250Hz timery ustawione na interwały t + 1 ms, t + 2 ms, t + 3 ms i t + 4 ms będą grupowane i prowadziły do jednego wybudzenia, a w przypadku 1000Hz nastąpią cztery oddzielne wybudzenia.

Serwis Phoronix przeprowadził porównanie wydajności PC z procesorem AMD Ryzen 9 9950X. Konfiguracja z częstotliwością 1000Hz okazała się szybsza w testach Llama.cpp, nginx, SuperTuxKart, Selenium oraz podczas pomiaru czasu kompilacji jądra. W testach Darktable, PostgreSQL, Unvanquished, Xonotic, Blender, SVT-AV1, RawTherapee wydajność była wyższa przy ustawieniu 250Hz. Przy 1000Hz średnie zużycie energii wyniosło 144,2 W, minimalne — 0,18 W, maksymalne — 202,13 W, a przy 250Hz: średnie 144,37 W, minimalne 0,07 W, maksymalne — 202 W.

Dyskusja na temat zwiększenia domyślnej częstotliwości timera w jądrze Linux do 1000Hz


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster