處理器在處理資料時,首先會將資料從記憶體捉進處理器的快取區內,之後才能繼續後續的運算。若處理器與記憶體間的頻寬固定不變,而核心數不斷增加時,由於分母越來越大,能分給每個核心的頻寬就會越來越少,進而成為資料傳輸的瓶頸。此外,為了提昇處理器運算效能,提前預測即將用到的資料並將它提前讀取進處理器快取內的「預取技術」是許多處理器都會採用的技術。然而預取也不見得是百發百中,一旦判斷錯誤,這個動作反而會讓處理效能變差。
北卡羅拉娜的研究團隊提昇處理效能的方法,主要從兩個地方下手:其一是發展新的演算法來動態分配各個核心使用的資料頻寬,以減少資料傳輸瓶頸發生的可能。其二則是動態開關預取機制,當預取的準確度低於某個程度時即關閉掉預取的功能,以減少捉取錯誤資料所佔用的額外頻寬。引用來源處有完整的公關稿,至於更完整的學術論文內容將於六月九日正式發表。
Read - North Carolina State University