Re: Re: OT: jaky procesor

Vojtěch Bubník bubnikv na seznam.cz
Neděle Září 11 16:02:44 CEST 2011


> ta cache se asi vic projevi u multitaskingu nez v jedne (i kdyz
> narocne) aplikaci, takze spise serverova domena.
> Naopak programy typu CAD, modelovani a podobne spis vytezi z hrube
> sily pri vypoctech (taktu procesoru).
> I kdyz je to treba chapat jako jiste (znacne) zjednoduseni:)

To je veliké zjednodušení.

Už několik let se živím psaním zákaznického CAD programu pro medicínské aplikace, v zásadě jde o 3D CAD, který pracuje  s trojúhelníkovými modely těles v hraniční reprezentaci. Využíváme multitasking a rozsáhlé datové struktury, které jsou komplikované, obsahují spoustu odkazů, z trojúhelníků na hrany, z hran na vrcholy, z vrcholů na hrany atd. Traverzovat takovou strukturu pokud se nevejde do cache program neuvěřitelně zpomalí. Takže je třeba dělat vše pro to, aby se struktura do cache vešla třeba tak, že se pro daný výpočet zkonvertuje na jednodušší s méně odkazy. A nebo se předělá algoritmus tak, aby procházel datové struktury sekvenčně a ne na přeskáčku. Kupodivu problematika využití cache je dost složitá.

Rozdíl mezi Xeony a i5 či i7 je, že i5 a i7 umí sdílet cache na čipu mezi jádry. Právě proto mají nové procesory trochu méně cache paměti na jedno jádro. Počítá se s tím, že ne všechna vlákna potřebují hodně cache. Pro moji aplikaci to ale je špatně a občas prostě nemohu paralelizovat algoritmus na všechna jádra či vlákna (hyperthreading), která jsou k dispozici. Tedy kvůli limitu cache nejsem schopen využít maximum výpočetního výkonu.

Je vidět, že v mé profesi toho s elektronikou nemám moc společného, takže promiňte mi mé občasné debilní dotazy o elektronice :-)

Vojta Bubník


Další informace o konferenci Hw-list