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ě

Intel Tera-scale a Platforma 2015: kam směřuje Intel?

31.10.2006, Lukáš Petříček, článek
Intel Tera-scale a Platforma 2015: kam směřuje Intel?
Vývoj počítačových architektur prochází revolucí. Plány na 10GHz čipy na bázi křemíku ustupují do pozadí a růst výkonu procesorů se v dalších letech bude ubírat cestou více jader. Proto se podíváme na problémy současných architektur a budoucí platformy Intelu.
Poměrně zřejmým důsledkem nové architektury, a vůbec přístupem k dalšímu zvyšování výkonu, je obtížnější návrh a vývoj software pro achitekturu s desítkami až stovkami jader. Do teď vývojáři nemuseli příliš hledět na architekturu a spoléhalo se spíše na trend výrazného růstu výkonu jednojádrových procesorů. Využij to, co máš právě k dispozici a časem to bude, třeba i samo od sebe, běhat mnohem rychleji. Tento trend je ale u konce. Jistotu máme s ohledem na příští roky pouze v tom, že díky růstu integrace zaručeně budeme schopni zpracovat více vláken a aplikací současně – růst výkonu se tedy jistě nezastaví, ale za vyšším výkonem půjdeme jinou cestou...


Klíčové bude přinést vhodné operační systémy a prostředky k vývoji vícevláknových programů
a přizpůsobit tomu množství jader - a vše udělat v ten správný čas

Masivního paralelismu lze sice v řadě oblastí s výhodou využít, ale není tomu tak zdaleka vždy. Výkon a jeho možný další růst s vyšším počtem (i jednodušších jader) může být v řádech stovek procent a někdy i mnohem vyšší, ale někdy může naopak dojít i k poklesu výkonu. Jak oproti výše taktovaným procesorům s méně jádry - a to je dnes zřejmý trend (u obou hlavních výrobců x86 procesorů, Intelu i AMD), a zejména tak proti designu s více jednoduššími jádry, které mají na stejné frekvenci přirozeně nižší výkon.

Některé operace a výpočty tímto způsobem prostě urychlit nelze. Nedá se také obecně říci, že by dříve nebyla vůle k využití více jader (a podpory více zátěžových vláken), ale z historického hlediska k tomu, zatím ve větším měřítku, nebyly příznivé podmínky - pro naprostou většinu vývojářů to dosud nebylo vzhledem k malému počtu vícejádrových procesorů na trhu rentabilní. Důvodem mohou být v dost velkém počtu případů také nízké zisky výkonu a tomu příslušející neadekvátní investice do vývoje.

Někdy si ale vývojář prostě řekne, že pokud se nepostará nakonec zejména kompilátor (například pomocí dalších pomocných vláken, které slouží jako prefetch pravděpodobně „chtěných“ dat v hlavním vláknu, apod.), je to pro něj zbytečná práce navíc, která za těch pár procent výkonu prostě nestojí. S počtem jader, a tím výraznějším možným nárůstem výkonu, se snaha o jejich využití bude přirozeně zvyšovat.


K vyššímu výkonu s vícejádrovýmy procesory

Nasazení nových architektur musí být zvoleno citlivě, zejména s ohledem na vývoj operačních systémů a aplikací skutečně využívajících možnosti nových architektur. Vývoj bude obtížný a počáteční investice nepochybně velmi vysoké. Jedním ze zmiňovaných řešení zvyšování výkonu pomocí více jader je spekulativní multithreading (zvýšení výkonu i jednovláknových aplikací na víceprocesorových systémech). Další techniky jsou nasnadě. Přibudou nové instrukce, dojde k dalším optimalizacím na úrovni jádra a cache (a sdílení dat mezi jádry).


Předpokládaný růst výkonu vzhledem k počtu jader a oblasti jeho růstu


Postupná řešení

Ačkoliv rozšíření dvoujádrových procesorů je stále větší, jejich využití je dnes stále ještě založeno spíše na hladším běhu více aplikací a lepších odezvách systému - progamů, kde jsou dvě a více zátěžová vlákna, není příliš mnoho a ne každý člověk pracujicí s počítačem využije tak masivní multitasking, aby z výkonu vícejádrových procesorů výrazně těžil. Víceprocesorové systémy jsou tu již mnohem déle, ale zejména cena je vytěsnila do oblastí, kde byl další výkon třeba (a byla zde vůle za něj náležitě zaplatit). Trend vícejádrových procesorů to ale mění a operační systémy, software a přístup k programování se bude muset nevyhnutelně změnit a přizpůsobit se novým podmínkám. Zejména pokud chceme z Moorova zákona těžit i v dalších desetiletích.


Kombinace více typů jader na čipu

Očekávat tedy zřejmě můžeme i čipy, které budou obsahovat vzhledem k nasazení několik větších a rychlých jader, kombinované s řadou menších, na jednodušší výpočty. Specifický okruh aplikací si vyžádá podporu akcelerátorů (později integrovaných do čipu) - jejich současná a co nejotevřenější podpora by měla vytvořit příhodné podmínky pro jejich širší nasazení...


Integrace několika jednotek pro specifické výpočty

Větší paralelizace a poměrně extremní rychlost růstu počtu jader nemusí zdaleka nutně odpovídat adekvátnímu nárůstu výkonu nebo nižší spotřebě ve všech segmentech. Na druhou stranu, krok tímto směrem je zřejmě nevyhnutelný a pravděpodobně je to jediná cesta, jak dále odpovídajícím způsobem zvyšovat výkon.


Možný růst výkonu vzhledem ke složitosti jader a jejich počtu


Existují samozřejmě i oblasti, kde nebude problém výkonu „navíc“ u většího množství menších jader využít
(příkladem mohou být datacentra, systémy pro výzkum ve zdravotnictví, různé simulace, apod.)