Cache testy

Obsah

Programy jsou napsane pro zpracovani po blocich. Idea je takova, ze bloky se vlezou do rychlejsi L1/L2 cache pameti procesoru a pristup k datum je podstatne rychlejsi. Na druhou stranu pribude drobna administrativa, takze zrychleni neni zaruceno. Navic je tato vlastnost zavisla na architekture, takze jsme porovnali nasledujici systemy: IBM/Power2, solo komp AMD/Athlon, cluster Intel/P4.

Prvni pripad je 2D. Plne pole (nejak nemuzu najit vhodny cesky vyraz) neni optimalizovane na rychlost a tudiz neni napsano ani zpracovani po blocich. Lze ovsem ocekavat podobne vysledky jako v pripade narrowbandu. Nasledujici tabulka ukazuje porovnani ruznych pripadu na uzkem pasu napocitanem na blokovem a bodovem zpracovani.

<cache2_narrow>
Architektura
IBM
AMD
Intel
Bodove
7018
15444
949
Blokove
7205

1138
Zrychleni blokoveho
-3%

-20%

3D verze. Tentokrat je implementovane jen plne pole, takze zde porovnavame blokove a bodove zpracovani na tomto pripadu.

<cache3_full>
Architektura
IBM
AMD
Intel
Bodove


1585
Blokove


1850
Zrychleni blokoveho


-17%
* IBM/Power3

Vsechno zajiste zavisi na velikosti bloku a ma cenu se tedy ptat, jak to ovlivni nas vypocet. Ciste teoreticky by mel s velikosti bloku vykon trochu rust a pote hodne rychle spadnout (jak lze pozorovat napr. v Sandre na blokovem nasobeni matic). My mame situaci o neco slozitejsi z duvodu prekryvu, narocnejsiho vypoctu, aproximaci...

<cache2_size>
Rozdeleni (vsechno dava velikost pokryti 38bodu)
IBM
AMD
Intel
1x38
3988
3857
704
2x20
3955
3869
702
4x11
3987
3875
733
6x8
4016
4004
734

No.... Nic. :-) Jedine co snad jde zhruba rict je to, ze vetsi bloky davaji o neco rychlejsi vysledky.