Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

多執行緒技術將引發大量難解問題

上網時間: 2007年04月14日     打印版  Bookmark and Share  字型大小:  

關鍵字:多執行緒  DSP  軟體工程  BDTI  多核心 

從技術發展角度來看,多執行緒技術並不是一種新概念,但它目前正由於大幅度的成長而引人矚目。這是由於不少多核心晶片供應商均正在推動多執行緒技術,希望藉此作為開發其晶片處理能力的最佳方式。

不過,最近由加州柏克萊大學電子工程與電腦科學系(EECS)教授暨柏克萊設計技術公司(BDTI)創辦人Edward Lee撰寫的一篇文章指出,目前已經在多種領域獲得普遍應用的多執行緒應用編程技術,在方法上是有缺陷的。該文指出,多執行緒技術實際上可能會招致一系列棘手的、難以識別的程式問題。

Lee在他所發表的《執行緒應用存在的問題》(The Problem with Threads)一文中聲稱,對於採用該技術的程式設計師而言,多執行緒應用往往是極度不確定的,而且在很大程度上是相當難以理解的。這是因為多執行緒系統,程式執行的程序(和處理器狀態)可以在任何時間被轉換,對於程式設計師而言,要確定是否每一個可能的程序都將正常地運作將會非常困難,事實上,這個目標甚至是不可能實現的。而由這種不確定性所導致的結果,可能會使看似簡單的程式由於潛在的死鎖或其它的危險而漏洞百出。

Lee同時指出,基於執行緒的編程技術到目前為止都能良好地運作,然而,這是因為它的應用方式相當有限。而且長期以來,這項技術一直僅針對單核心處理器應用,這使其僅能提供有限的平行處理能力,對這類應用來說,這就足夠了。然而,隨著處理器技術與效能的不斷推升,目前供應商們已經將處理器效能推到了一個全新的極限,甚至跳脫以提升時脈主導效能的思維,轉而往多核心方向發展。因此,工程師們希望在高度平行的處理器上執行更強勁的多執行緒技術,而他們期望用警告頻率來反映嚴重的程式錯誤。

Lee承認,或許有一種技術能減輕此一問題,這種技術可望讓程式設計師在一些多執行緒應用中減少固有的不確定因素。但他同時指出,這種技術現在仍未完備。事實上,到目前為止,Lee的真正意思是,我們當前所使用的方法根本就是落後的。

那麼,他的解決方案又是什麼呢?從問題的基礎來看,關鍵的解決之道或許是開發從確定性行為角度出發的編程方法和程式語言,同時只提出絕對必要的不確定性。就這個觀點而言,這可能有助於在設計過程中加速找到問題所在,甚至會大幅減輕設計師們的負擔。

毫不意外,Lee的文章已經在軟體工程界引起了相當程度的關注。然而,不僅僅針對軟體工程師,他的觀點對DSP工程師們也並非全然沒有關係。事實上,在DSP領域中,其觀點甚至更加重要,這是因為DSP工程師們往往從事關鍵任務系統的開發,在這類工作中,工程師們必須處理具有高度確定性要求,以及難以解決的即時約束問題,這意味著隨著處理器技術的進展,DSP工程師們將面臨更加棘手的軟體工程挑戰。

隨著越來越多的DSP系統設計工程師開始採用多核心技術,在這種轉換中最難解決的軟體開發議題也隨之浮現。如何以平行方式高效執行軟體,將成為設計師們的頭號難題,他們將需要一種強韌的軟體開發方法─從這種發展趨勢來看,我也想很知道,屆時多執行緒技術是否仍是正確的方法。

作者:Jeff Bier




投票數:   加入我的最愛
我來評論 - 多執行緒技術將引發大量難解問題
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首