高 莉
南京市人防指揮信息保障中心,江蘇南京 210008
面向大數(shù)據(jù)應(yīng)用挑戰(zhàn)的超級計算機設(shè)計
高 莉
南京市人防指揮信息保障中心,江蘇南京 210008
在大數(shù)據(jù)時代,面向高性能的計算設(shè)計的超級計算機能夠為我們帶來計算、通信、存儲和編程等軟硬件體系結(jié)構(gòu)方面的便捷。由此,我們可以通過分析目前主流學(xué)術(shù)界研究成果來介紹超級計算機系統(tǒng)針對大數(shù)據(jù)處理應(yīng)用所采用的新型異構(gòu)多態(tài)體系結(jié)構(gòu)、自主定制高速互連網(wǎng)絡(luò)等多種優(yōu)化措施,對大數(shù)據(jù)背景下的超級計算機設(shè)計具有很大的參考價值。
大數(shù)據(jù);挑戰(zhàn);超級計算機
大數(shù)據(jù)已經(jīng)成為當(dāng)今世界的發(fā)展潮流,其中代指了那些大規(guī)模的數(shù)據(jù)集。在維基百科中,對于大數(shù)據(jù)給出了如下的定義:由于牽涉到的資料信息量巨大,當(dāng)下的主要軟件無法及時地完成數(shù)據(jù)的收集和處理等,而數(shù)據(jù)的整合和管理等是企業(yè)做出正確決策的關(guān)鍵所在。由此可見,大數(shù)據(jù)具有信息量大、復(fù)雜程度高以及時效性強等顯著特征,僅僅依靠傳統(tǒng)意義上的軟件計算是遠遠不夠的。因此,加大對大數(shù)據(jù)背景下超級計算機的研發(fā)力度迫在眉睫。
面對大數(shù)據(jù)的挑戰(zhàn),超級計算機最顯著的優(yōu)勢在于計算能力強和處理效率高等,作為一個信息高度集中的計算系統(tǒng),超級計算機從多樣化的視角(數(shù)據(jù)存儲、工具媒介等)對大數(shù)據(jù)應(yīng)用及高性能應(yīng)用進行對比分析,可以看出,在進行數(shù)據(jù)處理或者是數(shù)據(jù)計算時,超級計算機的性能表現(xiàn)也不盡相同。高性能計算的重點在于節(jié)點計算效率的提升,而大數(shù)據(jù)應(yīng)用的關(guān)鍵在于通信方面的加強。針對以上超級計算機在大數(shù)據(jù)背景下應(yīng)用的不足之處,以下將分別從硬件和軟件層面進行分開討論。
1.1硬件體系結(jié)構(gòu)
由于大數(shù)據(jù)應(yīng)用具有信息量大和計算簡單的特點,使得計算的指令級別處于相對較低的水平,同時也在無形之中加大了數(shù)據(jù)訪問的成本,可見超級計算機在大數(shù)據(jù)應(yīng)用方面的主要問題在于數(shù)據(jù)吞吐率與計算效率的不均衡,該問題可以從以下兩個關(guān)鍵點著手解決,首先是對片上緩存進行深層次的優(yōu)化。大數(shù)據(jù)應(yīng)用的指令級別較低,跳轉(zhuǎn)頻率高,局部性差,再考慮到其數(shù)據(jù)一般僅使用一次的特點,可以通過降低指令緩存和構(gòu)建處理器與二級緩存相連接的通道,使得數(shù)據(jù)吞吐率和計算效率達到一個相對均衡的狀態(tài)。其次是提升大數(shù)據(jù)計算的能力。鑒于大數(shù)據(jù)背景下信息高度密集的特點,常規(guī)的處理器已經(jīng)顯得力不從心,因此,超級計算機需要部署實時性高的處理器,可以選擇異構(gòu)并行處理器,詳細來講,就是將專業(yè)加速器引入到通用處理器核心中,借助于加速器的推動作用,使得在處理數(shù)據(jù)時可以達到數(shù)據(jù)集并行的效果。大數(shù)據(jù)應(yīng)用中數(shù)據(jù)處理頻率高,節(jié)點計算效率的提升和通信方面的加強是大數(shù)據(jù)應(yīng)用需要重點解決的問題。由于大數(shù)據(jù)應(yīng)用中涉及到的數(shù)據(jù)量巨大,其存儲模式也是各種各樣,比較常見的有集中存儲模式和分布式共享存儲模式等。同時考慮到數(shù)據(jù)通信頻率較高,需要重點提升節(jié)點與節(jié)點間、節(jié)點與設(shè)備間的連接效率。以上可見,為解決大數(shù)據(jù)應(yīng)用方面的問題,關(guān)鍵在于加強對互聯(lián)通信技術(shù)層面的研發(fā)力度,對節(jié)點間連接速率的優(yōu)化,通常有兩種方式可以選擇,首先是設(shè)計軟硬結(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ù)。它們的存儲方式也各有特點,其中結(jié)構(gòu)化數(shù)據(jù)多選擇數(shù)據(jù)庫結(jié)構(gòu)存儲,其余兩個通常要借助于不同文件系統(tǒng)之間的相互配合。數(shù)據(jù)處理和數(shù)據(jù)計算的過程截然不同,當(dāng)進行數(shù)據(jù)計算時,如果數(shù)據(jù)已經(jīng)加載完成,那么需要適當(dāng)控制與系統(tǒng)之間的交互頻率,因此可以選用單一的分布式文件系統(tǒng)。但是在大數(shù)據(jù)背景下的數(shù)據(jù)處理,其處理方式比較豐富,常見的有圖處理和批處理等,這就需要通過不同的文件系統(tǒng)進行配合。可見,在超級計算機設(shè)計中,單一的文件系統(tǒng)是無法滿足運行需要的,必須選擇多樣化的文件系統(tǒng)。
在對非結(jié)構(gòu)化數(shù)據(jù)的存儲方式研究以后發(fā)現(xiàn),通常是分布式文件系統(tǒng),為了提高數(shù)據(jù)處理的效率,谷歌創(chuàng)新性地設(shè)計出了可擴展的GFS文件系統(tǒng),即借助于應(yīng)用層達到分離控制流以及數(shù)據(jù)流的目的,是一個分布式文件系統(tǒng),可以存儲和處理巨大的數(shù)據(jù)信息,從而提升了公司的業(yè)務(wù)處理效率。GFS通常包含有以下3個部分:眾多的塊服務(wù)器、單一的主控服務(wù)器和客戶端。本文以GFS文件系統(tǒng)的思想為前提,并對已經(jīng)研發(fā)出來的具有代表性的系統(tǒng)(阿里巴巴的分支ADFS等)進行分析。阿里的分支ADFS著重對HDFS NameNode使用過程中顯現(xiàn)出來的單點故障和內(nèi)存不夠等問題進行優(yōu)化,其工作原理為通過把內(nèi)存中的非熱點數(shù)據(jù)轉(zhuǎn)移到外部數(shù)據(jù)庫,從而有效降低了NameNode內(nèi)存的壓力,使得數(shù)據(jù)的處理更為快捷高效。而在研究了半結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)以后,可以得出,兩者的存儲方式有著明顯的共同點,即通常都選擇數(shù)據(jù)庫和分布式表結(jié)構(gòu)。一些相對簡單的半結(jié)構(gòu)化數(shù)據(jù)通常會選擇Key/Value分布式系統(tǒng),比較典型的是Amazon公司的Dynamo系統(tǒng)和Facebook的Cassandra系統(tǒng),前者通過Key/Value方式進行數(shù)據(jù)存儲,其顯著特點在于較高的可用性和強大的可擴展性;后者同樣是通過Key/Value方式進行數(shù)據(jù)存儲,進一步增強了數(shù)據(jù)存儲方面的擴展性和一致性。
大數(shù)據(jù)的時代背景對編程模型也提出了更高的要求,傳統(tǒng)的編程比較簡單,而性能明顯不足,為了解決兩者之間的矛盾,需要構(gòu)建一種全新的編程模型。新的模型應(yīng)在保證簡單的前提下,盡可能提升性能,通過構(gòu)建清晰明確的編程抽象,使得程序員的編程工作能夠順利的進行,而程序員不必在意程序在集群上運行的詳細狀態(tài),只需對存在問題進行逐一攻克。新模型要求程序員關(guān)注待解決問題,從而使得編程過程中的任務(wù)清晰明了,同時也簡單化了代碼的維護,極大地方便了程序員的工作。另外,要達到提升系統(tǒng)數(shù)據(jù)計算和數(shù)據(jù)處理能力的目的,我們一方面要保障程序在集群上高效穩(wěn)定的運行,另一方面也要考慮使不同作業(yè)可以并發(fā)運行,共享集群內(nèi)部的資源。對此,需要克服的問題也很多,如怎么處理異構(gòu)性問題和怎么加強對本地數(shù)據(jù)的利用等,所以在新的編程模型構(gòu)建方面,我們需要綜合考慮各方面的影響,并進行適當(dāng)?shù)娜∩?,從而?gòu)建出一個簡單可靠而又高效的全新編程模型。
為提高效率,超級計算機通常會選擇并行編程模型,如OpenMP和MPI,前者通常使用共享存儲模式而被廣泛用在對稱多處理器等架構(gòu)的設(shè)備;后者的編程模型一般較為復(fù)雜,因此需要在信息通信計算模型的前提下,要求編程人員對程序問題進行逐一分類,然后再將其映射至分布式進程集合。而對于大數(shù)據(jù)來講,OpenMP和MPI是不合適的,對此一些大型互聯(lián)網(wǎng)公司基于公司實際狀況,開始研制出了專門用于大數(shù)據(jù)處理的模型,不僅提升了職員的工作效率,同時也極大地加快了大數(shù)據(jù)應(yīng)用實現(xiàn)的步伐。另外,需要提到的是在新型的內(nèi)存計算系統(tǒng)中,MapReduce在異構(gòu)內(nèi)存的使用方面仍存在很大的問題,使得數(shù)據(jù)的局部性無法得到有效的控制和利用。
在大數(shù)據(jù)背景下,超級計算機的設(shè)計可以加入一些高效化的模塊結(jié)構(gòu),如多核和眾核等,同時,不斷提速的寬帶網(wǎng)絡(luò)可以為超級計算機的高速運行提供基礎(chǔ)保障,相關(guān)技術(shù)有最優(yōu)網(wǎng)絡(luò)互連技術(shù)等??傊诖髷?shù)據(jù)時代,為了實現(xiàn)更高級的機器計算和運行,我們需要將超級計算機的計算類型由計算密集型逐漸轉(zhuǎn)向數(shù)據(jù)密集型。希望通過我們的共同努力,在應(yīng)對當(dāng)今大數(shù)據(jù)時代下的數(shù)據(jù)處理問題能夠更加得心應(yīng)手。
[1]張昕,袁曉如.樹圖可視化[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2012(9):1113-1124.
[2]嚴(yán)霄鳳,張德馨.大數(shù)據(jù)研究[J].計算機技術(shù)與發(fā)展,2013(4):168-172.
[3]郎楊琴,孔麗華.美國發(fā)布“大數(shù)據(jù)的研究和發(fā)展計劃”[J].科研信息化技術(shù)與應(yīng)用,2012(2):89-93.
TP3
A
1674-6708(2016)171-0117-01
高莉,工程師,南京市人防指揮信息保障中心,研究方向為計算機軟件工程。