Chip123 科技應用創新平台

標題: 多執行緒技術在後45nm遭遇挑戰 [打印本頁]

作者: masonchung    時間: 2008-8-17 11:49 AM
標題: 多執行緒技術在後45nm遭遇挑戰
EDA供應商們正相繼為其工具中新增多執行緒功能,以因應多核心IC設計方面的挑戰。然而,業界人士在日前於美國加州舉行的設計自動化會議(DAC)上提出了一個尖銳的問題:多執行緒技術真的是高效發揮多核心系統性能的最佳方法嗎?+ |! e1 i- `' s7 ]* }2 j

4 K! ^, e+ w! Z6 v- k“執行緒是死的。”Gary Smith EDA公司創始人兼首席分析師Gary Smith聲明,“它只是一種短期的解決方案,無法解決長期性的問題。”) P: C" p2 h) v  V
9 E/ W5 Q- c9 X/ H  X
$ s8 p8 M7 N  L( _6 ^
在45nm節點上,越來越多的設計已達到(甚至超過)1億閘的規模。這些設計超出了目前IC CAD工具的能力,迫使EDA供應商開發具有平行處理功能的產品。( }5 ^4 X9 S+ ]' w( O; `, l2 S8 o
) S" F( X/ R! F) Y* ]! p  D

