Tak je možné, že paměti při správném interleave využije otevírání několika bank LPDDR4 naráz a tím se navýší výkon více než plynulým čtením z jedné banky s přechody na další řádky. Je otázkou jak to vychází s délkou řádky cache proti šířce paměťové cesty. Obecně to může být dost loterie řízená konkrétními přístupovými vzory.
Na PC jsou multikanálové řadiče a multi-rank RAM moduly. Tam prokládaný přístup funguje už dávno.
Největší brzdou je, když se thready přetahují o stejnou cache line.
Jedna další věc, která může být lokální pro nějakou podmnožinu celkového počtu jader i v rámci single-chip CPU, je cache, hlavně L1 a L2. Díky tomu mají některé dvojice jader navzájem rychlejší komunikaci (cache coherence protokolem) a jiné dvojice pomalejší. Nástroj na odkazu výše z toho skládá čtvercovou vztahovou matici.
NUMA mechanismus alokace RAM jistě nemá přímý vliv na využití cache (protože tato se nealokuje explicitně), ale... se zapnutou podporou NUMA by mohlo dojít například k úpravě schedulingu vláken na fyzická jádra CPU tak, aby vlákna téhož procesu běžela na "blízkých" fyzických jádrech... [/fabulace][/spekulace] pokud to náhodou takto nefunguje furt.
Jen bych rek ze pri tom narazis na takovou drobnost, ze jedna vec je to, jak neco ten CPU prezentuje ven, a druha je, jak je to implementovano uvnitr, takze vysledek muze byt klidne i zcela opacny = bude to mnohem horsi.
Jinak s tim schedulingem si pichnul do intelich vicemalovelkojader ... ktery mimo jine kvuli tomu nefungujou. Respektive ten problem existuje pri jakymkoli vicejadre, ale kdyz se jejich latence rozchazi radove, tak to zacne byt prus.r.