摘要:所謂的大數(shù)據(jù)是指那些無法用傳統(tǒng)方法處理的數(shù)據(jù)信息,可以將其理解為海量數(shù)據(jù)與復雜類型數(shù)據(jù)的總和。大數(shù)據(jù)時代下,人們可以利用的信息增多,但是獲取有效信息的難度明顯加大,因此研究面向大數(shù)據(jù)的并行計算機模型及性能優(yōu)化是非常有必要的。
關鍵詞:大數(shù)據(jù)處理;并行計算模型;性能優(yōu)化;數(shù)據(jù)信息;海量數(shù)據(jù);復雜類型數(shù)據(jù) 文獻標識碼:A
中圖分類號:TP391 文章編號:1009-2374(2016)06-0033-02 DOI:10.13535/j.cnki.11-4406/n.2016.06.017
信息技術的發(fā)展將人們推進了大數(shù)據(jù)時代,數(shù)據(jù)信息數(shù)量大、樣式多且價值密度不高,使用傳統(tǒng)的數(shù)據(jù)處理方法已經(jīng)不能滿足實際要求。為了更好地利用這些數(shù)據(jù)資源,在大數(shù)據(jù)時代的挑戰(zhàn)中尋找到機遇,人們需要進一步研究并行計算機模型,實現(xiàn)模型優(yōu)化,抓住大數(shù)據(jù)時代的機遇,促進大數(shù)據(jù)的進一步發(fā)展。
1 并行計算模型的發(fā)展趨勢
首先,從計算機存儲的角度來說,在大數(shù)據(jù)背景下將面臨更加嚴峻的存儲問題。我國計算機產(chǎn)業(yè)格局并不是處理與存儲一體化,處理廠商與存儲廠商處于相互分離的狀態(tài),導致這兩項技術的發(fā)展出現(xiàn)不平衡現(xiàn)象,計算機系統(tǒng)的存儲性能已經(jīng)不能滿足實際需要。從1985年到現(xiàn)在,計算機處理器性能以每年60%的速度提高,而存儲性能的提升速度僅為每年9%。50%左右的差距導致處理性能與存儲性能之間越來越不協(xié)調(diào),因此未來在研究并行計算機模型時,會將存儲性能作為重點研究對象。
其次,計算機體系結(jié)構(gòu)中,多核逐漸成為主流。要想進一步提升系統(tǒng)的運算能力,僅僅依靠提升晶體管的集成度是不夠的,因為系統(tǒng)運算能力還會受到材料物理性能等因素的影響,因此,系統(tǒng)中應用多核技術已經(jīng)成為一種必然趨勢。所謂多核技術,就是將多個計算內(nèi)核集成在一個處理器中,每一個內(nèi)核都能完成一個計算指令,這樣一個處理器就能夠完成并行計算指令。多核CPU的計算密度更高,并行處理能力更強,在相同計算條件下所消耗的功率更低,可以滿足實際需要。
再次,異構(gòu)眾核集成技術在并行計算模型中的應用越來越廣泛。一般情況下模型中都采用CPC與MIC組合構(gòu)架模式,相對復雜的邏輯計算部分由CPU負責,而一些密集運算則由CPU或者是MIC來負責,這些密集運算的典型特征就是分支較少且并行度高,這種異構(gòu)方式為超級計算機的發(fā)展奠定了基礎。
最后,服務器逐漸向著大規(guī)模集群化且廉價化的方向發(fā)展,越來越多的互聯(lián)網(wǎng)企業(yè)和網(wǎng)絡運營商選擇將大規(guī)模服務廉價集群作為系統(tǒng)硬件設施。這種集群式服務器的典型特征就是會自動將故障狀態(tài)視為常態(tài),因為即使集群中的一部分組間發(fā)生故障,也不會對系統(tǒng)整體造成太大影響。同時,該集群會為異構(gòu)硬件擴容提供支持,或是在系統(tǒng)中加入存儲資源,或是直接加入新的機器,系統(tǒng)根據(jù)實際情況對這些資源或者機器進行自動調(diào)取,這一過程不會對系統(tǒng)運行產(chǎn)生任何影響。
2 面向大數(shù)據(jù)處理的計算模型分析
2.1 模型概述
隨著計算機技術的發(fā)展,大數(shù)據(jù)編程模型已經(jīng)取得了不錯的研究成果,其主要被應用在數(shù)據(jù)分析以及數(shù)據(jù)處理上,但是對于并行計算模型的研究卻不夠深入,從目前的情況來看需要解決以下問題:
首先,成熟的計算模型中需要包括以下兩個要素:一是機器參數(shù),包括CPU以及節(jié)點規(guī)模等;二是成本函數(shù),其代表的是機器參數(shù)的函數(shù),具體包括時間成本函數(shù)和空間成本函數(shù)。對這兩個要素進行深入研究,能夠?qū)Σ⑿杏嬎隳P偷陌l(fā)展提供理論支持。
其次,目前使用的大數(shù)據(jù)編程模型為了提高計算能力,會為系統(tǒng)資源提供橫向擴展支持,同時程序中自帶容錯機制,一旦出現(xiàn)節(jié)點失效問題能夠及時應對,雖然在一定程度上提高了應對能力,但是編程的擴展性以及容錯性都是針對某個案例而言,因此并沒有統(tǒng)一的度量標準,因此面向大數(shù)據(jù)處理的并行計算模型,需要對擴展性以及容錯性這兩個性能進行準確定義,用統(tǒng)一標準來評判其能力。
最后,大數(shù)據(jù)的應用效率會受到很多因素的影響,包括并行性級別、通訊問題以及存儲問題等,目前所指的性能優(yōu)化大多數(shù)都是針對某個系統(tǒng)框架或者是某個模型而言的,沒有一個完整、統(tǒng)一的理論,而面向大數(shù)據(jù)處理的并行計算模型就要解決這一問題,統(tǒng)一優(yōu)化理論、制定出可以面向所有模型的優(yōu)化方法。
2.2 p-DOT模型分析
p-DOT模型在設計時將BPS模型作為基礎,模型的基本組成是一系列iteration,該模型主要由三個層次
組成:
首先,D-layer,也就是數(shù)據(jù)層,整個系統(tǒng)的結(jié)構(gòu)呈現(xiàn)出分布式,各個數(shù)據(jù)節(jié)點上存儲數(shù)據(jù)集。
其次,O-layer,也就是計算層,假設q為計算的一個階段,那么該階段內(nèi)的所有節(jié)點會同時進行獨立計算,所有節(jié)點只需要處理自己對應的數(shù)據(jù),這些數(shù)據(jù)中包括最初輸入的數(shù)據(jù),也包括計算中生成的中間數(shù)據(jù),這樣實現(xiàn)了并發(fā)計算,得到的中間結(jié)果直接存儲在模
型中。
最后,T-layer,也就是通信層,在q這一階段內(nèi),通信操作子會自動傳遞模型中的消息,傳遞過程遵循點對點的原則,因為q階段中的所有節(jié)點在經(jīng)過計算以后都會產(chǎn)生一個中間結(jié)果,在通信操作子的作用下,這些中間結(jié)果會被一一傳遞到q+1階段內(nèi)。也就是說,一個階段的輸出數(shù)據(jù)會直接被作為下一個階段的輸入數(shù)據(jù),如果不存在下一個階段或者是兩個相鄰階段之間不存在通信,則這些數(shù)據(jù)會被作為最終結(jié)果輸出并存儲。
在并行計算模型下,應用大數(shù)據(jù)和應用高性能之間并不矛盾,因此并行計算模型具有普適性的特征,前者為后者提供模式支持,反過來,后者也為前者提供運算能力上的支持。另外,在并行計算模型下,系統(tǒng)的擴展性和容錯性明顯提升,在不改變?nèi)蝿招实那疤嵯?,?shù)據(jù)規(guī)模以及機器數(shù)量之間的關系就能夠描述出系統(tǒng)的擴展性,而即使系統(tǒng)中的一些組件出現(xiàn)故障,系統(tǒng)整體運行也不會受到影響,體現(xiàn)出較好的容錯性。
p-DOT模型雖然是在DOT模型的基礎上發(fā)展起來的,但是其絕對不會是后者的簡單擴展或者延伸,而是具備更加強大的功能:一是p-DOT模型可以涵蓋DOT以及BSP模型的處理范式,應用范圍比較廣;二是將該模型作為依據(jù)能夠構(gòu)造出時間成本函數(shù),如果在某個環(huán)境負載下大數(shù)據(jù)運算任務已經(jīng)確定,我們就可以根據(jù)該函數(shù)計算出整個運算過程所需要的機器數(shù)量(這里將最短運行時間作為計算標準);三是該并行計算模型是可以擴展的,模型也自帶容錯功能,具有一定的普適性。
3 基于計算模型的性能優(yōu)化方法分析
3.1 D-layer的優(yōu)化
要想實現(xiàn)容錯性,要對系統(tǒng)中的數(shù)據(jù)進行備份,因為操作人員出現(xiàn)失誤或者是系統(tǒng)自身存在問題,數(shù)據(jù)有可能大面積丟失,這時備份數(shù)據(jù)就會發(fā)揮作用。一般情況下,系統(tǒng)中比較重要的數(shù)據(jù)會至少制作三個備份,這些備份數(shù)據(jù)會被存儲在不同場所,一旦系統(tǒng)數(shù)據(jù)層出現(xiàn)問題就會利用這些數(shù)據(jù)進行回存。對于數(shù)據(jù)復本可以這樣布局:一是每個數(shù)據(jù)塊中的每個復本只能存儲在對應節(jié)點上;二是如果集群中機架數(shù)量比較多,每個機架中可以存儲一個數(shù)據(jù)塊中的一個復本或者是兩個復本。從以上布局策略中我們可以看出,數(shù)據(jù)復本的存儲與原始數(shù)據(jù)一樣,都是存儲在數(shù)據(jù)節(jié)點上,呈現(xiàn)出分散性存儲的特征,這種存儲方式是實現(xiàn)大數(shù)據(jù)容錯性的基礎。
3.2 O-layer的優(yōu)化
隨著信息技術的發(fā)展以及工業(yè)規(guī)模的擴大,人們對大數(shù)據(jù)任務性能提出了更高的要求,為了實現(xiàn)提高性能的目標,一般計算機程序會對系統(tǒng)的橫向擴展提供支持。隨著計算機多核技術的普及,系統(tǒng)的并行處理能力明顯增強,計算密度明顯提高,對多核硬件資源的利用效率明顯提升。傳統(tǒng)并行計算模型主要依靠進程間的通信,而優(yōu)化后的模型則主要依靠線程間的通信,由于后者明顯小于前者,因此在利用多核技術進行并行計算時,能夠在不增大通信開銷的基礎上明顯提升計算
性能。
3.3 T-layer的優(yōu)化
為了提升計算模型的通信性能,需要對大數(shù)據(jù)進行深度學習,具體原因如下:
首先,無論使用哪種算法,都需要不斷更新模型,從分布式平臺的角度來說,每一次迭代都代表一次全局通信,而一部分模型的迭代次數(shù)又非常多,同時模型中包含大量位移參數(shù)以及權(quán)重,例如模型AlexNet的基礎是卷積神經(jīng)網(wǎng)絡,其迭代次數(shù)可以達到45萬,耗費系統(tǒng)大量通信開銷。
其次,如果分布式平臺上本身就有很多機器,那么迭代過程就需要將機器的運行或者計算作為基礎,就是說要想完成一次迭代,平臺上所有的機器都要逐一進行計算,計算完成以后還需要對參數(shù)進行同步。這種迭代模式容易受到短板效應的制約,算法通信開銷并不取決于計算速度最快的機器,而是取決于最慢的機器。為了避免短板效應,在對并行計算模型進行優(yōu)化時,可以采用同步策略,對于計算速度較慢的機器進行加速,提升迭代類任務的通信性能。
4 結(jié)語
當前,人類已經(jīng)進入了大數(shù)據(jù)時代,計算機并行機構(gòu)體系發(fā)生了很大改變,人們對計算機系統(tǒng)模型的計算能力也提出了更高要求,這對并行計算來說既是一種機遇,也是一種挑戰(zhàn),基于此,本文研究了基于大數(shù)據(jù)的并行計算模型及其優(yōu)化。
參考文獻
[1] 覃雄派,王會舉.大數(shù)據(jù)分析——RDBMS與MapReduce的競爭與共生[J].軟件學報,2012,23(1).
[2] 程果,景寧.柵格數(shù)據(jù)處理中鄰域型算法的并行優(yōu)化方法[J].國防科技大學學報,2012,34(4).
[3] 潘巍,李戰(zhàn)懷.大數(shù)據(jù)環(huán)境下并行計算模型的研究進展[J].華東師范大學學報(自然科學版),2014,(5).
[4] 張延松,焦敏.海量數(shù)據(jù)分析的One-size-fits-allOLAP技術[J].計算機學報,2011,34(10).
[5] 董新華,李瑞軒.Hadoop系統(tǒng)性能優(yōu)化與功能增強綜述[J].計算機研究與發(fā)展,2013,(5).
作者簡介:文娟(1982-),女,湖南長沙人,威仁科技(北京)有限公司總經(jīng)理,研究方向:計算機應用、大數(shù)據(jù)、云計算。
(責任編輯:周 瓊)