什麼是循序一致性(Sequential consistency)

所有核心的操作可排成單一順序,且各核心的操作看起來都依程式順序的、最直觀的記憶體一致性模型。

日文名稱: 逐次一貫性

「循序一致性(Sequential consistency)」出現在1領域的3道練習題中(多核心與同步等)。

這個名詞所屬的領域: 多核心與同步

練習循序一致性(Sequential consistency)的題目

關於循序一致性(sequential consistency),下列說明何者正確?

  1. A各核心的操作每次都以隨機的順序執行
  2. B所有核心的操作被排成某一個順序,且各核心的操作看起來會依程式所寫的順序出現
  3. C所有操作都只在一個核心上執行
查看答案與解析

正確答案:B. 所有核心的操作被排成某一個順序,且各核心的操作看起來會依程式所寫的順序出現

在循序一致性中,多個核心的操作就像洗牌一樣被排成一列,而各核心的操作在其中看起來維持程式的順序。對程式設計師而言這是最容易理解的模型,但它會大幅限制硬體以儲存緩衝區等方式調換順序的最佳化,所以實際上許多CPU採用更寬鬆的模型。

解析中的「循序一致性(Sequential consistency)」

出現「循序一致性(Sequential consistency)」的題目(3題)

  1. 關於循序一致性(sequential consistency),下列說明何者正確?
  2. 將上方的兩個執行緒在不同的核心上同時執行(假設編譯器不進行重新排序)。下列哪一個結果在循序一致性下不會發生,但在x86等實際的CPU上可能發生?
  3. C11的_Atomic或C++11的std::atomic可以指定記憶體順序(memory order),其理由下列何者正確?

相關名詞

儲存緩衝區(Store buffer) 記憶體屏障(Memory barrier) 互斥鎖(Mutex) 比較並交換(Compare-and-swap) 目錄式一致性(Directory-based coherence) 交易式記憶體(Transactional memory) 死結(Deadlock) 自旋鎖(Spinlock) 屏障同步(Barrier synchronization) 原子指令(Atomic instruction)

前往名詞解釋列表