李欣朔
摘 要 在大數(shù)據(jù)應(yīng)用時代背景當(dāng)中,超級計算機迎來了前所未有的挑戰(zhàn),這些挑戰(zhàn)主要體現(xiàn)在數(shù)據(jù)的計算、存儲、通信以及編程方面,因此基于大數(shù)據(jù)的實際特征以及需求來設(shè)計一個超級計算機系統(tǒng)是十分有必要的。本文圍繞如何基于大數(shù)據(jù)特征以及需求進行超級計算機設(shè)計、大數(shù)據(jù)時代應(yīng)用背景下編程模型的設(shè)計兩個方面展開討論,對大數(shù)據(jù)應(yīng)用背景下的超級計算機設(shè)計進行了分析,并提出了一些筆者自己的見解,希望能夠?qū)Υ髷?shù)據(jù)應(yīng)用背景下的數(shù)據(jù)處理問題提供一些對策建議。
關(guān)鍵詞 大數(shù)據(jù)應(yīng)用背景 超級計算機 數(shù)據(jù)處理
在電子信息技術(shù)的推動下,大數(shù)據(jù)已成為了當(dāng)代潮流前線的主流技術(shù),所謂大數(shù)據(jù),從狹義上理解主要是指各種大規(guī)模的數(shù)據(jù),具體來說是指難以在既定的時間范圍內(nèi)使用常規(guī)軟件以及技術(shù)進行收集、統(tǒng)計、儲存以及管理的數(shù)據(jù)集合,必須通過新型處理模式才可將其決策力、洞察力、發(fā)現(xiàn)力以及流程化進行充分發(fā)揮、具有規(guī)模大、復(fù)雜程度高、實時性強、高增長率以及多元化等特征的信息資產(chǎn)。由此可見,大數(shù)據(jù)是一種不同于傳統(tǒng)數(shù)據(jù)的信息化數(shù)據(jù)資產(chǎn),僅僅應(yīng)用傳統(tǒng)的軟件或工具進行統(tǒng)計或管理是難以顯效的,我們必須針對大數(shù)據(jù)的特征以及需求設(shè)計一款超級計算機,用于滿足大數(shù)據(jù)的計算需求。
通過超級計算機來構(gòu)建大數(shù)據(jù)處理中心,是現(xiàn)階段最為主流的應(yīng)用趨勢。相比于傳統(tǒng)計算機來說,超級計算機在性能方面具有顯著優(yōu)勢,可以為大數(shù)據(jù)提供高效的計算以及處理服務(wù)。超級計算機早在二十世紀七十年代初就已被很多國家作為了一種戰(zhàn)略性資源而進行使用,在國家經(jīng)濟建設(shè)、國防安全、社會發(fā)展、科學(xué)研究等方面得到了廣泛的應(yīng)用,并作出了極大的貢獻,因此現(xiàn)階段,超級計算機技術(shù)基本已經(jīng)成為了衡量國家科技水平以及國防力量的重要指標(biāo)之一。天河二號超級計算機是由我國國防科學(xué)技術(shù)大學(xué)研制而成的,它實現(xiàn)了每秒鐘三點山九億億次的浮點運算速度,并以此成績蟬聯(lián)五次奪得全球運行速度最快超級計算機獎項。但是,超級計算機雖然具有如此高效的運行速率,它仍然只能在自己所擅長的以科學(xué)與工程運算為主的領(lǐng)域中發(fā)揮作用,例如一些計算密集型的任務(wù)中。此外,超級計算機具有計算模式單一的特點,它的處理過程通常由批量處理計算、流式運算、迭代運算、圖運算等數(shù)據(jù)密集型運算方式組成,因此傳統(tǒng)上的超級計算機很難直接被應(yīng)用在大數(shù)據(jù)的計摘 要 在大數(shù)據(jù)應(yīng)用時代背景當(dāng)中,超級計算機迎來了前所未有的挑戰(zhàn),這些挑戰(zhàn)主要體現(xiàn)在數(shù)據(jù)的計算、存儲、通信以及編程方面,因此基于大數(shù)據(jù)的實際特征以及需求來設(shè)計一個超級計算機系統(tǒng)是十分有必要的。本文圍繞如何基于大數(shù)據(jù)特征以及需求進行超級計算機設(shè)計、大數(shù)據(jù)時代應(yīng)用背景下編程模型的設(shè)計兩個方面展開討論,對大數(shù)據(jù)應(yīng)用背景下的超級計算機設(shè)計進行了分析,并提出了一些筆者自己的見解,希望能夠?qū)Υ髷?shù)據(jù)應(yīng)用背景下的數(shù)據(jù)處理問題提供一些對策建議。
關(guān)鍵詞 大數(shù)據(jù)應(yīng)用背景 超級計算機 數(shù)據(jù)處理算以及處理中。
1如何基于大數(shù)據(jù)特征以及需求進行超級計算機設(shè)計
顯而易見,大數(shù)據(jù)的出現(xiàn)給人類技術(shù)帶來了極大的挑戰(zhàn),而超級計算機具有十分強大的計算能力以及極其高效的數(shù)據(jù)處理能力,它將海量的信息高度集中在自己的系統(tǒng)當(dāng)中,并通過工具媒介、數(shù)據(jù)存儲等多元化角度對這些龐大的數(shù)據(jù)進行處理、分析以及應(yīng)用,由此可見,不同的超級計算機在對信息處理以及計算時所呈現(xiàn)出的性能水平也是有所差異的。我們之所以要通過超級計算機來實現(xiàn)高性能數(shù)據(jù)計算,主要目的就在于提升數(shù)據(jù)計算效率,并通過對大數(shù)據(jù)的應(yīng)用來增強通信效率。在本文中,筆者將圍繞硬件和軟件兩個層面來設(shè)計大數(shù)據(jù)應(yīng)用背景下的超級計算機。
1.1硬件體系結(jié)構(gòu)
信息量大以及操作簡單是大數(shù)據(jù)應(yīng)用的顯著特征,大數(shù)據(jù)應(yīng)用能夠確保計算指令維持在一個相對來說較低的狀態(tài),實際上間接增加了數(shù)據(jù)訪問所需的成本,由此可見,在使用超級計算機管理大數(shù)據(jù)的過程中主要存在的問題在于數(shù)據(jù)吞吐率與數(shù)據(jù)計算效率之間的失衡性。針對這一問題,我們可以重點以兩個切入點進行解決,一是針對片上緩存實施徹底優(yōu)化處理。大數(shù)據(jù)應(yīng)用指令等級相對較低,跳轉(zhuǎn)頻率較高,且不具備充分的局部性,再加上大數(shù)據(jù)通常只能使用一次,我們可以基于上述特點來降低指令緩存,并構(gòu)建一個連接處理器與二級緩存的通道,以確保數(shù)據(jù)吞吐率與計算效率之間的失衡狀態(tài)得到相對改善;二是提高大數(shù)據(jù)計算能力。在大數(shù)據(jù)的影響下,信息逐漸呈現(xiàn)出高密集化狀態(tài),這使得傳統(tǒng)的處理器已無法滿足信息處理需求。因此必須通過超級計算機來部署一個具備良好實時性的處理器,其中異構(gòu)并行處理器是一項很好的選擇,具體來說,也就是把專業(yè)的加速器導(dǎo)入至通用處理器核心當(dāng)中,在加速器的推動作用下,使數(shù)據(jù)處理過程中能夠?qū)崿F(xiàn)數(shù)據(jù)并行的效果。大數(shù)據(jù)應(yīng)用過程中,對于數(shù)據(jù)的處理頻率相對較高,因此必須想方設(shè)法改善節(jié)點計算效率并強化通信效率。顧名思義,大數(shù)據(jù)就是代表龐大的數(shù)據(jù)信息量,因此相應(yīng)的儲存模式也較為復(fù)雜,種類繁多,其中最為常見的數(shù)據(jù)儲存模式為集中式存儲模式以及分布共享式存儲模式。為了較好地應(yīng)對大數(shù)據(jù)通信頻率較高這一問題,必須通過合理的手段來提高節(jié)點與節(jié)點或與設(shè)備之間的連接效率以及。對上文內(nèi)容進行總結(jié)后得知,要想有效解決大數(shù)據(jù)應(yīng)用中存在的問題,其中最關(guān)鍵的環(huán)節(jié)在于加大互聯(lián)通信技術(shù)層面的研究開發(fā)力度,提高在節(jié)點連接效率優(yōu)化方面的研究力度,一般可以通過兩種方式來實現(xiàn),一種為研發(fā)一款軟硬件結(jié)合的多借口網(wǎng)絡(luò)芯片,另一種為通過光互連技術(shù)來改善數(shù)據(jù)傳送過程中的問題。
1.2硬件體系架構(gòu)
在大數(shù)據(jù)中包含著海量的結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)以及半結(jié)構(gòu)化數(shù)據(jù)。這三種數(shù)據(jù)類型對應(yīng)的存儲方式也各不相同,結(jié)構(gòu)化數(shù)據(jù)通常使用數(shù)據(jù)庫結(jié)構(gòu)實現(xiàn)存儲,而非結(jié)構(gòu)化以及半結(jié)構(gòu)化數(shù)據(jù)的存儲則更多地以依靠于不同文件與系統(tǒng)之間的協(xié)調(diào)與配合來實現(xiàn)。數(shù)據(jù)處理與數(shù)據(jù)計算是兩個完全不同的過程,在數(shù)據(jù)計算的過程中,當(dāng)數(shù)據(jù)加載已經(jīng)結(jié)束時,則需要對各系統(tǒng)之間的交互頻率進行合理地調(diào)整和控制,所以說應(yīng)該選擇單一的分布式文件系統(tǒng)來實現(xiàn)。而針對大數(shù)據(jù)的處理方式則相對來說更為豐富,同時也更加復(fù)雜,其中使用頻率最高的數(shù)據(jù)處理方式有圖處理以及批處理兩種,這樣據(jù)必須得到不同文件與系統(tǒng)之間的良好配合已結(jié)支持。由此可見,在設(shè)計超級計算機時,單一的文化系統(tǒng)完全不能滿足計算機運行需求,應(yīng)將多種文件組合在一起進行超級計算機系統(tǒng)的設(shè)計。
通過對非結(jié)構(gòu)化數(shù)據(jù)的存儲模式進行深入研究后可以發(fā)現(xiàn),它所使用的存儲結(jié)構(gòu)通常為分布式文件系統(tǒng)。為了能夠進一步提升大數(shù)據(jù)的處理效率,Google對大數(shù)據(jù)儲存的文件系統(tǒng)進行了一定的創(chuàng)新,在原有基礎(chǔ)上設(shè)計了一款具有擴展功能的GFS文件系統(tǒng),創(chuàng)新后的文件系統(tǒng)在對應(yīng)用層的運用下實現(xiàn)了對控制流以及數(shù)據(jù)量進行分離的目的,可以說是一個真正意義上的分布式文件系統(tǒng),即使面對規(guī)模龐大的數(shù)據(jù)信息,該文件系統(tǒng)也能夠?qū)崿F(xiàn)高校的儲存以及處理。GFS文件系統(tǒng)由以下三個基本部分構(gòu)成,分別為若干塊服務(wù)器、單一的主控服務(wù)器以及客戶端。本論文以GFS文件系統(tǒng)為出發(fā)點,對目前已研發(fā)上市且具有代表意義的阿里巴巴分支ADFS系統(tǒng)進行了分析。在阿里巴巴的ADFS系統(tǒng)中,主要針對HDFSNameNode在使用過程中暴露出來的單點故障以及內(nèi)存不足等一系列問題實施優(yōu)化,工作原理主要為將內(nèi)存中不屬于熱點范圍內(nèi)的數(shù)據(jù)轉(zhuǎn)移至外部數(shù)據(jù)庫當(dāng)中,通過這種方式來緩解NalneNode所承受的內(nèi)存壓力,從而提升數(shù)據(jù)的處理質(zhì)量以及效率。而在對半結(jié)構(gòu)化數(shù)據(jù)以及結(jié)構(gòu)化數(shù)據(jù)進行研究后發(fā)現(xiàn),半結(jié)構(gòu)化數(shù)據(jù)以及結(jié)構(gòu)化數(shù)據(jù)在存儲方式上有著十分顯著的共性特征,他們通常都優(yōu)先選擇數(shù)據(jù)庫以及分布式表結(jié)構(gòu)作為存儲方式,只有一些結(jié)構(gòu)相對較為簡單的半結(jié)構(gòu)化數(shù)據(jù)更傾向于選擇Key/Value分布式系統(tǒng),其中較為典型的為亞馬遜公司的Dynamo系統(tǒng)以及Facebook的Cassandra系統(tǒng),亞馬遜的Dynamo主要是運用Key/Value作為數(shù)據(jù)存儲模式,這一存儲模式相比于其它模式的優(yōu)點在于具有強大的可擴展性以及可用性。Facebook的Cassandra系統(tǒng)同樣也是采用Key/Value作為數(shù)據(jù)存儲模式,通過對這一存儲模式的運用進一步實現(xiàn)了數(shù)據(jù)存儲可擴展性以及一致性的增強。
2大數(shù)據(jù)時代應(yīng)用背景下編程模型的設(shè)計
在大數(shù)據(jù)時代這一背景下,編程模型所面臨的挑戰(zhàn)也是日益凸顯出來,傳統(tǒng)的編程模型也開始表現(xiàn)出一定的動力不足趨勢,并無法滿足大數(shù)據(jù)的編程要求,為了有效解決這一矛盾,必須基于大數(shù)據(jù)的特征以及需求來設(shè)計一種有別于傳統(tǒng)編程模型的全新的編程模型。大數(shù)據(jù)時代下的編程模型必須滿足簡單易操作的基本原則,并在此基礎(chǔ)上盡可能提高性能水平,構(gòu)建一個清晰明確的編程抽象,確保程序員的編程工作能夠更加順暢,在這一過程中,程序員并不需要關(guān)注程序在集群中運行的具體狀態(tài)以及情況,只需要針對每一項問題進行一一解決即可。在新的編程模型中,程序員的主要工作與任務(wù)在于關(guān)注一切有待解決的問題,以此來確保編程過程中各項任務(wù)的清晰化、明了化,同時還可以使代碼后期的維護管理工作得到極大程度的簡化,使程序員的工作更加方便、簡潔、高效。此外,在構(gòu)建編程模型時還應(yīng)考慮到系統(tǒng)數(shù)據(jù)計算能力以及處理能力提升的目的,我們不僅要確保程序能夠在集群上實現(xiàn)高效穩(wěn)定的運行,同時也要保證不同類型的作業(yè)與任務(wù)能夠在集群上并發(fā)運行,這樣可以大大提高集群內(nèi)部資源的共享有效率。但是在這一模型下,我們也會面臨許多新的問題,需要后期通過探索與研究進行慢慢攻破,例如如何有效處理異構(gòu)性問題、如何提升本地數(shù)據(jù)的有效利用率等。因此在基于大數(shù)據(jù)應(yīng)用背景下進行新編程模型構(gòu)建的同時,我們的考慮內(nèi)容不能過于單一,必須綜合衡量各方面的影響與利弊,在此基礎(chǔ)上作出適當(dāng)?shù)娜∩嵋约芭袛啵瑥亩鴺?gòu)建一個簡單、便捷、可靠、高效的大數(shù)據(jù)編程模型。
為了使效率得到進一步提升,超級計算機一般來說都會選擇應(yīng)用并行編程模型,例如Open MP以及MPI,其中,Open MP通常會與共享存儲模式的融合而被廣泛地應(yīng)用在對稱多處理器等架構(gòu)的相關(guān)設(shè)備當(dāng)中,而MPI所涉及的編程模型則相對來說更為復(fù)雜,一般來說需要在切換至信息通信計算模型下,要求編程工程人員針對所有的程序問題根據(jù)一定的規(guī)則進行一一分類,隨后再將這些分類號的問題映射至分布式進程集合當(dāng)中。Open MP以及MPI等并行編程模型并不適用于大數(shù)據(jù)的計算以及處理過程中,因此一些規(guī)模較大的互聯(lián)網(wǎng)企業(yè)會根據(jù)自身公司的實際情況以及需求來研制具有針對性的大數(shù)據(jù)處理模型,這樣一來不僅可以使工作人員的工作效率得到提升,同時也在很大程度上促進了大數(shù)據(jù)應(yīng)用的有效實現(xiàn)。
3結(jié)語
綜上所述,在大數(shù)據(jù)應(yīng)用背景之下,對于超級計算機的設(shè)計可以適當(dāng)導(dǎo)入一些高效模塊結(jié)構(gòu),例如多核結(jié)構(gòu)以及眾核結(jié)構(gòu)等。此外,寬帶網(wǎng)絡(luò)速度的提升也有利于超級計算機運行速度的改善,為其提供基本的保障條件。總而言之,在大數(shù)據(jù)時代背景之下,要想使數(shù)據(jù)處理以及計算速率得到有效提升,超級計算機的應(yīng)用是必然的趨勢所在,并取消以往計算機系統(tǒng)中的計算密集模式,取而代之的是數(shù)據(jù)密集模式。筆者相信在大家的共同努力之下,大數(shù)據(jù)應(yīng)用背景下的數(shù)據(jù)處理以及計算問題自會得以有效解決。
參考文獻
[1] 張聽,袁曉如.樹圖可視化[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2012(9):1113- 1124.
[2] 嚴霄鳳,張德馨.大數(shù)據(jù)研究[J].計算機技術(shù)與發(fā)展,2013(4):168-172.
[3] 鄧楊琴,孔麗華.美國發(fā)布“大數(shù)據(jù)的研究和發(fā)展計劃”[J].科研信息化技術(shù)與應(yīng)用,2012(2):89-93.