20 let staré linuxové řešení stále zpomaluje systémy AMD

Zvětšení / Serverový čip Epyc druhé generace AMD, možná na něm běžel linuxový kód z éry 2002, který jej zpomaloval.

Getty Images

AMD přišlo Od roku 2002 dlouhá cestaale linuxové jádro stále zachází s moderními Threadrippery jako se systémy z éry Athlonu – alespoň v jednom ohledu, který potenciálně způsobuje zpoždění.

Nedávno inženýr AMD Prateek Nayak Odešlete opravu nečinným ovladačům procesoru Linux Tím by se „obešlo falešné čekání na procesory založené na mikroarchitektuře Zen“. Když byla v roce 2002 do linuxového jádra přidána podpora ACPI – kterou napsal Andy Grover a Linus Torvalds – zahrnovalo to „fiktivní model čekání“. Systém v podstatě čte data bez jiného účelu, než aby zdržel další instrukci, dokud CPU úplně nezastaví příkaz STPCLK#. To umožnilo určitou úsporu energie a kompatibilitu během prvních dnů ACPI, kdy některé čipy nezůstaly nečinné, když by se to očekávalo.

Dnešní čipy AMD na bázi Zen ale toto řešení nepotřebují a jak psal Nayak, škodí jim to, alespoň v konkrétních zátěžích na Linuxu. Testování s pracovní zátěží Instruction-Based Sampling (IBS) ukazuje, že „významné množství času stráví fiktivní proces, který je nesprávně vypočítán jako rezidence ve stavu C“. CPU, když vidí veškerou tuto nízkonapěťovou fantomovou práci, může přejít do hlubšího a pomalejšího stavu C, takže CPU trvá déle, než se „probudí“, zejména v úlohách, které vyžadují hodně přepínání mezi zaneprázdněným a nečinným stavem.

Nayak provedl testy v tbench Na dvousocketovém Zen3 proti linuxovému jádru, kernelu se zcela zakázaným stavem C2 a kernelu s odladěným fiktivním procesem čekání. Jeho opravená verze zaznamenala 1390procentní nárůst minimální propustnosti MB/s a 51procentní nárůst průměrného MB/s napříč jádrem, což je často jen o málo méně, než kdyby C2 úplně zakázala.

READ  To je místo, kde hledáte těžko dostupné autodíly

Systémy Intel se vyhnuly staršímu prokletí AMD, protože používají systém založený na MWAIT již nejméně deset let, Podle blogu Phoronix. To vedlo k Hotfix poskytl Dave Hansen z Intelu. Jeho řešením bylo omezit „falešné čekání“ na systémy Intel, protože by to neovlivnilo „moderní vzdálené systémy Intel“, a přidat komentáře k nečinným diskům v jádře, které vysvětlují, co se děje – a povzbudit ty, kdo čtou, aby „přemýšleli o přesunutí systému do mechanismu‘ Novější nečinnost.

Pokud bude tento týden odeslána oprava hotfix k odstranění nebo omezení „fantomového čekání“, pravděpodobně to způsobí, že jádro Linuxu 6.0, Torvalds očekává odeslání příští týden.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *