多核心與同步

關於NUMA(非均勻記憶體存取)系統,下列說明何者正確?

  1. A所有核心都能以相同的時間存取所有記憶體
  2. B有離核心近的記憶體與遠的記憶體,存取遠處的記憶體需要較多時間
  3. C各核心只能讀取自己的記憶體,無法使用其他核心的記憶體
查看答案與解析

正確答案:B. 有離核心近的記憶體與遠的記憶體,存取遠處的記憶體需要較多時間

在具有多個CPU插槽的伺服器等系統中,各插槽有直接連接的記憶體,而存取其他插槽的記憶體則要經過插槽之間的連線。因此,遠處的記憶體比近處的記憶體慢,頻寬也較小。所有記憶體在單一位址空間中看起來是一體的,所以程式可以直接運作,但把資料與執行緒放在同一側可以提升效能。

  • A. 那是均勻記憶體存取(UMA)。
  • B. 正確。把資料放在近處的記憶體很重要。
  • C. 雖然需要時間,但遠處的記憶體也可以存取。
練習這個領域 前往領域頁面

多核心與同步的其他題目

  1. 在Linux的NUMA系統中常用的首次接觸(first touch)策略(將頁面放在第一次寫入該頁面的執行緒所在節點的記憶體),下列關於需要注意之處的說明何者正確?
  2. 在平行程式中,即使增加核心數量,效能仍未如預期成長,下列何者不屬於其原因?
  3. 將迴圈的各次迭代分配給多個執行緒時,若每次迭代的運算量差異很大,適合的分配方式為下列何者?
  4. 以多個執行緒計算陣列所有元素的總和時,為了效能,適合的方法為下列何者?
  5. 關於讀寫鎖(reader-writer lock)的特徵,下列何者正確?

這個領域的比較