在企業環境中,很多人對繪圖處理器(GPU)的第一印象,通常會認為它是高階圖形設計工作站的必要配備,或是應用在氣象預測、科學研究等特殊專業領域的高效能運算(HPC)環境中。如今,隨著全球商業運作模式的丕變,巨量資料(Big Data)的分析也成為企業IT的顯學,而除了掌握像Hadoop這類的關鍵技術或因應儲存容量的成長之外,也開始有一些業者投入研究,想找到如何從硬體處理器運算技術的層面下手,獲得提升巨量資料的分析能力,其中,具有大量運算核心、可支援平行處理的GPU正是首選之一。

除了將強大的運算力轉化為處理巨量資料的新動力,GPU的當家本事──圖形加速,在虛擬化當道的現在也有新的用法,那就是讓GPU也能更真正地配合相關應用,而不像以往只能透過虛擬化軟體平臺與CPU來模擬,讓這項硬體資源能夠專屬指定的虛擬機器,或透過軟硬體的支援,充分讓多臺虛擬機器得以共用。

因應資料量暴增的趨勢,雲端服務與網站開始用GPU協助分析
以當前的GPU運算技術應用來說,經過多年來的發展,已經遍佈了許多科學領域,像是高能物理、材質模擬、3D基因體、10億像素陣列相機、離心機分析,以及阿茲海默症等領域的研究,也涵蓋資料探勘、金融計算、醫療影像,但是現在對於雲端運算與行動應用興起之後,所產生的巨量資料處理需求,GPU在這裡的實際應用,最近終於有了很大的進展。

在今年舉辦的GPU技術大會(GTC 2013)上,Nvidia共同創辦人暨執行長黃仁勳在主題演講當中,一口氣宣布了3個在商用環境下的應用案例,分別是以CRM雲端軟體服務聞名的Salesforce,為眾多智慧型手機與平板電腦提供歌曲搜尋App服務的Shazam,以及提供智慧型圖形辨識技術的Cortexica,這幾家廠商所做的資料處理,也各自針對文字、聲音與圖片等不同性質的巨量資料,提出解法。

之後,在GTC2013的其他分場議程中,Salesforce繼續分享他們在即時純文字搜尋過程中,用GPU來加速關鍵字比對(Keyword Matching)與條件陳述的評估(Expression Evaluation),此外,還有團購網站Groupon、提供金融訊息處理系統服務的Hitachi也發表他們對GPU的運用。

相較於過去,上述這些例子的出現,其實對GPU運算應用方向的擴大,有很重大的意義,因為一般人也逐漸透過這些服務的使用,能夠真正感受到GPU運算通用化(General-purpose computing on graphics processing units,GPGPU)的好處。

GPGPU應用現況:CUDA佔上風
要達到這個目的,其實只要在既有的x86 CPU架構的個人電腦或伺服器上,就可以實作,簡而言之,就是設法讓PC的CPU與GPU相互搭配,形成所謂的異構計算系統(Heterogeneous Computing System),使原本用來加速電腦圖形處理的GPU,也能用來協助CPU來執行通用的計算任務。

基本上,這樣的運算架構到目前為止,都是由GPU廠商在推動,例如由Nvidia所主導的CUDA(Compute Unified Device Architecture),1.0版的軟體開發套件(SDK)在2007年登場,經歷多次改版,到了去年10月已發表5.0。

而另一家GPU廠商AMD支援的GPGPU架構,主要是HSA(Heterogeneous System Architecture),而他們採用的基本程式開發環境,包括由Khronos Group 所維護的OpenCL(Open Computing Language),以及微軟的C++ AMP(Accelerated Massive Parallelism,整合在Visual Studio和Windows 8內),在這個環境下所使用的軟體開發套件,主要是基於AMD所開發的APP SDK(Accelerated Parallel Processing)。

AMD在2008那一年和Apple、IBM、Intel、Nvidia等廠商合作,推動OpenCL與制定1.0版的規格;OpenCL最近一次改版是在2011年,而所推出的是1.2版。去年AMD與ARM、三星、德州儀器等廠商又成立了HSA基金會,進一步推動異構系統架構。與由Nvidia一家廠商所專注培育的CUDA相較,HSA未來能否真正普及與發揮影響力,還有待觀察。

就雙方目前公布的應用實例來說,CUDA明顯超前許多,橫跨多種專業領域,像是計算化學、金融計算、計算流體力學、計算結構工程、數值分析、影像與電腦視覺、醫療影像、生物資訊、電子設計自動化、資料探勘、分子動力學、氣象氣候,在消費端也有不少軟體搭配應用,像是電腦遊戲、多媒體編輯軟體等。

