硬科技:幻之處理器系列 Sun UltraSPARC RK「Rock」(2009年)

2022.07.06 01:49PM
照片中提到了Serdes 10、Deache、MCU,包含了遊戲、中央處理器、SPARC、奔騰、英特爾

時代背景:Sun的UltraSPARC處理器長期缺乏效能競爭力的宿疾,在21世紀初期終於「業力引爆」,也讓Sun在2002年七月,併購Afara Websystems,中斷開發中的新型UltraSPARC處理器,並公佈Throughput Computing處理器發展策略與CoolThreads處理器產品線。但並非所有的新架構UltraSPARC處理器都有順利的進展,代號Rock的UltraSPARC RK就是SPARC處理器發展史中的著名黑歷史。

20世紀末期,Intel與AMD在x86處理器的效能競爭,一路從個人電腦往上打到伺服器市場,不僅蠶食鯨吞這塊原本由「RISC諸神」所統治的疆域,更逼著這些這些伺服器大廠不得不調整策略,就這樣一連上演了好幾年的「RISC (Unix) 諸神的黃昏」,最後連Intel的「64位元真命天子」Itanium都跟著陪葬。

俗語說的好,投降輸一半,逃避雖然可恥但是很有用,當二十一世紀的拂曉升起時,Intel那出師不利的Itanium已被欽定為一切高階伺服器的疆界,PA-RISC、MIPS與Alpha終將被其取代,只剩下IBM的Power和Sun/Fujitsu的SPARC靠著強大的軟體資源繼續「負嵎頑抗」,後者更是靠著當時地球上最強大的伺服器作業系統Solaris與重要盟友Oracle的高階資料庫,保護著效能競爭力嚴重不足的UltraSPARC。

回顧消失在歷史洪流的Intel旗艦處理器Itanium(上)

回顧消失在歷史洪流的Intel旗艦處理器Itanium(中)

回顧消失在歷史洪流的Intel旗艦處理器Itanium(下)

硬科技:RISC諸神的黃昏系列 Sun/Fujitsu的SPARC (上)

硬科技:RISC諸神的黃昏系列 Sun/Fujitsu的SPARC (中)

硬科技:RISC諸神的黃昏系列 Sun/Fujitsu的SPARC (下)

Sun在當時的修正策略可分成3個部分:

  • 網站伺服器:大量簡單核心搭配粗質多執行緒,也就是後來的UltraSPARC T1 Niagara與一系列的後繼產品。

  • 汎用伺服器:改用AMD的Opteron,而Sun也是第一個採用AMD處理器的伺服器大廠,對AMD進軍伺服器市場帶來很多有形和無形的幫助。

  • 資料密集伺服器:各位科科還記得前面有提到Oracle的資料庫嗎?其實Oracle的應用軟體長期針對SPARC處理器最佳化已經是公開的祕密,「為何你們家的CPU號稱有多快,為何跑Oracle就跑不過Sun和Fujitsu的機器」成為其他Unix伺服器廠商心中永遠的痛。在商言商,Sun自然就不得不為了資料庫應用,打造全新處理器,也是本文的主角:代號 “Rock” 的UltraSPARC RK,一個16核心/64執行緒的怪物。

照片中提到了ROCK Block Diagram、Memory I/F Memory I/F Memory I/F Memory I/F 8 Memory links、Total 48 GB/s effective BW,包含了圖、集成電路、中央處理器、英特爾、半導體

各位科科當下應該會對上面的方塊圖留下深刻的印象,也會感受到這將會1顆效能很暴力的高密度資料處理引擎,那個叢集 (Cluster) 、四核心共用第一階指令快取記憶體與兩個浮點運算器 (圖中沒畫出來),更可能喚起對於AMD推土機 (Bulldozer) 那個叢集多執行緒 (CMT, Cluster-based Multi-Threading) 的回憶。

