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