而OpenCL方面,利用AMD APP技術來加速的例子,從AMD開發者網站公布的資訊來看,目前數量多寡與應用層面的廣泛度相形見拙。目前這些應用涵蓋範疇分為消費端(遊戲、瀏覽器、壓縮軟體)、多媒體(圖片、視訊的編輯、轉檔軟體)與科學(有機奈米晶體、天體物理學)。

GPU強化對桌面虛擬化的支援
在企業、政府機關或學校等環境中的IT基礎架構,伺服器端虛擬化技術的應用已相當普及和成熟,為了降低日常IT管理的負擔,以及因應用戶端作業系統市佔最大的Windows XP主流支援即將終止,許多公司也在考慮將使用者端的個人電腦予以虛擬化,做到集中管理。就虛擬化平臺廠商而言,能提供對應的解決方案有很多種,以桌面虛擬化產品來說,有VMware Horizon View、Citrix XenDesktop、微軟VDI。

這樣的嘗試並不是新鮮事,先前有一些企業會利用所謂的精簡型電腦(Thin Client),搭配能提供遠端桌面服務的應用伺服器,來達到1臺伺服器分享給多人使用的目的。

在臺灣,比較常見的解決方案,有微軟Remote Desktop Services(之前稱為Terminal Services)、Citrix XenApp(之前稱為Presentation Server),或是HP的Remote Graphics Software、Ncomputing的vSpace。

雖然可挑選的產品不少,但其實這些方案大多並未充分利用GPU,而GPU廠商對於虛擬化環境的支援也很有限。

例如軟體以CPU模擬GPU繪圖(Render)或攔截、轉譯DirectX 9 API的方式,來處理多人遠端共同存取的圖形加速需求。

若要針對高階工作站使用者對於專業設計軟體的操作需求,這些軟體則提供功能,讓使用者在自己的遠端桌面環境操作時,能穿透Hypervisor虛擬層或遠端圖形處理軟體,到達底層的GPU,以便直接存取當中的硬體資源,此即所謂的GPU Pass-through。

直到最近,GPU廠商對於虛擬化環境的整合與技術支援,態度越來越積極。例如Nvidia在2012年5月舉辦的GTC大會上,正式宣布推出針對虛擬化應用的專屬產品VGX系列(2013年改名為GRID系列),K1和K2都內建了新一代架構Kepler的GPU--前者使用了4顆初階規格GPU和16 GB的DDR3記憶體,號稱單一板卡可支援100人同時使用;後者則採用2顆高階規格GPU和8 GB的GDDR5記憶體,所針對的是圖形處理需求較吃重的遠端桌面(虛擬化)應用,例如高階圖形設計。

AMD也不甘示弱,同年陸續推出3款FirePro S系列伺服器繪圖卡,其中S10000配備了雙GPU、6GB的GDDR5記憶體,而S9000和S7000都是單顆GPU,所配備的記憶體都是GDDR5規格,但S7000只內建4GB。此外,和GRID系列板卡另一個明顯差別,FirePro S系列多提供了視訊輸出埠──S10000有4個Mini DisplayPort埠和1個DVI埠,S9000和S7000都是單一DisplayPort埠。

就虛擬化軟體支援來看,兩家廠商的作法也有落差。Nvidia很明確地提出了針對GPU的分享、穿透與硬體虛擬化等3種架構的具體作法,並清楚描述了旗下GRID、Quadro、Tesla產品,和Citrix、微軟和VMware等廠商的軟體如何對應,而虛擬化軟體廠商也都呼應Nvidia GIRD,在各自的產品中加以調整。相形之下,AMD雖然也強調FirePro系列能支援上述三家廠商的虛擬化技術,以及微軟的RemoteFX的遠端桌面服務技術,而市面上各大虛擬化軟體廠商對於FirePro S系列GPU也加入支援行列,但反應並不熱烈。

除了虛擬化專用GPU板卡,Nvidia今年還有兩項相關應用的新創舉。在今年的GTC大會,Nvidia宣布,將正式推出以自有品牌為號召的GPU應用設備GRID Virtual Computing Appliance(VCA),並經由市面上一些開發專業圖形設計軟體的獨立開發商,搭配這些公司的軟體產品後出貨,主攻中小企業用戶。同時,Nvidia聯合伺服器廠商與虛擬化軟體商,針對大型企業環境的桌面虛擬化導入需求,建構一套名為GRID Enterprise的解決方案,提供企業一站購足。

