什麼是偽共享(False sharing)
不同執行緒各自改寫不同的變數,但因這些變數位於同一條快取行,使得該行在核心之間來回傳遞而變慢的現象。
日文名稱: 偽共有
「偽共享(False sharing)」出現在1領域的1道練習題中(CPU與架構等)。
這個名詞所屬的領域: 多核心與同步
不同執行緒各自改寫不同的變數,但因這些變數位於同一條快取行,使得該行在核心之間來回傳遞而變慢的現象。
日文名稱: 偽共有
「偽共享(False sharing)」出現在1領域的1道練習題中(CPU與架構等)。
這個名詞所屬的領域: 多核心與同步
在多執行緒程式中,必須注意若不同的變數位於同一條快取列,會發生互相爭奪的「偽共享」(false sharing)。
目前許多 CPU 所使用之快取列(快取區塊)的大小,下列何者為一般情況?空間局部性 互斥鎖(Mutex) 比較並交換(Compare-and-swap) 目錄式一致性(Directory-based coherence) 交易式記憶體(Transactional memory) 死結(Deadlock) 自旋鎖(Spinlock) 屏障同步(Barrier synchronization) 原子指令(Atomic instruction) 記憶體一致性模型(Memory consistency model)