False Sharing
Farklı çekirdeklerde çalışan thread'lerin mantıksal olarak bağımsız verileri aynı cache line içinde değiştirmesi nedeniyle gereksiz cache coherence trafiği oluşması.
Teknik Bağlam
Sayaç dizileri, per-thread state veya ring buffer indekslerinde sık görülür. Padding, veri yerleşimini değiştirme veya thread-local aggregation coherence invalidation maliyetini azaltabilir.
Sınırlar
Değişkenlerin aynı nesnede olması tek başına false sharing değildir; aynı cache line üzerinde yazma ve çekirdekler arası invalidation gereklidir.
İlgili Kavramlar
- Cache Coherence
- Cache Line
- Memory Barrier
- NUMA