但Rock最重要的特色,在於它的「同時預測執行式多執行緒 (SST, Simutaneous  Speculative Threading)」,「普通」的多執行緒是邏輯上視同不同的CPU去執行不同的指令流,但Rock卻是兩條執行緒同時去執行相同的指令,其中 (Scout Thread) 是賭博式預測,另一條則是被延後 (Deferred) 執行 (User Thread),如前面賭輸了,就用後面來回復正確的執行結果。一般的預測執行是賭錯了就清空指令管線一切重頭,Sun卻是可以「前仆後繼」,截然不同的設計理念。

硬科技:AMD同時多執行緒SMT4是什麼?圖解CPU各種核心與執行緒關係

既然Rock為了資料庫而生,在HotChips這類的業界重要活動,Sun也就理所當然的刻意宣傳資料庫的效能。

照片中提到了Normalized IPC、Scouting Improvement - Database、3.00,跟太陽微系統有關,包含了角度、線、字形、圖、產品

Sun宣稱Rock核心具備一定程度的非循序指令執行能力,說穿了,也就是靠著這種特殊的多執行緒架構與快速的回復狀態機制。「一切都設法提早搞定,不小心出事還可以補救」就是Rock的核心概念。

照片中提到了Rock Pipeline Overview、Defer、Instr.,包含了圖、平面圖、產品設計、設計、圖

 

此外,如何克服不同的執行緒同時存取相同記憶體資料的效能瓶頸,也是Rock的一大看頭。在過去,為了確保一致性,透過鎖存 (Lock) 機制,一次只有一條執行緒可使用,是最保險但也是最沒效率的手段 (如果各位科科有體驗過一堆人共同修改網路芳鄰上某個Office檔案就知道那種感覺)。假若能夠盡量「獨樂樂不如眾樂樂」,那該多好?

Rock是計算機工業史上第一個硬體支援「交易式記憶體 (Transactional Memory)」架構的處理器 (嚴格說來,Transmeta的Gated Store Buffer更早,但應用上卻完全不同),用檢查點 (Check Point) 取代鎖存,可大幅提高這種應用場合的處理平行度。當然,背後支撐這種危險玩法的,依舊是「先斬後奏」失敗後的還原功能。在今天,我們都知道任何形式的預測執行與記憶體存取行為,都可能造成潛在的資安漏洞,但隨著Rock在2009年被腰斬,我們也無從考證這顆處理器究竟有多麼危險了。

硬科技:被Intel處理器漏洞嚇傻前 科科們要先知道的事(上)

硬科技:被Intel處理器漏洞嚇傻前 科科們要先知道的事(中)

硬科技:被Intel處理器漏洞嚇傻前 科科們要先知道的事(下)

沒有交易式記憶體就只能循序執行。

照片中提到了Rock TM-Lock Example、Thread 1、Thread 2,包含了馬克西姆·切默科夫斯基、產品、產品設計、設計、線

有交易式記憶體就可以平行處理。

照片中提到了Rock TM-TM Example、Thread 1、Inst.,包含了圖、產品、產品設計、設計、線

 

Sun在2004年初宣佈中止UltraSPARC V Millennium與雙核心UltraSPARC II Gemini的研發 (這兩顆已經設計完畢且Tape Out了),也讓Rock變成「眾人希望之所繫」。

只不過,Rock的進展一直不順,也歷經多次延宕,原先早在2007年一月就Tape Out、四月由頭髮綁馬尾的Sun執行長Jonathan Schwartz在blog展示BGA封裝的UltraSPARC RK照片,經歷「在2008年升級到2.0版」的重大設計變更,隨後在隔年也走上慘遭腰斬的命運。最終我們唯一可以知道的是,Rock是顆晶粒面積和耗電量分別高達396平方公釐與250W的龐然大物,也許這就是被新東家Oracle放棄的主因吧?或許Rock根本沒那麼厲害也說不定?科科。

2 則回應

  • 早期EDA尚未萌芽要設計微處理器是相當高難度的領域
    2022-07-06
  • 早期EDA尚未萌芽要設計微處理器是相當高難度的領域
    2022-07-06