當前位置: 華文問答 > 數碼

如果英特爾一直以擠牙膏的方式研發 CPU,CPU 的效能是否會進入一段停滯期?

2016-08-07數碼

先講一個最近發生在我們自己身上的事。

背景:

有的同行知道,我們正在做一套與Intel有一定競爭關系的原型系統,Intel在最近兩代的Xeon CPU裏面實作的幾個Xeon CPU專用的技術點,我們也實作了,目前暫時勉強處於並跑狀態(但估計很快就要被甩下了:(

Intel最近把他們的實作方案和技術考慮發了一篇論文出來,同樣的一個技術,Intel的實作在2007年模擬器評估的時候就做到了0.125%的overhead,2015年推進實際產品裏面的量產版本比這個更低。這個技術在我們的平台上剛好是我在負責做的,當時我看到這個公開的數碼倒抽了一口冷氣,因為單就overhead來說我們要落後10-40倍,當時算了一下我們的overhead大致上是1.5%~5%左右。

於是很想知道Intel是怎麽做的。他們公開的那個0.125% overhead的方法,是從一篇上世紀90年代初的一篇wisc-madison的老論文裏面挖出來的,而且那篇論文與我們所說的這項技術並沒有很明顯的直接關系。如果Intel的人不把這個發現的價值重新評估一遍,可能它就永遠埋在故紙堆裏了。當時看到Intel這個實作方法的來源的時候,震驚不亞於看到0.125%這個數碼。

面對一個技術的需求,能夠直接挖到一篇二十多年前不太起眼的一篇不太相關的論文,然後直接開幹,可能性太小了,比較合理的推測是,他們內部試驗/討論了很多很多種方法,最終在這篇二十多年前的不太相關的論文裏面獲得了實作靈感,然後找到了這個0.125%的方法。由衷佩服。

然後花了一個星期的時間復現了這個方法,測到了Intel沒有完全公開的一些數據,發現這個方法的效果比預料的還要好一些。

我想說的是,在我工作的microarchitecture這個領域裏,Intel並不是在擠牙膏,而是一直在努力探索。只有當你成為Intel的追趕者或者競爭者的時候才能感到他們的努力和強大。眼下的我僅僅是在一個學術研究機構裏面面臨一些不太直接的技術競爭罷了,都會有這種感到冒冷汗的時候,對於其他工業界的前輩和同行們來說估計壓力要直接的多,也大得多。

普通人感覺Intel進步很小,是因為單執行緒效能的進步空間已經越來越小了。ILP wall已經是寫進教科書裏的問題,【量化研究方法】的兩位超S級作者已經給出了未來的CPU不太可能再繼續激進追求ILP的斷言,激進追求ILP的上世紀90年代已經過去了。微結構的未來在其他地方,比如多核,比如能耗,比如異構,比如cache & memory hierarchy,等等。

直到目前為止,Intel的微結構仍然在許多地方保持領先,比如front-end的單執行緒instruction supply仍然領先IBM Power8/AMD Bulldozer及其後繼系列至少一個身位。