reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Řešení pro chabý vícejádrový výkon? Hardwarové QMD

1.11.2016, Jan Vítek, aktualita
Řešení pro chabý vícejádrový výkon? Hardwarové QMD
Dnešní procesory mohou disponovat velkým počtem fyzických či logických jader, jejichž zvyšující se počet nahradil růst frekvence. Jenže tato jádra nemusí být a také nebývají efektivně využívána, což by mohlo napravit hardwarové plánování QMD.
Je pravda, že v případě klasických desktopových či mobilních procesorů delší dobu stagnuje jak počet jader, tak pracovní takt, ale pro ty nejlepší procesory to neplatí, v jejich případě se počet jader celkem stabilně zvyšuje. Výzkumníci firmy Intel a North Carolina State University se nyní zaměřili na to, jak by mohli lépe využít jejich potenciálu, který je srážen nedostatečnou komunikací mezi jádry, a to zvláště v 8, 10, 16 nebo více jádrových procesorech. Do toho celého spadá také software, který nemusí být pro takový počet jader dobře optimalizován, což tvoří další úroveň problému.





Problém byl zúžen na potřebu procesorových jader mezi sebou komunikovat tak, aby mohly efektivně spolupracovat, ale to vyžaduje značnou režii, čili overhead. Výzkumníky tak napadlo ze softwarové fronty udělat hardwarovou, což by vyžadovalo vytvoření třech jednoduchých instrukcí. První poslouží k přidání dat do fronty, další pro jejich sběr z fronty a třetí k jejich přesunutí do paměti, která má nejblíže k části procesoru, jež je bude následně potřebovat. Ve výsledku tak přišli s QMD - hardwarovým Queue Managament Device, který dle simulací vykázal velice výrazný nárůst výkonu. Na takovém 16 jádrovém procesoru by QMD mělo některé vícevláknové úlohy zrychlit prý až dvacetkrát (konkrétně to bylo zpracování síťových packetů). Zrychlení o násobek, který je větší než počet jader v CPU, sice vypadá podivně, ale to říkají dostupné informace, takže to vypadá, že s QMD by mělo být rychlejší i jednojádrové CPU.





QMD má totiž nahradit stovky prováděných instrukcí v jádru procesoru využívaných pro správu softwarové fronty vlastními hardwarovými instrukcemi. Po procesoru samotném se vyžaduje pouze "enqueue" a "dequeue" pro zařazení a vyřazení z fronty, přičemž QMD se postará o zbytek. QMD tak dokáže uvolnit procesorové prostředky pro to, aby byly využity pro užitečnější práci než pro správu softwarové fronty. Dle výsledků se má výkon zvýšit dvoj až dvanáctinásobně, a to v porovnání s plně optimalizovanou softwarovou frontou.

Vypadá to velice zajímavě, ale není žádná záruka, že se věc jako QMD dostane do budoucích procesorů Intelu. Respektive to zatím nikdo nemůže slíbit a je také zřejmé, že taková funkce musí najít podporu v softwaru. Existuje i daleko radikálnější přístup, a to Tardis, který kompletně překopává celou správu pamětí cache.

Zdroj: Spectrum IEEE
reklama