美商英特爾–IntelTM提供了『Intel Integrated Performance Primitives』(簡稱︰Intel IPP),這是一套跨平臺的軟體元件庫。這套函式庫提供了廣泛的多媒體功能:音頻解碼器(例如:H.263、MPEG-4)、圖像處理(JPEG)、信號處理、語音壓縮(例如:G.723、GSM、AMR)和加密機制。「Intel IPP」包含各種的函數,用於進行向量與圖像處理、顏色轉換、過濾、分屏、變換,以及算術、統計、幾何與形態運算。對於每個函數,「Intel IPP」均支持多種資料類型和佈局,同時保持了資料結構的最小化,它提供了豐富的選項供用戶在設計與最佳化應用程式時選用,不必再去編寫特定代碼。Intel IPP針對多數的 Intel Microprocessor(微處理器)進行最佳化,包括︰Intel Pentium 4處理器、採用 Intel Centrino 移動運算技術的 Intel Pentium M處理器組件,Intel Itanium 2處理器、Intel Xeon處理器、以及採用 Intel XScale 技術的 Intel PCA應用處理器。採用一套跨平台結構的通用API,使用者除了不需要擔心平台相容性的問題,更節省了開發成本以及研發時間,使用者可以輕輕鬆鬆移植原有應用程式。
隨著伺服器上的 CPU 運算速度越來越快,價格比起DSP晶片便宜許多,因此在 DSP 伺服器的設計上採用 CPU 當作數位信號運算的核心,這種設計方式稱為 HMP(Host Media Processing),取代過去以 DSP 晶片作為加速器的設計方法。這種以 HMP 為主的模式已經常見於VoIP(Voice Over IP)或者 video-over-IP 的設備,主因是 Intel 英特爾和 AMD 超微的 x86 CPU具備快速的運算能力,足以應付語音或影像訊號的處理,並且不需要額外 DSP 晶片的協助了。
以VoIP或video-over-IP系統為例,採用 HMP 模式的設計再搭配一些通訊協定的軟體,而這些通訊協定的來源多數取自於開放的原始碼(open source),因此設備廠商可以很快地實現出VoIP或video-over-IP系統。目前像是Dialogic或NMS電信設備公司已經提供 HMP 為基礎的通訊系統,甚至這種HMP的設計模式有助於一些通訊設備的小廠只需雇用數十位軟體工程師便能設計出多媒體通訊系統,像︰SS7、SIP、H.323、H.248、和H.264…等,對於這些設備小廠有助於降低設計的成本。雖然上面說明了HMP設計概念的優點,不過也有其缺點,說明如下。
晶片市場的競爭
過去十多年來,CPU製造大廠–英特爾–努力打造一個“沒有DSP的世界”,其中 HMP 設計概念只是英特爾最新的命名而已,其實最早概念來自於90年代中期的NSP(Native Signal Processing)雛型。儘管英特爾有此雄心壯志,但是在90年代中期DSP晶片製造商與FPGA廠商如雨後春筍般的崛起,像︰德州儀器(Texas Instruments)、飛思卡爾(Freescale)、Mindspeed、智霖(Xilinx)、Altera…等科技公司,在DSP晶片銷售方面比過去幾年更好。因為這些DSP晶片製造商利用x86架構在運算效率不彰的缺點大肆擴大市佔率,不過同時英特爾也致力於改善x86架構的效率問題。
前述的競爭都是以每顆晶片核心能處理多少MIPS做比較,對於英特爾而言,這僅是從晶片等級的角度切入DSP市場。然而,為了更準確地評估晶片價格所能帶來的效能,必須在價格與效能之間取得一個平衡點,因此以全系統的角度切入DSP市場更是必然的趨勢。例如︰以目前CPU的效能而言,在Intel雙核心伺服器上可以處理250個G.729語音通道,但是考慮到消耗的功率、產生的熱氣、I/O的限制、需要多少DRAM…等系統方面的問題,加上風扇排熱之後整個系統體積將變大,是否要使用以CPU處理數位信號呢?值得從全系統的角度思考。
同樣地,若採用德州儀器的DSP晶片,以12張DSP加速板卡,每張卡具備6個DSP核心為例(總共72個核心),再加上Gigabit的網路處理器,這樣設備並不需要風扇排熱卻可以處理1150個G.729語音通道。此外,利用網路介面作為資料匯流,也無需考慮因作業系統所造成的I/O限制。想想看,如果架設五部Intel雙核心伺服器,我們能夠在相同的系統體積以及相同的功耗情況下而做到上述DSP晶片的功效。這就是使用HMP設計概念或者採用DSP晶片的問題。
以HMP為基礎的設計概念來看,其優點在於便利的開發環境、快速實現DSP系統、價格比DSP晶片低廉,但是其缺點是無法有效地運作於高容量的DSP系統。因此,在低容量的系統,HMP的架構是很有競爭力的。不過,當系統的通道數目增加時,為了改善系統效能,有時我們需要考慮加上一個DSP晶片當作加速器(DSP accelerator),這個外加的硬體卻增加了每個通道的成本。HMP架構在不使用DSP加速器的情況下, 每個通道的成本隨著通道數目的增加而下降,但是當通道數增加到需要DSP加速器的協助時,每個通道成本就不再下降了。在設計HMP系統時有幾項指標需要留意︰
(1) 系統的通道數目
(2) 平均花費在每個通道的費用
(3) 演算法的智慧財產權
(4) 系統所消耗的功率
系統的通道數在何種情況下採用DSP加速器較為適合呢?從通道數和codec的複雜度來觀察,圖中說明HMP與DSP加速器之間的關係(以3 GHz雙核心的 Xeon 伺服器為例),x軸表示系統的通道數目,y軸表示codec的複雜度,包括︰G.711、G.729、GSM-AMR和EVRC。其中以G.711為例,當通道數目低於1000個的時候,採用HMP的架構較為合適,通道數高於1000個時,最好是HMP架構加上DSP晶片加速器。就G.729而言,通道數120就是個門檻,隨著處理的複雜度增高,HMP架構便無法滿足太多的通道同時進行運算。所以通道數與複雜度是以HMP為基礎的伺服器需要考量的設計參數之一。
在低容量的系統,HMP架構在價格性能比方面遠高於DSP,價格性能比主要針對每個通道所花費的成本。對於G.711 VoIP的系統而言,DSP加速器根本不需要,只需要HMP架構就能達成,除非系統的通道數達到500以上。圖中說明平均每個通道所花的費用與系統容量的關係,x軸表示系統的通道數目,y軸表示平均每個通道的花費,圖中的曲線代表多了DSP加速器之後平均的費用。
以G.711語音編碼為例,當系統通道數超過500以上,若採用DSP晶片協助HMP架構的話,平均每個通道的價格會下降;當系統通道數低於500個,通道所花費的價格就是整個HMP系統的價格。其他的codec處理也呈現相同的價格趨勢︰通道數越多採用DSP加速器越顯經濟效益。如果沒有外加使用DSP加速器的話,整個HMP系統將會因為通道數目增加而消耗功率也增加,CPU熱能增加,這時候反而要添加散熱的硬體設備,還要擔心系統的功耗過大而造成的不穩定,這些反而增加了通道的平均花費。
另外,設計HMP系統時所要考慮的問題還有智慧財產權的費用,以及系統功率的消耗。例如︰在HMP平台中,當一個VoIP的系統中需要超過100個G.729通道時,誰要付每個系統中G.729的權利金呢?通常DSP晶片製造商已經將這部份的權利金分攤到每顆晶片上了,像德州儀器因為手中握有一些關鍵專利,所以權利金的談判中可以取得較優惠的價格,但是英特爾擁有很多像德州儀器在語音和影像方面的專利嗎?
如果不使用DSP加速器,但是增加HMP伺服器的個數,從系統功率消耗的角度來看其實並不經濟。因為每部伺服器都需要人力的維護,而且越多伺服器組成的群組更需要額外的硬體設備來維護與連結,像︰排線、風扇、電源線…等。因此,當設計DSP系統時,以上的說明提供我們很多設計的概念,採用HMP的架構或DSP晶片加速器,以及兩者的優缺點。可預測的未來中,DSP晶片製造商或FPGA廠商還是持續改善數位信號處理的效能上,DSP加速器在HMP平台上還是佔有一席之地。
留言列表