大數據云起 現CPU運算技術面臨GPU挑戰
在特定的科學研究領域里面,以GPU協同CPU來強化整體運算能力的應用,越來越常見,然而,過去在商業領域中罕見實際導入使用的例子。
不過,今年的情勢很不同,Nvidia在GTC 2013大會上,正式宣布了幾家商用實例,他們是提供云服務和開發移動應用的公司,已經將GPU用在大數據(Big Data)的分析與升級搜索,而且他們的服務可同時涵蓋到消費端與商業應用。
CRM用PC等級GPU吞下所有數據處理
首先登場的,是以提供CRM軟件即服務(SaaS)而聞名的云端服務供貨商Salesforce。他們之所以用GPU,是因為旗下的Marketing Cloud服務替客戶提供了Social listening的功能,也就是社交網站監控與分析。而使用該服務的用戶,目前有Cisco、Dell、Gatorade、美國紅十字會等。
Salesforce.com在此面臨的挑戰之一,主要是需處理每天來自Twitter網站上的用戶新增的5億篇帖子(tweets),這些帖子中包含了不同性質的數據,同時,每天的新帖數量還在不斷增長,而且速度越來越快。
除此之外,Salesforce在本身的主題檔案庫中,也定義了160萬以上的搜索表示式(每一筆包含12個關鍵詞),這里的數據也是隨著用戶數成長而持續增加中。
原本Salesforce所用的方法,是在一般的x86處理器架構下,利用Apache Lucene這套Java鏈接庫,來獲得關鍵詞索引與搜索的布爾運算機制,以及用Twitter worker程序,針對一大批推文來建立索引,并且用它來查詢所有的表示式,但這么做,數據吞吐量低,并且會產生很高的延遲。
后來,Salesforce采用新的方法,稱之為Zapp,利用可提供高吞吐量的GPU來加速,也就是讓關鍵詞比對的控制由CPU執行,而需要大量運算的工作交給GPU,大幅縮短了處理的時間,于是計算成本不再隨表達式數量的增加而呈線性增長。
Salesforce表示,只需要兩顆Nvidia GTX 580的GPU,就足以處理尖峰負載時間的所有帖子,這足以省下大量硬件與人力上的資源。
移動App開發商用GPU架構達到省錢之道
在GTC2013大會上,另一個實際印證GPU可應用在大數據處理的案例是知名的App開發商Shazam。 他們的歌曲查詢程序Shazam,在Apple App Store和Google Play的移動設備軟件市場集中,受到用戶青睞,是音樂類應用的Top5。
Shazam App的主要功能是提供歌曲搜索與識別服務,它可以“聽”用戶正在聽的音樂,并告知曲目信息。目前在手機與平板電腦下載Shazam的數量,已經超過3億,而該公司后端擁有的歌曲也在2012年達到2700萬的驚人數據。
看起來,使用這項服務的人眾多,同時所要比對的數據也非常龐大,并且是聲紋(acoustic fingerprint)比對,系統要能從數千萬首歌曲中,判斷能否與用戶上傳的范例音樂相符,困難度可想而知。
社交網站與移動應用普及,導致需分析的數據量暴增
因成為IT主流趨勢的社交網站與移動應用,這兩種風潮下所激增的大量數據不容忽視。像Salesforce每天要分析5億篇tweets,這樣的成長是在3年內發生;Shazam面對的是3億用戶與2700萬首歌曲的數據庫,并且只花了1年,用戶與歌曲數就增長1倍以上。
另一個該公司要去面對的問題,是新進用戶、搜索次數與歌曲量都在極速成長——他們每天要應付1千萬首歌的搜索請求,每周有2百萬個新用戶,而所收錄的歌曲總數已2倍速度劇增。
為了加速歌曲搜尋與比對過程,以及因應倍增的用戶需求,Shazam決定使用上百顆Nvidia Tesla的GPU,建設低成本的服務器基礎設施,以應對上述的服務運維規模與成長需求。
Shazam公司首席技術官Jason Titus表示,同樣花一塊錢,GPU可讓他們得以獲得兩倍CPU架構系統的效能,并且能達到自身的成長規模。