多核心與同步

在核心數量眾多的系統中,使用目錄方式的一致性協定而非窺探方式,其原因下列何者正確?

  1. A因為記錄各快取列由哪些核心持有,只通知相關的核心,可以減少通訊
  2. B因為採用目錄方式後就不需要快取
  3. C因為採用目錄方式後,每次寫入都能通知所有核心
查看答案與解析

正確答案:A. 因為記錄各快取列由哪些核心持有,只通知相關的核心,可以減少通訊

在目錄方式中,針對每條快取列都有一張表(目錄),記錄哪些核心持有副本以及處於何種狀態。發生寫入時,查看目錄後只對持有副本的核心發送無效化請求。相較於向所有快取一併通知的窺探方式,通訊量較少,因此用於擁有數十個以上核心的伺服器用CPU等。

  • A. 正確。不再需要通知所有人。
  • B. 快取仍然會繼續使用。
  • C. 目的是避免通知所有核心。
練習這個領域 前往領域頁面

多核心與同步的其他題目

  1. 一致性協定有無效化型與更新型。許多CPU採用無效化型,其最適當的原因為下列何者?
  2. 關於多執行緒程式中發生的偽共享(false sharing),下列說明何者正確?
  3. 像「long cnt[8];」這樣排列每個執行緒的計數器陣列,發生了偽共享。下列何者是最適當的對策?
  4. 關於資料競爭(data race),下列說明何者正確?
  5. 以兩個執行緒同時執行上方的程式碼時,counter的最終值有時會小於200000。其原因下列何者正確?

這個領域的比較