Za dvacet let, co v PC existují vícejádrové procesory, se hodně softwaru naučilo je využívat, ale stále bývá problém využít CPU, které má jader opravdu hodně. Jedním z důvodů je, že ve Windows nelze využít víc než 32 jader a 64 vláken, jelikož to vyžaduje speciální úpravy softwaru. Ale situace se začíná lepšit. Nástroj 7-zip pro kompresi souborů teď dostal novou verzi, která už umí využít i třeba Threadrippery se 128 vlákny.
Komprimační nástroj 7-Zip pravděpodobně znáte – jde o zdarma dostupnou (jde současně i o open-source software) alternativu nahrazující známý WinRAR. Jeho vlastní formát archivů (7z) používající algoritmus LZMA nebo LZMA2 má velmi dobrou účinnost komprese a navíc s ním rozbalíte i prakticky všechny ostatní formáty. Pro Windows poskytuje snadno použitelné grafické rozhraní.
7-zip 25.0: proč je důležitá podpora pro Processor Groups
7-Zip teď vydal verzi 25.0, která má jako hlavní změnu právě podporu procesorů s více než 64 jádry – respektive vlákny, se zapnutým SMT či HT totiž limit 64 vláken vyčerpá už 32jádrový procesor (protože každé jádro poskytuje dvě vlákna). Důvod, proč toto potřebuje speciální podporu, je způsob, jakým operační systém Windows pracuje. Pokud totiž má CPU s více než 64 vlákny, rozdělí je do tzv. Processor Groups, z nichž každá nemůže mít více vláken než 64. Důvodem bude nejspíš kompatibilita – původní Windows NT mají vysoce nadčasový design, ale byly navržené na přelomu 80. a 90. let, kdy ještě nikdo netušil, že se vývoj CPU přeorientuje z jednojádrových na vícejádrová CPU. Limit 64 vláken před tímto obratem v první dekádě 21. století bohatě pokrýval jakékoliv běžné servery mimo superpočítačových klastrů.
Programy běžně dostávají přidělená vlákna jen z jedné takové skupiny, takže pokud vyčerpají 64 vláken, nemůže jejich výkon být dál zlepšen, i když má operační systém další volná jádra k dispozici (mimochodem, systém Windows 11 by měl v tomto směru mít zlepšení, která použití více jak 64 vláken usnadňují).
Ve Windows je proto nutné k využití více než 64 vláken přidat podporu pro práci s těmito procesorovými skupinami, což zatím není moc běžná věc. Mimo specializovaného softwaru typicky podporu programy nemají, jelikož mimo serverů zatím nebylo moc procesorů, kterých by se limit týkal. Nejvíc se s ním potýkají procesory AMD Ryzen Threadripper a Threadripper Pro, které lze pořídit s 64 jádry a 128 vlákny od roku 2020.
Komprese a benchmark využijí naplno i Threadrippery
7-zip 25.0 přidává právě podporu práce s těmito skupinami vláken ve Windows (je „processor group aware). Díky ní teď program umí využít všechna jádra procesoru i tehdy, pokud je Windows má rozdělené do více skupin. Automaticky alokuje jádra (vlákna) ve všech z nich.
Netýká se to ovšem úplně všech funkcí programu, dekomprese má zatím zřejmě stále tento limit, pravděpodobně ale u ní nejde o velký problém. Komprese do formátů 7z, xz i do běžného zipu (kompresní metoda deflate) ale už jsou processor group aware a tedy využijí více než 64 vláken. Projeví se to i v zabudovaném benchmarkovacím nástroji 7-zipu, ale samozřejmě jen pro kompresi, ne pro dekompresi. 7-zip tedy teď může posloužit pro testování mnohojádrových procesorů.
Vedle této změny také nová verze přináší opravy a záplaty (včetně bezpečnostních oprav) a nějaké optimalizace nad rámec podpory mnohovláknových CPU. Komprese deflate (zip, linuxový gz) byla zrychlena o 1–3 % a komprese bzip2 byla zrychlena o 15–40 %.
Verze 25.0 už je stabilní vydání, instalátor lze najít na webu projektu. Program má mimochodem mimo obvyklé verze pro 64bitové a 32bitové procesory x86 také zkompilované binárky pro platformu Arm Windows, takže by se teoreticky měl dát vyzkoušet třeba na procesorech Altra nebo AmpereOne.
Poznámka: 32bitové systémy Windows (a starší 64bitové Windows XP a Vista) mimochodem procesorové skupiny nepoužívají, 64 vláken je u nich vždy maximum, které lze využít. Podpora processor groups je dostupná až od 64bitových Windows 7 a Windows Serveru 2012. Tato novinka má tedy smysl jen pro 64bitová Windows. S procesorem s více než 64 vlákny ale asi 32bitový OS nikdo používat nebude.
Zdroje: 7-zip, Tom’s Hardware