$ k% S# b& }& l- K至今,平行處理功能還一直依賴執行緒技術。然而,執行緒技術在使用達4個處理器的情況下就達到了極限,因此EDA供應商必須拿出新的方法來解決45nm設計所面臨的問題。
$ V# H9 h, z. E/ s$ x4 c
  V0 E5 G0 ^% {8 r- M, v- B8 W3 w& b% ?& e% D
“執行緒只能給你兩到三年的緩衝時間。”Smith表示,“基於庫或模型的平行技術是最佳的過渡辦法。”
0 w6 r5 O$ X; p9 x; a( v7 D: V, k; p$ a& s: t8 G

2 D" Y+ V" O) W1 [$ A6 _即使如此,參與DAC的EDA供應商們還是對未來的多執行緒技術描繪出一幅更為詳細的發展藍圖。
3 c  P$ ~" Z6 Z/ O1 ?! C8 |4 _
. ], I. r" v7 r  Z1 {8 G6 H8 L4 ?' Y& I" I3 q: t7 h9 b
“我們並未在時序分析領域中看到多執行緒技術的極限。”EDA新創企業Extreme DA公司行銷顧問Graham Bell表示,“我們發現3或4個處理執行緒還具有良好的擴展性。雖然在超過4個執行緒時會遇到困難,但我想問題不大。”' m$ |, p  L; _3 m; ?

7 \! V& v+ u# U6 f: c( P6 G& ~1 }! W7 x' v* e4 e; c) }( q
透過Extreme DA公司的多執行緒靜態和統計時序分析器GoldTime,該公司開始採取一種基於ThreadWave(一種網表劃分演算法)的精細粒度多執行緒(FMT)技術。“由於運用了獨立架構,因此這種方法的記憶體佔位面積非常小。”Bell指出,“我們認為多執行緒技術的應用還未到盡頭。”% {) g+ b+ f6 N; y1 M+ O
% O% J9 f: |; V8 U% g0 l( c7 |$ b

( C& o# W: {) V+ d% e! T5 J對於採用精細粒度的平行設計應用來說,多執行緒是充分發揮多核心性能時最常用方法之一,法國模擬與驗證工程(EVE)公司CEO Luc Burgun表示。“另一方面,基於多執行緒的程式也可能很難除錯。”他介紹,“這是因為它們打破了軟體原有的執行順序特性,因而很容易導致不確定的行為,甚至產生許多令人頭疼的問題。”
; a9 Y# F4 P9 f/ j5 d( g  z; ]* y* t
! n1 b" F! M6 Y1 g4 }3 y# R1 L% D/ T2 w' C% v/ t5 `8 \
據Burgun介紹,多處理(multiprocess)技術仍然是最簡便、最安全的多核心開發方式。他希望業界的平行運算專家們能發起一些計畫,以共同推動多核心的編程。“從這個角度來看,Nvidia公司所開發的‘統一運算設備架構’(Cuda)看來似乎很有前景。”Burgun表示。
/ e$ M6 U1 L& ?. B) ^1 g/ [0 ]( y" Y( B+ {- E2 P  U
, J' p- v# j9 [
Imperas公司總裁兼CEO Simon Davidmann表達了同樣的看法。“多執行緒並不是開發多核心資源的最佳方式,它在某些領域的表現還算不錯;”但他也指出,“只是就模擬領域而言,多執行緒技術仍有很多問題。”
* K5 S6 L1 u2 e# l' x. F9 b7 J$ g! L9 f/ v* R/ K

* r& }8 R  R& G7 c多執行緒並不是Synopsys的唯一方法,該公司產品平台行銷資深總監Steve Smith表示。“每一種工具都有不同的演算法。在觀察每種工具時,我們都會詳細剖析產品,以瞭解採用多執行緒時的最大好處。”他指出,“多執行緒並非總能見效。如果不管用時,我們就必須進行劃分。”
- K' v& i6 N) u* l9 e/ M$ [# Q% K) X- e' [; v
- E; t( F1 {% Q& u* B+ n
Smith認為,隨著產業朝向8或16顆核心轉移,晶片製造商必須採用一種混合途徑。他建議共同採用多執行緒技術和劃分方法。
, b- r: @# i1 r1 R
0 C5 @) \4 x; ]) \1 D; S7 {! E; c$ B4 f$ G9 G3 g9 v4 G
為了詳述其觀點,Smith引用了Synopsys在多執行緒方面的一系列多核心解決方案,特別是該公司的HSpice電路模擬器。“HSpice已受到我們的用戶普遍使用。如果用戶不想從頭開始學習使用某種工具,Hspice就是一個最好的典型工具。”
$ N& j! X$ C' r8 P2 b. n* D" I4 S5 e$ A6 r- ?  S
, O! r2 p! _; v/ }: s
Smith特別指出,HSpice多執行緒產品是分階段推出的。“去年,我們推出了模型評估多執行緒套件,它提供很好的加速功能。接著在今年3月,我們推出了HSpice多執行緒矩陣解算器。我們希望確保用戶不受影響,因此決定逐步發展多執行緒技術。”他表示。7 s) D! G$ Z, N- R% y* v
7 l, Q# b, G4 x

! t- j: r- u2 ?9 G$ B' ^, Y0 O此外,Smith接著表示,新思科技(Synopsys)現正投入研發的另一個趨勢是管線技術(pipelining)。該技術是一種企業級的行動,因為它需要更多IT的投入,以便把光學鄰近校正(OPC)和光罩數據準備等多重任務壓縮到單一管線中。$ Z. M% q) P- D" t7 X& V+ O
# ]  ^6 T. R/ i! G
0 f$ I$ Z% `+ O
Magma公司在去年發佈了多執行緒技術的替代方案,在其Quartz-DRC設計規則檢查器中使用了一種基於串流數據流程的架構。相較於Magma的數據流程架構,多執行緒技術提供的是較粗粒度的平行處理性能,Magma公司產品工程資深總監Thomas Kutzschebauch表示。4 B# D0 @1 W$ q7 e" J# ]9 w
" ~6 P; m& t6 r+ Z' _

, q7 i$ e- m1 G1 q5 nMagma的多核心策略專注於大規模的平行處理,Magma公司副總裁兼客製設計業務部門總經理Anirudh Devgan在一場有關‘以多核心處理器改造EDA工具’的DAC小組討論會上透露。
+ L3 J1 i/ {1 p
6 M& }3 H9 l. ~& t/ C  `  f( {$ c1 E& T
“4個CPU的裝置只是一種趨勢的開始,EDA軟體必須可在大型CPU(超過32顆核心)上執行。”他指出,“平行機制提供了重新定義EDA產能和價值的機會。但僅靠平行機制是不夠的,因為平行執行一個低效的演算法是對於硬體的一種浪費。”
) C! ?: s' F4 I7 ^( s0 z, f/ [4 b" i6 |2 m, p, T, y8 E+ _

% o' w9 f5 `( P. qDevgan的結論是:EDA工具必須具備生產力、整合性和大規模的平行處理能力。! N" J. W; y, A. h2 o
- _  `; \9 h. y$ a$ A

7 {+ v! y& U% w) s; P超越C語言
! O3 v8 R* d( p5 m/ i% |3 m8 ]' Y" n2 |4 _7 h5 N$ r( k% `$ @( V8 l6 Z" V4 F
! Q% |3 R5 W' d
分析師Gary Smith在DAC中發表‘DAC趨勢和焦點’時,針對以C語言作為多核心編程的最極語言這一看法表示懷疑。他認為,找到一種全新的嵌入式軟體語言將是今年業界所面臨的十大重要議題之一,他並強調,這種平行語言最慢必須要在2015年以前就緒。: u" E7 B5 ~4 |8 E+ b+ B* ^" \
& ?/ l6 [$ M7 M1 q
6 ~; Y# s  j/ F
包括Magma的Kutzschebauch、Extreme DA的Bell、Synopsys的Smith等EDA產業的高階主管們也同意這個觀點。“語言會隨著時間的推移而改變。”Synopsys公司副總裁兼解決方案部門總經理Joachim Kunkel表示,“我們將會看到新語言的出現,不過這還需要一段時間。”! p' R  M; a% {0 B
) @; ]6 P1 x( Y& H7 O4 b
7 a1 q6 `7 b7 a( Q: i0 Y" r
與此同時,在軟體方面,改寫傳統程式碼是一個大問題,而為多核心平台編寫新程式碼也同樣的困難。儘管如此,Imperas公司的Davidmann堅持認為:“最大的挑戰並不在於編寫、修改或移植程式碼,而是驗證程式碼能否正確執行,以及在程式碼無法正常執行時能指出該如何修復。因平行處理而導致失敗的機率正呈指數級增加。”( ]4 |# t: P) x- |- X

0 V! A) @4 d  R0 b' {. D4 E8 g* `5 V) q, }6 D0 ?( L0 X3 z
Davidmann指出,傳統上,軟體開發人員採用循序漸進的思維,現在這種思考方式必須要改變了。儘管軟體開發人員還需要付出更多努力,以及採用新工具來協助完成更多任務,但由於晶片設計團隊編寫平行HDL程式碼已經有20年的時間了,這種途徑應該是可行的。
4 `2 n* i+ q2 t. o9 {8 S" N
- I) i! _' e* O& N& M% j8 ], a: K, A3 v2 k2 R6 E# z
功能驗證採用了單一處理器平台和序列程式碼,這意味著它可直接針對特定功能以執行實際的數據和測試,Davidmann表示:“在採用GNU計畫除錯器的範圍內,除錯可直接作為單一窗口。”, k+ A$ t3 u) r0 v
9 _$ d! H1 b; S, p' w2 B7 E7 W
) G) p& z1 r( i4 ]* \- ]
“但在採用平行處理時,用以除錯的執行數據和指導測試無法提供足夠的程式碼覆蓋率,”他指出,“因此,我們需要新的除錯、驗證和分析工具來產生更高效率的軟體程式碼。”
7 B/ r5 A8 `6 ^( s/ [+ B5 K7 D( Z
  O9 ^: D- M1 I1 V3 c' w+ j; A2 Y/ W8 P
據Davidmann透露,Imperas公司也發佈了一款可用於異質多核心平台的嵌入式軟體驗證、除錯和分析產品。“這些工具可協助軟體開發團隊在較短的時間內產生更優質的程式碼。”
1 {/ {" o3 \# R( v: y+ Z$ H
/ Y, {  k9 o& ]2 V0 c2 V& m" ?+ H8 ^) v. g3 I
為了簡化軟體開發過程與傳統程式碼,EVE公司的Burgun表示,用戶可在以該公司板級驗證產品ZeBu模擬的RTL設計上執行其軟體驗證,為硬體設計實現一個快速且週期精確的模型。
+ `. `% \' ?6 ^, W6 ?$ N3 h  U) H7 l1 w- D. G5 i+ G; L, R
; V4 P7 P) j+ A" z/ n
例如,一些EVE用戶可以在投片前六個月執行其韌體和軟體。他們也可以很早就開始為新的硬體檢查傳統程式碼的移植,並徹底追蹤至來源程式碼的缺陷問題,而無論它存在於軟體或硬體中。當工程樣品從代工廠返回時,估計約有99%的軟體已經過驗證,可以正常啟動與執行。( C, u! D  ~4 t& }0 }# O
5 v9 a% X' d* P: Y7 P
( k0 b0 d5 }# y; e: u, O
因此,“ZeBu可以減少重新投片的次數,並顯著縮短軟體的上市時間。”Burgun指出。
5 w+ x. p* ?# g
3 e/ ^" W. N" B! z, r2 o+ u
5 @; d* z0 ^+ r1 J! u. h$ L7 i
1 Q: |& [' }& Z; d: Z9 w! ~, F1 i( B$ W2 ^3 O1 `) c
作者: 蒲安妮




歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com/) Powered by Discuz! X3.2