Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

L3 cache na multicore CPU i multithreaded aplikacija

[es] :: C/C++ programiranje :: L3 cache na multicore CPU i multithreaded aplikacija

[ Pregleda: 2053 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

netomc
Beograd

Član broj: 249593
Poruke: 70
*.dynamic.sbb.rs.



Profil

icon L3 cache na multicore CPU i multithreaded aplikacija06.03.2011. u 14:04 - pre 159 meseci
Nedavno sam poceo razvoj multithreaded aplikacije koriscenjem WinAPI/MFC/STL-a sa planom da kasnije to razvijem u openmp ili drugoj biblioteci. Aplikacija alocira vecu kolicinu memorije u kolekcionim klasama sa kojima aktivno radi pristupajuci elementima u ne-sekvencijalnom redu.



Na dijagramu se vidi da svaki core ima sopstveni L1 i L2 cache. Poseban bus postoji izmedju svakog core-a i L3 cache-a.
Ako dva ili tri core-a (thread-a) u isto vreme pristupaju L3 cache-u, sta se desava? Da li postoji implementacija lock mehanizama, pa samo jedan core u jednom momentu moze da pristupi L3 cache-u?
Da li svaki core zasebno adresira L3 cache (odn. da li postoji memorijski kontroler L3 cache-a)?
Drugo (u slucaju Phenom-a) iz dijagrama se vidi da postoji samo jedan bus prema memorijskom kontroleru. Da li to znaci da L3 cache moze da se update-uje samo po zahtevu jednog po jednog core-a u slucaju L3 cache miss-a?
Sve ovo me interesuje zbog dubljeg saznanja PC arhitekture i da bih eventualno mogao da optimizujem program.

Pozdrav
 
Odgovor na temu

Texas Instruments

Član broj: 227540
Poruke: 272
95.180.72.*



+61 Profil

icon Re: L3 cache na multicore CPU i multithreaded aplikacija06.03.2011. u 14:36 - pre 159 meseci
http://developer.amd.com/Pages/8142007173_4.aspx
 
Odgovor na temu

netomc
Beograd

Član broj: 249593
Poruke: 70
*.dynamic.sbb.rs.



Profil

icon Re: L3 cache na multicore CPU i multithreaded aplikacija06.03.2011. u 15:39 - pre 159 meseci
Hvala, ovo je interesantan podatak:

Citat:

Another aspect makes the L3 cache unusual is that it is not fed from memory. Rather, it serves as a spill-over cache for items evicted from the L2 cache.


Citat:

AMD has not published figures on the latency of data access in the L3 cache, so it's not possible currently to know how much faster.


Citat:

If multiple cores are going to work on the same data structure, do so in parallel-that is, at the same time. This enables the common data item to reside in the shared cache and so it lowers overall cache loading.


U tekstu se spominje i cache manager ali ne mogu da nadjem da li je on per core ili per cpu(jedino ako to nije cache control per cpu)? Nije mi jasno i zasto nisu na dijagramu u tom slucaju direktno spojili L1 cache sa IMC-om (barem je tako objasnjeno u tekstu).
 
Odgovor na temu

[es] :: C/C++ programiranje :: L3 cache na multicore CPU i multithreaded aplikacija

[ Pregleda: 2053 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.