以這樣的發展來看,對於虛擬化應用,Nvidia扮演的角色已不再只是純粹的處理器與技術的供應商,他們企圖更積極地提供整合度更高的企業級GPU應用解決方案。這同時是讓GPU技術擴展到伺服器、資料中心與應用設備的另一個新契機。

GPU還可以這樣用──整合至行動裝置處理器內
除了利用GPGPU架構,實現科學研究領域的高效能運算應用,以及因應雲端服務與行動裝置App崛起所產生的巨量資料分析、搜尋,還有針對強化虛擬化的使用者桌面操作體驗,GPU也已經深入整合到行動裝置處理器內。

以Apple智慧型手機與平板電腦採用的處理器A4、A5與A6來看,都整合了PowerVR的GPU核心,ARM本身也研發了稱為Mali 的GPU晶片組,被一些行動裝置的處理器所採用。

而原本針對個人電腦領域的GPU廠商,也開始進軍行動運算,例如Nvidia的Tegra處理器,現已發展到第4代。以最新的Tegra 4i為例,一顆28奈米製程的處理器中,就結合了4核心ARM架構的CPU、60核心的GPU、內建獨立相機影像處理架構(Computational Photography Architecture)的攝影機,以及支援可用軟體來定義通訊頻率(Software Defined Radio,SDR)規格的LTE 4G網路數據機。

而在今年的GTC大會Nvidia宣布的產品發展藍圖中,預告了2014年推出的下一代Tegra「Logan」將內建Kepler架構的GPU,讓行動裝置也能夠支援CUDA的GPGPU運算與OpenGL 4.3的圖形處理API。而2015年,Nvidia將推出代號為「Parker」的行動運算處理器,將改用代號為「Denver」的處理器,並搭配採用Maxwell架構的GPU。

而AMD則準備推出ARM架構的64位元Opteron處理器,他們對旗下GPU技術如何運用在ARM運算架構下,外界還看不出端倪。


雲端服務業者Salesforce
每天幫客戶即時分析5億筆Twitter推文
以提供客戶關係管理雲端服務所著稱的Salesforce,藉由GPU的加速處理,讓他們得以為Cisco、Dell、Gatorade(開特力)等知名國際大廠,提供社交網站的監控、分析服務,每天所要處理的這些推文的數量,已經超過5億筆以上。

App開發商Shazam
針對2,700萬首歌,每月應付3億用戶查歌
Shazam為了加速2,700萬首歌曲的搜尋與辨識,而採用GPU加速。目前該公司使用者有3億人以上,每天平均搜尋1千萬首以上的歌曲,每週新進使用者則有2百萬人,而他們維護的歌曲資料庫,在短短一年內也成長了一倍。

影像辨識技術平臺供應商Cortexica
即時以圖找圖,查詢1百萬款以上的商品項目

有了GPU的加速處理,Cortexica可執行複雜的視覺物件辨識演算法。他們開發的行動App,可以讓消費者結合手機、平板電腦的拍照功能,將商品照片上傳至線上款式資料庫,以便快速搜尋到符合類似外觀特徵的商品,進而在線上下單採購。

團購網站Groupon
實現GPU資料庫架構,可大幅降低資料查詢時間 

GPU資料庫是Groupon公司在美國NEC實驗室進行的研究專案,他們試著透過資料片(Tablet)的方式,將資料切割成好幾個區塊、更換資料排列方式,來同時利用CPU本身的快取與GPU的記憶體;相較於單靠多核心CPU的架構,結合GPU的作法可大幅減少查詢執行時間。

電視臺The Weather Channel
可負荷3倍以上的線上視訊即時轉播需求

美國氣象頻道的Live視訊系統,採用了GPU技術,可即時針對不同尺寸與解析度的螢幕,來調整對應的視訊畫面,因此能同時適用於智慧型手機、平板電腦、桌上型電腦與一般電視。在桑迪颶風肆虐期間,總計有1千2百萬人觀看,最高同時上線人數曾達到16.7萬。

IT系統服務商Hitachi
金融XML訊息處理系統速度提升100倍

操作商業應用系統時,執行速度經常會卡在伺服器端資料與傳輸處理過程,若架設更多臺伺服器的叢集環境來解決,並不划算,於是Hitachi想將這些處理卸載到GPU執行,處理負擔分散至GPU的500多顆核心,速度較CPU架構提升了100倍。

嵌入式系統也將是未來GPU的熱門應用之一,例如汽車的數位儀表板與導航系統。

 


Advertisement

更多 iThome相關內容