6.1.10 · D3 · HinglishParallelism & Multicore

Worked examplesFalse sharing problem

3,033 words14 min read↑ Read in English

6.1.10 · D3 · Hardware › Parallelism & Multicore › False sharing problem

Kuch bhi shuru karne se pehle, ek measurement pin down karte hain jis par sab kuch tika hai.


Scenario matrix

Har false-sharing situation inhi case classes mein se ek hai. Har worked example us cell ke saath tagged hai jise woh fill karta hai.

# Case class Woh question jo yeh answer karta hai Example
A Adjacent, tightly packed Kya neighbouring array elements ek line share karte hain? Ex 1
B Boundary straddle Agar ek variable do lines span kare toh? Ex 2
C Zero-cost / no sharing Kab spacing already humein bachati hai? Ex 3
D Degenerate: single writer Kya ek core ke saath bhi false sharing hoti hai? Ex 4
E Padding fix, exact Exactly kitna padding kaafi hai? Ex 5
F Over-alignment trap 8-byte align kyun fail hoti hai, 64 kyun kaam karti hai Ex 6
G Limiting case: many cores Cost kaise scale hoti hai jab cores → large? Ex 7
H Real-world word problem Ek counter benchmark end-to-end time karna Ex 8
I Exam twist: partial sharing Kuch cores clash karte hain, kuch nahi — unhe gino Ex 9

Hum sab ke liye same tool banate hain: har variable ke liye compute karo, phir dekho kaun se indices collide karte hain.

Figure — False sharing problem

Worked examples


Recall Self-test

Sab hex→decimal, phir . Kya ek line boundary se shuru hone wale do variables jo 40 bytes apart hain ek line share karte hain? ::: Haan — , dono same index par floor karte hain. Kitne padding bytes ek 4-byte int ko 64-byte line par isolate karte hain? ::: bytes. Kya 8-byte alignment false sharing rok deti hai? ::: Nahi — 8 variables abhi bhi ek 64-byte line mein pack ho jaate hain. Kya false sharing hoti hai agar sirf ek core kabhi line likhti hai? ::: Nahi — false sharing ke liye ≥ 2 alag cores se writes chahiye. False-shared counter loop mein cores add karne se kyun madad nahi milti? ::: Single Modified line sab writes serialize karti hai; parallelism collapse ho jaati hai.

Related building blocks: Cache coherence protocols · Cache line size and alignment · Atomic operations · Lock-free data structures · Memory allocators · NUMA architectures · Multicore scaling · wapas parent topic par.