Podczas gdy Intel od lat pracuje nad obsługą Sapphire Rapids dla Linuksa i nad innymi kluczowymi komponentami, takimi jak GCC i LLVM/Clang, aby zapewnić dobre wrażenia podczas uruchamiania ze skalowalnymi procesorami Xeon 4. generacji, jeden bit nie wyrównał do kwadratu z dala przed uruchomieniem zostały nowe stany bezczynności C0.x. Te nowe stany bezczynności między POLL i C1 pozwalają na połączenie niskich opóźnień i większej oszczędności energii niż POLL.

Inżynierowie firmy Intel od kilku miesięcy pracują nad poprawkami dla systemu Linux dla tych stanów bezczynności C0.1 i C0.2, aby poprawić efektywność energetyczną nowych procesorów Sapphire Rapids. Ta praca idzie w parze z innymi oczekującymi poprawkami, które pomagają zwiększyć wydajność maszyny wirtualnej przy dużym obciążeniu we/wy.

W sobotę opublikowano trzecią iterację obsługi stanów bezczynności Sapphire Rapids C0.x. List przewodni łatki elegancko podsumowuje pracę w następujący sposób:

„Stany bezczynności zmniejszają zużycie energii, gdy procesor nie ma do wykonania żadnej pracy. Najpłytszy stan bezczynności procesora to „POLL”. Ma najniższe opóźnienie wybudzenia, ale oszczędza niewiele energii. Następnym stanem bezczynności na platformach Intela jest „C1”. Ma większe opóźnienie, ale oszczędza więcej energii niż „POLL”.

Sapphire Rapids Xeony dodają nowe stany bezczynności C0.1 i C0.2, które koncepcyjnie znajdują się pomiędzy „POLL” a „C1”. Zapewniają one bardzo atrakcyjny punkt środkowy: opóźnienie budzenia zbliżone do POLL i zużycie energii w połowie drogi między „POLL” a „C1”.

Innymi słowy, spodziewamy się, że wszyscy użytkownicy z wyjątkiem najbardziej wrażliwych na opóźnienia będą preferować ten stan bezczynności zamiast sondowania

Ten zestaw poprawek umożliwia obsługę stanu bezczynności C0.2 w Sapphire Rapids Xeon (później-SPR). Nowy stan bezczynności został dodany między POLL i C1.”

W tej trzeciej iteracji wprowadzono kilka drobnych zmian technicznych, ponieważ ten nowy kod działa w kierunku głównego jądra.
Podczas testowania nowych poprawek przez firmę Intel, pobór prądu przemiennego spadł o 13%, a moc procesora RAPL spadła o 18%, porównując zmianę procentową z POL do C0.2. Tymczasem posiadanie C0,2 pozwoliło również poprawić wynik Hackbench o około 4% dla 4 grup. Dzięki łatom stan C0.2 można również wyłączyć, jeśli jest taka potrzeba, za pomocą opcji jądra „intel_idle.states_off=2”.

Ciekawa praca i miejmy nadzieję, że ten kod wkrótce trafi do głównej linii–potencjalnie nawet w wersji 6.5, jeśli wszystko wygląda dobrze w tej trzeciej wersji łatek. Na razie pracę można znaleźć na liście linux-pm. Gdy zostanie odebrany przez główną linię, na pewno przeprowadzę kilka testów porównawczych.

Categories: IT Info