Throughput Computing概念是否能讓Sun再度旭日東昇?
在去年八月的IEEE Hot Chips 15論壇,Sun闡述CMT(Chip Multi-Threading)的概念、藉由多核心處理器來改善多執行緒的執行效能,今年二月更進一步的提出「Throughput Computing」,以提升網路處理的效能為思考核心,整合多核心處理器、多執行緒架構、以及更有效率的TCP/IP通訊協定堆疊,設計出兼顧效能及成本的處理器,在眾多伺服器廠商中顯得獨樹一幟。
在了解Sun的獨特訴求之前,我們先來探討,現有的處理器架構,究竟適不適合以網路為主要應用環境的伺服器,這樣才能了解Throughput Computing的動機之所在。伺服器效能的瓶頸,究竟在哪裡?
自從1990年代開始,為了追求更高的IPC(Instruction Per Cycle)以及更高的運作時脈,處理器微架構逐步朝向更寬執行單元、更深指令執行管線的路線發展,也連帶的帶來更複雜、更昂貴以及更耗電的處理器。
不過,對於網路環境而言,伺服器及處理器廠商所投資的龐大成本,卻不見得能得到應有的效益。以大型化的快取記憶體為例,往往網站伺服器所處理的資料,使用的重複性及區域性都不高,過高的快取記憶體誤失(Cache Miss)以及所衍生的存取延遲,反而降低效能。如此一來,如其增加快取記憶體容量,不如設法提升記憶體頻寬還比較有效。
由於處理器指令執行管線越來越深,複雜的分支預測機制成為高速處理器的必備功能,但是目前不少物件導向高階語言,如Java、C++和C#等,大量的虛擬函式指標(Virtual Function Pointer)以及間接分支(Indirect Branch)都容易降低處理器分支預測機制的表現,尤其當處理器的指令管線深度越來越深,分支預測錯誤的回復動作對效能的影響也越來越大。另外,動態記憶體配置降低了快取記憶體的命中率,像Java的垃圾收集機制(Garbage Collection)更會導致不需要的快取記憶體配置動作。很不幸的,這些都是企業應用上最常見的程式語言。至於多人多工應用所衍生的多執行緒環境,以及處理器效能及記憶體頻寬之間日益成長的差距,這些都不是現有以追求高IPC及高時脈的處理器所能滿足的。
隱而不現的,除了HPC之類的科學計算外,事實上多數企業伺服器甚少使用浮點運算,但是目前多數的處理器都擁有高效能的浮點運算器,佔掉了相當比例的成本,卻又用不到,這實在是極度缺乏成本效益。
更重要的是,隨著高密度運算環境(如刀鋒伺服器)的發展,處理器的發熱量及耗電量都成為系統設計上的重要考量:處理器越耗電,意味著更不容易縮小伺服器體積,以及提升伺服器的密度;越耗電的伺服器,也代表更高的機房維護成本,尤其是電費以及空調系統的投資。但很明顯的,現在的處理器都越來越熱,也都越來越貴,耗電量動輒上百瓦、單價高達數千美元的伺服器處理器比比皆是,這些因素都大幅增加企業部署伺服器的成本。
總而言之,現有的「傳統架構」處理器,已經無法滿足今日企業伺服器的需要,必須另闢他途,針對上述問題對症下藥,重新打造最具成本效益的處理器。Sun在今年八月IEEE Hot Chips 16所發表的Niagara處理器,就是首款針對Throughput Computing所量身訂做的處理器。針對Throughput Computing而生的Niagara處理器
Niagara的設計理念極度迥異於一般的處理器:沒有複雜的非循序執行微架構,也沒有龐大的快取記憶體及動態分支預測,將設計資源集中在多核心、多執行緒以及提升記憶體頻寬上。Niagara也不支援多處理器,僅內建一個浮點運算器、一組3MB的第二階快取、以及四組DDR2-533/667記憶體介面,可以連接最多達128GB的記憶體以及20GB/s的理論記憶體頻寬。
Niagara擁有八個核心,每個核心處理四個執行緒,所以邏輯上是一個32處理器的系統。每個核心個別擁有16kB的第一階指令快取及8kB的資料快取,由四個執行緒所共用。由於每個核心都是採用簡單的六階單指令發出管線,所以它並不是像SMT那樣可以同時執行多個執行緒,而是採取碰上很長的延遲(如快取誤失)後再交替執行的粗質多執行緒。
Niagara的運作時脈不會很高,大約僅1.3GHz左右,但是因為它的管線較短,因此執行效率上也會比較高。另外,值得注意的是,它的每個核心都附有一個「密碼處理器」,可以加速SSL等密碼相關的動作,這對網站伺服器相當的有意義。
Niagara另一個設計上的精神,就在於讓所有的硬體功能單元有著最高的使用效益,這從其快取的架構即可略見一二。為了改善32個執行緒共用同一個快取的效能,第二階快取由四個獨立的0.75MB、12路組關聯性的Bank所組成。維持快取資料一致性的機制亦相當簡單,直接透過第二階快取中的目錄、追蹤所有第一階快取的狀態,第一階快取亦採用簡單的透通式寫回方式(Write Through),揚棄一般處理器所採用的一致性協定。
Sun總裁兼營運長Jonathan Schwartz在9/25的個人blog中,除了公布Niagara試產品及試作系統的照片外,也透露了Niagara的耗電量僅有56W至60W。他更語出驚人的表示:一個Niagara處理器就可以達成接近32路Xeon的效能。我們有充分的理由相信,就算此事為真,這一定是極為特定使用環境下(如網站伺服器)的結果,不過也可以看到Sun對Niagara的期待,是多麼的殷切。Sun預計在2006年初推出採用Niagara的伺服器系統,屆時我們就會知道最後的答案。Sun是否真能擊出「逆向思考全壘打」?
近半年來,Sun數次大改其伺服器處理器的時程表,不但先後中止了雙核心UltraSPARC II「Gemini」及UltraSPARC V「Millennium」,集中全力在Niagara以及Rock的研發工作上,更進一步與Fujitsu結盟、宣布將在2005年進行高階伺服器產品線及SPARC處理器的整合,通稱為APL(Advanced Product Line),預計2006年Sun和Fujitsu都將推出採用Fujitsu SPARC64處理器的伺服器。
Sun和Fujitsu的動作,象徵著SPARC夾在IBM Power/PowerPC和英特爾Itanium雙強之間的窘境,Sun和Fujitsu不但半導體製程、處理器研發能力、市場規模以及處理器應用範圍均遠不及IBM和英特爾。另外,Sun的UltraSPARC的效能不佳、甚至不及Fujitsu的SPARC64系列,已經不是一天兩天的事情了。有心人還可以注意到一件事情:無論是UltraSPARC III和採用雙核心的UltraSPARC IV,其實都不是具備OOOE(Out-Of-Order Execution)能力的處理器。相較於Sun,Fujitsu的SPARC64處理器發展時程卻相當的穩定,也有著相當不錯的效能,預定明年就可推出雙核心、時脈高達2.4GHz的SPARC64 VI,所以Sun直接使用Fujitsu的處理器構建伺服器,是一個相當符合成本效益的做法。當然,如此一來,Sun目前的高階伺服器產品線勢必將發生天翻地覆的調整。
整體而言,Sun和Fujitsu的做法相當正確,Sun可以集中力量發展創新的處理器架構,Fujitsu也可以大幅降低SPARC64的研發及生產成本,兩者互蒙其利。不過,對於SPARC指令集而言,其存在的最大倚靠,依舊是目前市場佔有率最高的商業化Unix-Solaris,而Solaris正飽受Linux的威脅,Sun也正在竭力維持Solaris的技術優勢,甚至準備將Solaris開放原始碼。硬體畢竟是為軟體而服務的,這也是在關注伺服器發展時,所不能忽略的重點。
就算Niagara系統可以順利推出,其軟體授權問題將是一個潛在的疑慮,因為「螞蟻咬死大象」可說是對其設計理念最貼切的寫照。既然如此,如果按照處理器數目的軟體授權方式並未改變,Sun要如何說服其他軟體廠商調整Niagara系統上的軟體授權,也將決定Niagara的成敗。
不過,無論如何,Niagara與Throughput Computing的出現,勢必對現有的伺服器市場造成極大的衝擊,甚至顛覆既有對伺服器的效能評估方式以及所有廠商的系統設計方向,這是相當值得期待的。文⊙劉人豪
熱門新聞
2024-11-10
2024-11-10
2024-11-10
2024-11-08
2024-11-08
2024-11-08
2024-11-08