對現有EDA供應商來說,多核處理器的出現為他們平添了“幾分歡喜幾分愁”。
歡喜之處在于,隨著晶體管數量在65nm及更小工藝下飆增,多核平臺能提供更多必需的計算能力。但是,傳統(tǒng)的應用軟件很難、甚至根本無法實現并行處理,所以這些公司必須投入大手筆對軟件進行重寫,而這樣做直接導致了65和45nm節(jié)點工具的推遲上市。也正因為如此,當前的市場天平開始向新一代EDA初創(chuàng)公司傾斜。
在近日于美國圣地亞哥舉行的設計自動化會議(DAC)上,對多處理和多核平臺的支持是一個被反復討論的話題。特別地,DAC上的多線程和多核支持重點針對靜態(tài)時序分析、模擬/混合信號仿真和設計規(guī)則檢查(DRC)。而事實上,本次會議上也出現了數家EDA新創(chuàng)公司的面孔。
新創(chuàng)公司CLK設計自動化公司推出的Amber,是一款多線程增量時序和信號完整性分析工具,據稱在多核平臺上幾乎能獲得呈線性的加速。統(tǒng)計時序分析方面的新興公司Extreme DA,推出的則是多線程靜態(tài)和統(tǒng)計時序分析器GoldTime。而Averant公司最新的Solidify 5.0,則為該公司的形式分析工具增添了多CPU處理能力。
Nascentric公司在DAC上預展了AuSim MT,即一款針對多核平臺的多線程快速Spice仿真器;新創(chuàng)企業(yè)Xoomsys公司展出的是一款即將推出的、可運行在聯(lián)網計算機或多核CPU上的快速 Spice仿真器——XoomCKT;而Tanner EDA公司則演示了其T-Spice電路仿真器的多線程功能。
大型EDA供應商自然也不能忽視。Magma設計自動化公司已經為其Quartz DRC工具套件推出一種“基于流式數據流的架構”,據稱可優(yōu)化Quartz DRC在多核CPU和多處理方面的性能。
對65nm和45nm設計工具來說,多核/多處理器運行是必需的,Gary Smith EDA公司首席分析師Gary Smith指出。“如果EDA工具本身就具有并行機制,”他說,“那么通常情況下增加多核功能只要直接升級就可以了;否則,就要進行大量的改寫,這通常要花三年左右的時間。現在有許多工具都處在改寫進程進行了一半的狀態(tài),這也就解釋了為何我們在65/45nm工具方面落后了兩年。事實上,這是EDA產業(yè)界的大問題。”
F1:AuSim MT在兩個SRAM供應商的設計中進行測量比較,證明多線程速度取決于電路結構。
“對下一代物理實現工具來說,如果要跟上摩爾定律,多線程絕對是個關鍵。”CLK總裁兼首席執(zhí)行官Isadore Katz表示,“與用戶設計步伐保持一致的唯一途徑,就是利用所有可用的內核。下一代實現工具必須‘從頭開始’建立在真正的多線程架構上。”
Cadence、新思、Mentor Graphics和Magma等大型EDA供應商都承認,未來對多核的支持是基本要求。這四家公司都聲稱目前可提供多線程和多核功能。
一些近日發(fā)布的工具已經可以直接支持多線程處理。Sierra設計自動化公司去年所推出的網表到GDSII套件Opympus-SoC,就完全采用多線程架構,并且支持目前基于Linux的多核CPU。
聯(lián)網CPU還是多內核?
在EDA領域,采用多個CPU并不是什么新鮮事。一些應用軟件,特別是在進行功能驗證和物理驗證時,就會在聯(lián)網的工作站集群上使用分布式處理,充分發(fā)揮數十甚至數百個CPU的威力。其中,有些工具還采用了多線程處理,從而充分利用擁有多個CPU工作站的優(yōu)勢。
一些多線程工具,例如得到廣泛使用的Mentor Graphics公司的Calibre DRC物理驗證工具,聲稱同樣能在分布式網絡、多CPU工作站和多核CPU上很好地工作。Calibre DRC產品經理Michael White指出,用戶正在“計算集群”中部署雙核和四核CPU工作站,并結合分布式網絡和多核CPU。
如果負載很容易劃分,那么分布式網絡就可勝任,Cadence公司首席技術官Ted Vucurevich說道,但如果時間響應很重要,那就需要一個耦合更緊密的、多核的環(huán)境。
“分布式處理的難點在于:處理器之間的延遲很大。”Nascentric公司首席技術官John Croix說,“可以利用包含多個單CPU芯片的工作站來減小延遲,但這里總線是一項限制因素。雖然從軟件實現角度來看,多CPU架構和多核架構之間只有很小的差異,但是相比較,位于同一顆裸片上的多核處理器具有最大的速度。”
由于其公司的產品既支持分布式網絡CPU,也支持多核CPU,所以Xoomsys公司首席執(zhí)行官Raul Camposano的觀點比較中立。他認為,多核CPU通信速度很快,但用于存儲器訪問的帶寬非常有限;而聯(lián)網CPU通信速度雖然較慢,延遲也比較大,但它們有自己的存儲器和緩存,因此有更大的帶寬進行存儲器訪問。目前,多核CPU受限于只能包括少量處理器,而聯(lián)網CPU可以拓展到數百甚至上千個。
Tanner EDA公司首席科學家Massimo Sivilotti指出,隨著AMD的Opteron和英特爾的Core Duo工作站的推出,業(yè)界已經有“負擔得起”的多核平臺可用。對于模擬電路仿真等緊密耦合的數值問題,多核處理器比分布式聯(lián)網CPU更合適,他補充道。
目前只有特定的工具支持分布式處理,而對多核的支持最終會得到普及。“計算范例正在從單核向多核轉變。你會看到EDA軟件產業(yè)也在向這個方向發(fā)展。”Cadence公司副總裁Eric Filseth指出。
問題是為多核架構編程非常困難,而且試圖借助原有應用軟件的做法可能被證明是徒勞無功的。多核編程通常包含了利用線程來分配任務和協(xié)調響應。“從軟件角度來看,特別是在EDA中,許多算法本身是有順序的,因此即便使用了多線程,所獲的的性能改善也微乎其微。所以,它們需要被重新編寫。”Xoomsys公司的Camposano指出。
“可能是個災難”
“任何想清楚明白地創(chuàng)建用到線程概念復雜軟件的企圖,都有可能釀成一場災難,而大多數EDA軟件程序正深陷其中。”Calypto設計系統(tǒng)公司首席架構師 Ammol Mathur說,“從調試器到工具,它們對線程的支持度都很差,而這種很明確的多線程處理會引起極度難以調試的競態(tài)狀態(tài)和非確定行為。”[!--empirenews.page--]
試圖使現有EDA軟件線程化是一種“虧本行為”,因為它們最多只能與三或四個處理器一起工作,CLK公司的Katz表示。“確實需要一項全新的開發(fā)項目來建立線程化架構。”他指出,“這真的是件非常難的事。”但其回報很豐厚:CLK公司的Amber據稱能利用多達64個處理器獲得接近線性的加速。
Extreme DA公司的行銷總監(jiān)Graham Bell表示,在把EDA軟件用到多核CPU上時,存儲器和數據管理將是一項挑戰(zhàn)。“采用全局變量、不區(qū)分數據和執(zhí)行代碼的編程風格,使得改寫任務即使能實現也是極度困難。”他表示。
如果負載劃分不合適,Nascentric公司的Croix指出,通信開銷將抵消掉并行機制所帶來的好處。
AuSim MT是為實現多線程處理而從頭開始設計的工具。Nascentric公司使用了“幾乎完全遵守編碼指南的”面向對象的編程方法,Croix透露。
不僅僅針對新創(chuàng)企業(yè)
大型EDA供應商們承認多核帶來挑戰(zhàn),但同時表示他們正在取得良好進展。事實上,Mentor Graphics公司相信它的Calibre是全球最早的多線程EDA產品之一。Calibre技術行銷經理John Ferguson表示,“多核是市場的發(fā)展趨勢,我們相信在部署能充分發(fā)揮多核架構優(yōu)勢的產品方面,Mentor公司走在了前列。”
“不做多核就會被淘汰。”Magma公司物理驗證事業(yè)部總經理John Lee說道,“英特爾和AMD也不再繼續(xù)提高時鐘周期,而是增加更多的內核。如果你的產品不能充分發(fā)揮多核帶來的優(yōu)勢,那么你只能用到芯片的一半或四分之一性能。”
Magma公司最新推出的物理驗證工具Quartz DRC從一開始就支持分布式處理,但它并沒有增加多線程功能,而是采用了稱作“流式數據流”的架構。
“這種架構非常有利于多核應用,因為你可以使數據從一個內核流向另一個內核,而無需退到主存儲器或磁盤。”Lee指出。EDA軟件傳統(tǒng)上是采用一種“數據庫”架構把大量數據載入內存,這樣做很不靈活,他解釋道。
與Magma的數據流架構相比,多線程在細顆粒度并行處理方面的能力要稍弱些,Lee指出。盡管如此,Magma公司在具有多核功能的快速Spice仿真器FineSim中,還是采用了多線程技術。
Cadence公司支持多線程技術的工具有Encounter RTL Compiler全局綜合、First Encounter、Space-Based Router、NanoRoute和Chip Optimizer。不管是在多CPU工作站還是在多核CPU上,這些工具都能正確運行,Vucurevich指出。其中大多數工具還能運行于分布式網絡。
Chip Optimizer和Space-Based Router是最新的軟件工具,完全根據多線程技術要求而設計。不過它們需要依賴于不具備線程安全性的OpenAccess數據庫,Vucurevich 表示。Encounter RTL Compiler已經針對多線程進行了改寫。雖然該工具只有特定部分能實現多線程,但是這倒不是什么大問題,Vucurevich補充道。
“最徹底、也最具風險性的方法,就是針對多核處理重構應用軟件。”vucurevich表示,“人們都不愿意冒險,即使某款應用軟件的市場反應很好。這也是為什么人們注重方法實效的原因。”
新思公司的Galaxy IC實現平臺內的多種工具采用了多線程、分割、并行處理或分布式處理等方法,新思公司IT高級總監(jiān)Hasmukh Ranjan指出。例如,PrimeTime時序分析儀可以使用跨越多個CPU的并行處理,來分析不同的時序和信號完整性。HSpice電路仿真器也具有多線程處理能力。
“新思公司的所有研發(fā)小組都在從事某種多核工作。”Ranjan說,“EDA工具肯定會向多核發(fā)展,因為未來摩爾定律的優(yōu)勢不是來自同質多核,就是來自具有特殊處理器的多核。”
不過Ranjan也指出,許多EDA工具要求訪問存儲器中的全芯片數據庫。由于存儲器訪問帶寬的限制,在多核處理器上運行軟件可能導致性能下降。因此,對處理器供應商來說,改進總線架構、緩存容量和存儲速度尤其重要。
“如果這些方面沒有改進,數據瓶頸將抵消新增內核所帶來的優(yōu)勢。”Ranjan表示。