效能評估與效能剖析

在多核心或NUMA系統上測量效能時,有時會將執行緒固定在特定的核心上(設定親和性,affinity),其理由下列何者正確?

  1. A若作業系統讓執行緒在核心之間移動,快取的內容會遺失,或是使用到較遠的記憶體,使結果產生變動
  2. B因為固定之後,核心數會變成2倍
  3. C因為不固定的話,程式就無法執行
查看答案與解析

正確答案:A. 若作業系統讓執行緒在核心之間移動,快取的內容會遺失,或是使用到較遠的記憶體,使結果產生變動

作業系統為了分散負載,有時會將執行緒移到別的核心。移動後的核心快取中沒有所需的資料,而在NUMA系統中,也可能移到離放置資料的記憶體較遠的插槽(socket)上。因此,即使是同一個程式,時間也會依它在哪個核心上執行而不同。將執行緒固定在核心上,並統一記憶體的放置位置,可提高測量的再現性。

  • A. 正確。這是統一測量條件的作法。
  • B. 核心數不會改變。
  • C. 即使不固定也可以執行。
練習這個領域 前往領域頁面

效能評估與效能剖析的其他題目

  1. 分析使用GPU的程式效能時,最先該確認的事項,下列何者最適當?
  2. 在資料中心選擇伺服器時,除了尖峰效能之外還應考慮的觀點,下列何者不適用?
  3. 評估「以新方法加快了100倍」這項主張時,應確認的重點下列何者最適當?
  4. SSD的效能除了連續讀取的頻寬(MB/s)之外,也常以4 KB隨機讀取的IOPS(每秒輸入輸出的次數)來表示,其理由下列何者正確?
  5. 一邊逐漸增大陣列的大小,一邊測量重複讀取陣列的處理每個元素所需的時間,發現每到某些大小,時間就會階段性增加。其理由下列何者正確?