Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

Thread Data Exchange through L3 Cache

bmeardon
Novice
523 Views

Hello,

I have hopefully a quick question...

I'm using a dual socket quad core (HT) Xeon X5570. It is a NUMA machine with each core having its own L1 and L2 caches and each socket's cores share a single L3 cache on the die. My question revolves around access and coherence specifically with the shared L3 cache.

I'm looking to have the most efficient communication between threads that will only run on cores on the same socket sharing the same L3 cache. I'm looking to do this through having a shared memory block (an array) that is only accessed by threads on the same socket/L3 cache. If only these threads access this array (so no other cores on different sockets will access it), will write backs to main memory be required? I'm intersted in what the specific cache coherency mechanics will be under this scenario?

Thanks for your help.

Regards,

Brandon

0 Kudos
1 Solution
TimP
Honored Contributor III
523 Views
I guess you are asking about the situation where a thread modifies a cache line, then other threads on other cores want to read it. The updated cache line in L1 or L2 becomes the only copy which is valid, and it must be updated by copying to L3 before other cores can use it by updating their copy in L1 or L2. Cores on the same CPU don't need to wait for write back to memory, as cores on the other CPU must do.

View solution in original post

0 Kudos
2 Replies
TimP
Honored Contributor III
524 Views
I guess you are asking about the situation where a thread modifies a cache line, then other threads on other cores want to read it. The updated cache line in L1 or L2 becomes the only copy which is valid, and it must be updated by copying to L3 before other cores can use it by updating their copy in L1 or L2. Cores on the same CPU don't need to wait for write back to memory, as cores on the other CPU must do.
0 Kudos
bmeardon
Novice
523 Views
I thought that would be the answer and that confirms it. Thank you TimP!
0 Kudos
Reply