多核心與同步

在平行程式中,即使增加核心數量,效能仍未如預期成長,下列何者不屬於其原因?

  1. A鎖的等待等,執行緒之間的同步很多
  2. B各執行緒的工作量有很大的偏差
  3. C各執行緒只讀寫自己專用的資料
查看答案與解析

正確答案:C. 各執行緒只讀寫自己專用的資料

妨礙平行化效果的主要原因包括:無法平行化的部分(阿姆達爾定律)、鎖或屏障造成的等待、共用資料或偽共享造成的快取列來回移動、工作的偏差,以及記憶體頻寬不足等。若各執行緒只處理自己專用的資料,就不會產生與其他執行緒的通訊或等待,更接近理想的平行化。

  • A. 同步的等待是妨礙成長的典型原因。
  • B. 工作的偏差會產生等待慢執行緒的時間。
  • C. 正確。只用專用的資料,不會妨礙成長。
練習這個領域 前往領域頁面

多核心與同步的其他題目

  1. 將迴圈的各次迭代分配給多個執行緒時,若每次迭代的運算量差異很大,適合的分配方式為下列何者?
  2. 以多個執行緒計算陣列所有元素的總和時,為了效能,適合的方法為下列何者?
  3. 關於讀寫鎖(reader-writer lock)的特徵,下列何者正確?
  4. 關於計數型號誌(counting semaphore)的用法,下列何者最適當?
  5. 關於快取一致性與記憶體一致性模型的差異,下列說明何者正確?

這個領域的比較