廖湘科,譚郁松,盧宇彤,謝 旻,周恩強,黃 杰(國防科學(xué)技術(shù)大學(xué)計算機學(xué)院,長沙410073)
面向大數(shù)據(jù)應(yīng)用挑戰(zhàn)的超級計算機設(shè)計
廖湘科,譚郁松,盧宇彤,謝旻,周恩強,黃杰
(國防科學(xué)技術(shù)大學(xué)計算機學(xué)院,長沙410073)
在大數(shù)據(jù)時代,大數(shù)據(jù)處理給面向高性能計算設(shè)計的超級計算機帶來計算、存儲、通信、編程等軟硬件體系結(jié)構(gòu)方面的挑戰(zhàn).對此在分析目前主流學(xué)術(shù)界和工業(yè)界相關(guān)研究成果的基礎(chǔ)上,介紹了天河二號超級計算機系統(tǒng)針對大數(shù)據(jù)處理應(yīng)用所采用的新型異構(gòu)多態(tài)體系結(jié)構(gòu)、自主定制高速互連網(wǎng)絡(luò)、混合層次式存儲系統(tǒng)、混合計算框架等多種優(yōu)化措施,為大數(shù)據(jù)時代的超級計算機設(shè)計提供有意義的參考.
大數(shù)據(jù);超級計算機;天河二號
大數(shù)據(jù)已成為當前各界關(guān)注的焦點,泛指大規(guī)模、超大規(guī)模的數(shù)據(jù)集.維基百科對“大數(shù)據(jù)”[1]的定義是,所涉及的資料量規(guī)模巨大到無法通過目前主流軟件工具,在合理時間內(nèi)達到收集、管理、處理并整理成為幫助企業(yè)經(jīng)營決策的資源.數(shù)據(jù)咨詢公司IDC提出大數(shù)據(jù)呈現(xiàn)4V(volume,velocity,varity,value)特性[2].容量(volume)體現(xiàn)為在信息世界里,產(chǎn)生、收集和分析的數(shù)據(jù)量從TB級別向ZB級別發(fā)展;產(chǎn)生速率(velocity)是指數(shù)據(jù)產(chǎn)生和傳播的速度極快,呈現(xiàn)流動性特征;多樣性(varity)表現(xiàn)為數(shù)據(jù)來自不同數(shù)據(jù)源,在編碼格式、存儲格式、應(yīng)用特征等多個方面呈現(xiàn)多層次、多方面的差異;價值(value)是指大數(shù)據(jù)價值密度低,而商業(yè)價值高的特點.大數(shù)據(jù)蘊含大信息,大信息將在更高更廣的層面提升用戶的觀察力、決策力,為人類社會創(chuàng)造巨大價值.規(guī)模巨大、價值稀疏、結(jié)構(gòu)復(fù)雜、時效性強的大數(shù)據(jù)處理需求是傳統(tǒng)高性能科學(xué)與工程計算設(shè)計所不能滿足的,存在計算復(fù)雜度高、任務(wù)周期長、數(shù)據(jù)實時性強、計算通用性差等方面的問題.因此,本研究認為大數(shù)據(jù)帶來的問題對計算系統(tǒng)的系統(tǒng)架構(gòu)、計算框架、處理方法等提出了新的挑戰(zhàn).
依靠超級計算機搭建大數(shù)據(jù)中心,是目前的主流發(fā)展趨勢之一.超級計算機具有高性能的優(yōu)勢,能為大數(shù)據(jù)處理提供高效的計算能力.自20世紀70年代起,超級計算機便作為國家戰(zhàn)略資源而存在,是解決國家經(jīng)濟建設(shè)、科學(xué)進步、社會發(fā)展、國防安全等一系列巨大挑戰(zhàn)的重要技術(shù)手段,也是國家科技水平、國家競爭力的重要體現(xiàn).由國防科學(xué)技術(shù)大學(xué)研制的天河二號超級計算機,以每秒3.39億億次的浮點運算速度連續(xù)五次摘得全球運行速度最快的超級計算機桂冠.但是,超級計算機所擅長的領(lǐng)域是以科學(xué)與工程計算為主的計算密集型任務(wù),計算模式具有單一性的特點.而大數(shù)據(jù)處理通常包含批處理計算、流式計算、迭代計算、圖計算等數(shù)據(jù)密集型計算模式,因此傳統(tǒng)的超級計算機難以直接應(yīng)用于大數(shù)據(jù)的計算.
為了解決這一問題,近幾年所設(shè)計的超級計算機在體系結(jié)構(gòu)、軟件等方面逐漸進行了改進.本研究首先對面向大數(shù)據(jù)應(yīng)用的超級計算機所面臨的挑戰(zhàn)從軟硬件兩個方面進行分析,并介紹了國內(nèi)外學(xué)者對大數(shù)據(jù)的研究現(xiàn)狀,最后闡述了天河二號超級計算機針對大數(shù)據(jù)處理所進行的改進,為大數(shù)據(jù)時代的超級計算機設(shè)計提供了有意義的參考.
超級計算機能夠為大數(shù)據(jù)應(yīng)用提供強大的計算能力、海量的存儲空間支持.但是,超級計算機是面向高性能計算設(shè)計的計算系統(tǒng),高性能計算與大數(shù)據(jù)處理存在多方面差異. 表1是從應(yīng)用領(lǐng)域、密集型、數(shù)據(jù)存儲、軟件平臺等不同角度對高性能計算(high performance computing,HPC)應(yīng)用和大數(shù)據(jù)應(yīng)用特點的比較,可見超級計算機在處理大數(shù)據(jù)和高性能計算時所表現(xiàn)出的性能具有明顯的差異性.相對于Top500排名,為了表征超級計算機面向大數(shù)據(jù)應(yīng)用的計算能力,2011年美國圣地亞哥國家實驗室與多家IT公司合作定義發(fā)布了Graph500排名[3].Graph500中使用的基準強調(diào)子系統(tǒng)之間的通信,是在一個無向圖中進行廣度優(yōu)先搜索,而不是Top500中采用的雙精度浮點計算.基準計算核心有兩個:一是生成搜索圖,二是壓縮成稀疏結(jié)構(gòu)CSR或CSC.
高性能計算十分注重節(jié)點的計算能力,而大數(shù)據(jù)應(yīng)用的瓶頸在于數(shù)據(jù)通信.因而面向高性能計算設(shè)計的超級計算機服務(wù)于大數(shù)據(jù)應(yīng)用存在一定的不足.接下來將從硬件體系結(jié)構(gòu)和軟件架構(gòu)兩個方面進行分析.
表1 大數(shù)據(jù)處理與高性能計算的比較Table 1 Comparison between big data processing and HPC
1.1硬件體系結(jié)構(gòu)
1.1.1計算部件
大數(shù)據(jù)應(yīng)用數(shù)據(jù)量大、計算簡單,因而計算的指令級并行較低,數(shù)據(jù)訪問開銷較大.將大數(shù)據(jù)應(yīng)用部署在超級計算機上存在明顯的數(shù)據(jù)吞吐率與計算能力不匹配的問題.為了驗證處理器面向大數(shù)據(jù)應(yīng)用的不足,上海交通大學(xué)梁曉峣團隊通過實驗對CPU架構(gòu)進行研究,結(jié)果表明大數(shù)據(jù)應(yīng)用將大部分時間都浪費在了數(shù)據(jù)內(nèi)存訪問上[4].片上存儲架構(gòu)不能很好地為大數(shù)據(jù)應(yīng)用提供必要的支持,導(dǎo)致計算和存儲的失衡,浪費了計算能力.
面向大數(shù)據(jù)的處理器優(yōu)化主要集中在兩個方面:一是解決計算能力問題.由于大數(shù)據(jù)對實時性要求較高,采用通用處理器很難滿足要求.為此,超級計算機采用異構(gòu)并行處理器,即通用核與專業(yè)加速器相結(jié)合,利用加速器進行加速,增加各類計算任務(wù)中的數(shù)據(jù)級并行. Top500和Graph500的計算機大多采用CPU和協(xié)處理器混合的架構(gòu).協(xié)處理器具有很強的處理能力,但是從CPU到協(xié)處理器的數(shù)據(jù)延遲很嚴重.因此,通過軟件的數(shù)據(jù)劃分和硬件上將CPU與GPU放置在一個芯片等策略可以取得很好的優(yōu)化效果.二是解決數(shù)據(jù)吞吐量與計算能力不匹配的問題,片上緩存的優(yōu)化成為解決該問題的關(guān)鍵.大數(shù)據(jù)應(yīng)用指令跳轉(zhuǎn)頻繁,且指令局部性差,因而可以適量減小指令緩存.同時大數(shù)據(jù)應(yīng)用的數(shù)據(jù)很少被重復(fù)利用,而是在每次計算完之后就可以丟棄,因此應(yīng)該注重對數(shù)據(jù)緩存的優(yōu)化,建立處理器與二級緩存之間的數(shù)據(jù)通道,或者采用eDRAM代替緩存.
1.1.2存儲架構(gòu)
將大數(shù)據(jù)應(yīng)用移植到超級計算機上,數(shù)據(jù)局部性訪問特征變得尤其明顯,而內(nèi)存和外存之間的I/O性能不匹配問題并未得到有效解決.目前最常見的大數(shù)據(jù)處理模式MapReduce需要將計算中間結(jié)果寫回磁盤中,導(dǎo)致系統(tǒng)的I/O開銷極大,不能滿足應(yīng)用的實時性需求.針對這一問題,有以下3種解決途徑.
一是采用新型存儲器,建立新的存儲結(jié)構(gòu),縮小計算速度和存儲速度之間的差距.隨著以電阻隨機存儲器(resistive random access memory,RRAM)、鐵電隨機存儲器(ferroelectric random access memory,F(xiàn)eRAM)、相變存儲器(phase change memory,PCM)等為代表的新興非易失性存儲器(non-volatile memory,NVM)技術(shù)的發(fā)展,使得傳統(tǒng)的內(nèi)存與存儲分離的界限逐漸變得模糊,推進了存儲技術(shù)的發(fā)展,為新型內(nèi)存與存儲體系結(jié)構(gòu)的產(chǎn)生打下了良好的基礎(chǔ).基于新型存儲級內(nèi)存(storage class memory,SCM)[5]和傳統(tǒng)動態(tài)隨機存儲器(dynamic random access memory,DRAM)設(shè)計的新型混合內(nèi)存體系,能夠在保持成本和能耗優(yōu)勢的前提下大幅提升內(nèi)存容量,從而避免傳統(tǒng)計算設(shè)施上內(nèi)存磁盤訪問模式中I/O能力受限的問題,大幅度提升大數(shù)據(jù)處理的時效性、吞吐量和性能.Dhiman等[6]和Ham等[7]分別提出了針對PCM的異構(gòu)混合硬件架構(gòu),改進了架構(gòu)的設(shè)計過程并降低了設(shè)計難度.非易失存儲器增加了存儲與計算之間的數(shù)據(jù)傳輸帶寬,而固態(tài)存儲減少了內(nèi)存與存儲之間數(shù)據(jù)傳輸?shù)难舆t. Fusion-IO,Intel,RamSAN,SDSC和國防科學(xué)技術(shù)大學(xué)等國內(nèi)外企業(yè)和研究單位都在閃存上開展了相關(guān)工作,且目前已有多臺超級計算機采用固態(tài)硬盤取代傳統(tǒng)的硬盤存儲,以提高訪問速度.
二是采用先進的3D封裝技術(shù)緩解存儲帶寬延遲問題.3D堆疊封裝技術(shù)是指單個封裝體內(nèi)可以堆疊多個芯片,以實現(xiàn)存儲容量的倍增且數(shù)據(jù)傳輸更快,同時所占芯片的面積減小.采用該技術(shù)可以通過高速網(wǎng)絡(luò)接口訪問外部三維疊片封裝以消除讀寫瓶頸問題.從英特爾的3D三柵極晶體管,到三星3D垂直堆疊型結(jié)構(gòu)NABND閃存芯片,再到類似多層堆疊的產(chǎn)品——HMC(hybrid memory cube)內(nèi)存的出現(xiàn),3D堆疊封裝技術(shù)逐漸走向成熟,并應(yīng)用于工業(yè)界芯片生產(chǎn).AMD(ATI)發(fā)布了采用20 nm工藝的3D堆疊高帶寬內(nèi)存(high bandwidth memory,HBM);Nvidia也表示將在2016年引入3D封裝工藝;三星已批量投產(chǎn)全球第一款采用3D TSV立體硅穿孔封裝技術(shù)打造的DDR4內(nèi)存條,其單條容量高達64 GB.
三是利用光互連技術(shù)取代傳統(tǒng)的電互連,這也是解決處理器訪問存儲瓶頸的有效解決方案之一.哥倫比亞大學(xué)長期致力于硅基光互連的研究,已成功研制出光互連交換芯片,并提出通過光互連解決存儲瓶頸的有效解決方案.研究結(jié)果表明,在相同功耗的前提下,10 Gbit/s調(diào)制速率的光互連訪存帶寬比目前最快的DRAM訪存帶寬提升了10倍以上.
1.1.3通信
大數(shù)據(jù)應(yīng)用的一個顯著特點是節(jié)點之間數(shù)據(jù)交互頻繁,互連通信成為大數(shù)據(jù)應(yīng)用的性能瓶頸.考慮到大數(shù)據(jù)的海量特性,一般采用多種存儲模式來支持數(shù)據(jù)存儲,如分布式共享存儲、集中存儲FC-SAN/IP-SAN等.而大數(shù)據(jù)應(yīng)用數(shù)據(jù)通信量較大且數(shù)據(jù)通信較為頻繁,節(jié)點之間及節(jié)點與存儲設(shè)備之間的互連帶寬成為數(shù)據(jù)處理的瓶頸.因此,展開新的互連通信技術(shù)的研究變得尤為迫切.
為了提高節(jié)點之間的通信帶寬,可以采用以下兩個策略:一是設(shè)計軟硬件結(jié)合的多接口網(wǎng)絡(luò)芯片,采用用戶級別定義和零數(shù)據(jù)拷貝技術(shù)減少數(shù)據(jù)傳輸?shù)难舆t,該技術(shù)已被應(yīng)用到多個超級計算機中;二是光互連技術(shù)為解決數(shù)據(jù)傳輸難題提供了新的契機.硅基光通信以波分多路復(fù)用的激光束為信息載體,通過控制電光調(diào)制器上的光學(xué)效應(yīng)加載數(shù)字信號,經(jīng)光波導(dǎo)管與光子開關(guān)的光速傳輸與路由,利用光電解調(diào)效應(yīng)還原電信號,實現(xiàn)了片內(nèi)高效數(shù)據(jù)傳輸.與傳統(tǒng)金屬互連介質(zhì)相比,這種光互連方式具有天然的優(yōu)勢,主要體現(xiàn)在不受距離影響的信號速率、基于波分復(fù)用的高帶寬通信以及接近零功耗的波導(dǎo)管傳輸?shù)确矫?英特爾與IBM科學(xué)家已經(jīng)利用日漸成熟的硅基光子集成技術(shù),在單顆芯片內(nèi)成功集成了光波導(dǎo)管、電光調(diào)節(jié)器、光電解調(diào)器、光子開關(guān)等新型納米器件.光互連技術(shù)將有望解決數(shù)據(jù)中心芯片之間的海量數(shù)據(jù)通信問題.
1.2軟件架構(gòu)
1.2.1數(shù)據(jù)存儲
大數(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)存儲,而半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)需要多種文件系統(tǒng)協(xié)調(diào)配合來存儲不同的大數(shù)據(jù).超級計算機進行高性能計算和大數(shù)據(jù)分析是兩個完全不同的過程.執(zhí)行高性能計算過程時,數(shù)據(jù)加載完畢后,不需要頻繁地與文件系統(tǒng)交互,因而單一分布式文件系統(tǒng)即可滿足要求.而對于大數(shù)據(jù)應(yīng)用,數(shù)據(jù)的處理過程多種多樣,如批處理、流處理、圖處理等多類不同的處理過程,都需要不同文件系統(tǒng)的支持.因而,基于超級計算機的大數(shù)據(jù)處理平臺需要采用靈活多變的文件系統(tǒng),以自適應(yīng)的形式滿足多類復(fù)雜大數(shù)據(jù)應(yīng)用.
非結(jié)構(gòu)化數(shù)據(jù)的存儲方式一般為分布式文件系統(tǒng).Google公司因業(yè)務(wù)需求提出GFS文件系統(tǒng)[8],通過應(yīng)用層協(xié)助分離控制流和數(shù)據(jù)流以提升集群橫向擴展能力,實現(xiàn)對海量數(shù)據(jù)的高效可靠存儲.GFS由一個主控服務(wù)器、多個塊服務(wù)器(chunk server)和客戶端構(gòu)成. 在GFS中文件被劃分為64 MB大小的chunk,由唯一的chunk句柄標識,塊服務(wù)器以普通的Linux文件形式將chunk存儲在磁盤中,為了保證可靠性,chunk會在不同的節(jié)點中復(fù)制多份,默認為3份.通過主控服務(wù)器維護系統(tǒng)的元數(shù)據(jù)信息,包括文件及chunk命名空間、文件到chunk之間的映射、每個chunk副本的位置信息.所有元數(shù)據(jù)都保存在Master服務(wù)器的內(nèi)存中.基于GFS文件系統(tǒng)的思想,已有研究者構(gòu)建了多個改進的文件系統(tǒng).Apache構(gòu)建了類GFS系統(tǒng)的HDFS分布式文件系統(tǒng)[9],阿里巴巴公司自主開發(fā)了分支ADFS[10],主要解決的是HDFS NameNode在設(shè)計上存在的單點故障、內(nèi)存瓶頸以及因集群重啟時間過長而無法對集群進行寫操作等問題.ADFS的原理是將非熱點數(shù)據(jù)保存到外部數(shù)據(jù)庫而非常駐于NameNode內(nèi)存中.清華大學(xué)和阿姆斯特丹自由大學(xué)合作研發(fā)的CloudTPS系統(tǒng)[11]能夠為分布式應(yīng)用提供存儲支持.
對于結(jié)構(gòu)化數(shù)據(jù)和半結(jié)構(gòu)化數(shù)據(jù),存儲方式主要為數(shù)據(jù)庫和分布式表結(jié)構(gòu).對于簡單的半結(jié)構(gòu)化數(shù)據(jù)可以采用Key/Value分布式文件系統(tǒng)存儲,Key/Value為分布式表格的一種.Amazon公司基于電子消費類應(yīng)用行為特征構(gòu)建高可用和高可伸縮的分布式存儲系統(tǒng)Dynamo[12],該系統(tǒng)采用Key/Value方式存儲數(shù)據(jù),并采用數(shù)據(jù)分塊最終一致性和一致性哈希等技術(shù)為上層應(yīng)用提供Always-on體驗,同時保持高可用和橫向擴展能力.早期由Facebook開發(fā)的Cassandra系統(tǒng)[13]借鑒不同研究成果以Key/Value方式構(gòu)建分布式存儲平臺,從而提供更好的擴展性和一致性.由于大數(shù)據(jù)應(yīng)用的數(shù)據(jù)量大和實時處理的需求,使得傳統(tǒng)數(shù)據(jù)庫(如MySQL,PostgreSQL)已經(jīng)無法滿足用戶對于結(jié)構(gòu)化數(shù)據(jù)存儲的系統(tǒng)需求. Google公司提出BigTable分布式類數(shù)據(jù)庫系統(tǒng)[14],引領(lǐng)了NoSQL潮流,這種存儲方案被用于Google公司內(nèi)部多個項目中,如搜索系統(tǒng)的海量數(shù)據(jù)存儲、用戶請求的日志管理等,支持公司的大數(shù)據(jù)產(chǎn)品.之后在存儲領(lǐng)域涌現(xiàn)了增量索引平臺Percolator[15]和全球級分布式數(shù)據(jù)庫Spannor[16]等.HBase數(shù)據(jù)庫[17]基于BigTable的設(shè)計思想,在HDFS的基礎(chǔ)上構(gòu)建,能提供較為接近傳統(tǒng)數(shù)據(jù)庫的支持.OceanBase數(shù)據(jù)庫[18]是阿里巴巴公司自主研發(fā)的可擴展的關(guān)系型數(shù)據(jù)庫,實現(xiàn)了跨行和跨表的事務(wù)支持,能夠在數(shù)千億條記錄、數(shù)百TB數(shù)據(jù)上進行傳統(tǒng)SQL操作.
在分布式存儲管理方面也出現(xiàn)了一些典型的系統(tǒng).Memcached系統(tǒng)[19]是一種高性能的分布式內(nèi)存緩存服務(wù)系統(tǒng),最初由Danga Interactive為了LiveJournal所發(fā)展,目前已被mixi,hatena,F(xiàn)acebook,Vox,LiveJournal等公司廣泛采用,用以提高Web應(yīng)用擴展性.Redis數(shù)據(jù)庫[20]是一種非關(guān)系型內(nèi)存數(shù)據(jù)庫,采用與Memcahed,Redis類似的鍵值存儲,可以達到很好的存儲性能.RAMCloud技術(shù)[21]是由斯坦福大學(xué)的John Ousterhout在2009年提出的基于內(nèi)存的存儲管理技術(shù).鑒于面向磁盤的在線存儲存在諸多問題,如擴展性、性能瓶頸,RAMCloud技術(shù)采用的解決方法是建立一個以DRAM為主的數(shù)據(jù)存儲中心,將所有的信息都保存在DRAM中,利用商業(yè)服務(wù)器集群構(gòu)成一個大規(guī)模存儲系統(tǒng).與磁盤的存儲系統(tǒng)相比,該系統(tǒng)至少能提高100~1 000倍的帶寬和100~1 000倍的低延遲.
1.2.2編程模型
大數(shù)據(jù)應(yīng)用同樣給編程模型帶來了新的挑戰(zhàn).這些挑戰(zhàn)主要來自編程簡單性與性能優(yōu)化之間的沖突.為了編程的簡單性,編程模型應(yīng)為開發(fā)人員提供一個簡潔而強大的編程抽象,使開發(fā)人員可以輕松地編寫能在成百上千臺計算機上并行執(zhí)行的程序,開發(fā)人員只需關(guān)注要解決的問題,不需要關(guān)心應(yīng)用程序在大規(guī)模集群上運行的細節(jié)(如數(shù)據(jù)分布、調(diào)度任務(wù)和處理容錯等).編程模型對開發(fā)人員隱藏這些細節(jié),有助于應(yīng)用程序清晰地表達對數(shù)據(jù)的處理過程,使代碼更容易理解、重用和維護,從而最大程度地減輕了開發(fā)人員編程的負擔.而對于編程模型的性能優(yōu)化而言,編程模型通常管理整個集群的資源,除了要保證應(yīng)用程序在大規(guī)模集群上能夠高效率、高可靠和可擴展地運行,還要允許多個作業(yè)并發(fā)運行、共享集群資源,以提高整個集群的資源利用率和作業(yè)的吞吐量.在大規(guī)模集群系統(tǒng)上高效地實現(xiàn)一個編程抽象會面臨很多挑戰(zhàn).例如,如何盡量利用數(shù)據(jù)本地性以減少網(wǎng)絡(luò)傳輸,如何解決機器的異構(gòu)性問題,如何保證作業(yè)之間的公平性等.在設(shè)計編程模型的任務(wù)調(diào)度和作業(yè)調(diào)度時,通常需要考慮多種因素并作出權(quán)衡折中.因此,針對大數(shù)據(jù)應(yīng)用的需求,設(shè)計高效、簡潔、可靠的并行編程模型也是一大挑戰(zhàn).
超級計算機一般采用OpenMP,MPI等并行編程模型.OpenMP采用共享存儲模式,適用于對稱多處理器(symmetrical multi-pocessing,SMP)、分布式共享內(nèi)存(distributed shared memory,DSM)等架構(gòu)的機器.MPI是基于消息傳遞的計算模型,編程模型較復(fù)雜,需要程序員自行分析及劃分應(yīng)用程序問題,并將問題映射到分布式進程集合.可見這兩種編程模型并不適用于大數(shù)據(jù)應(yīng)用.因此,若干互聯(lián)網(wǎng)公司都各自研發(fā)了應(yīng)用于大數(shù)據(jù)處理的編程模型,以解決上述各種挑戰(zhàn)性問題.
MapReduce系統(tǒng)是Google公司面向PB規(guī)模級數(shù)據(jù)提出的基于數(shù)據(jù)進行并行計算的模型,它提供了簡單的API接口,能夠自動進行并行化、容錯處理、數(shù)據(jù)切分等工作,簡化了大數(shù)據(jù)并行程序的編寫.MapReduce系統(tǒng)主要由兩部分組成:Map和Reduce. MapReduce的核心思想在于“分而治之”,也就是說,先將數(shù)據(jù)源分為若干部分,每個部分對應(yīng)一個初始的鍵值(Key/Value)對,并分別由不同的Map任務(wù)區(qū)處理,產(chǎn)生一系列中間結(jié)果鍵值(Key/Value)對,MapReduce的中間過程Shuffle將所有具有相同Key值的Value值組成一個集合傳遞給Reduce環(huán)節(jié);Reduce接收這些中間結(jié)果,并將相同的Value值合并,形成最終的較小Value值的集合.而面向超級計算機的異構(gòu)平臺,MapReduce計算框架仍需要改進.Mars框架[22]是由香港科技大學(xué)研究人員提出的最早的基于單GPU節(jié)點實現(xiàn)的MapReduce計算框架.而后,MapCG[23],Grex[24],Mithra[25],GPMR[26]等對MapReduce進行了大量改進工作,充分發(fā)揮了大量的GPU集群節(jié)點的優(yōu)勢,同時利用共享內(nèi)存等技術(shù)減少了CPU與GPU之間的I/O數(shù)據(jù)傳輸延遲.MrPhi[27]首先實現(xiàn)了在單MIC節(jié)點的MapReduce框架,而后擴展到了MIC集群中[28].
同時,在新型的內(nèi)存計算體系結(jié)構(gòu)中,現(xiàn)有的MapReduce并不能充分利用大規(guī)模的異構(gòu)內(nèi)存,從而難以控制和有效利用數(shù)據(jù)的局部性.為了將中間數(shù)據(jù)保存在內(nèi)存而非外存中,以避免過多的內(nèi)外存I/O,加州大學(xué)伯克利分校的研究人員提出了可恢復(fù)分布式數(shù)據(jù)集(resilient distributed datasets,RDDs)[29]來抽象分布式內(nèi)存系統(tǒng),并且利用RDDs實現(xiàn)了Spark內(nèi)存計算系統(tǒng).Phoenix[30]是斯坦福大學(xué)研究人員開發(fā)的基于多核/多處理器、共享內(nèi)存的MapReduce實現(xiàn),其目標是在多核平臺上,使程序執(zhí)行得更高效,而且使程序員不必關(guān)心并發(fā)的管理.在大數(shù)據(jù)處理應(yīng)用中,不少場景存在依賴關(guān)系的作業(yè),比如Pig[31]和Hive[32]產(chǎn)生的MapReduce作業(yè).為優(yōu)化依賴作業(yè)對磁盤和網(wǎng)絡(luò)I/O操作效率,Hortonworks開發(fā)了DAG計算框架Tez[33].該框架的核心思想是將Map和Reduce兩個操作分成更小的元操作,可以靈活組合產(chǎn)生新的操作,并經(jīng)控制程序組裝后形成大的DAG作業(yè).
綜上所述,大數(shù)據(jù)應(yīng)用給超級計算機帶來了軟件、硬件結(jié)構(gòu)等方面的挑戰(zhàn),而目前學(xué)術(shù)界和工業(yè)界針對這些挑戰(zhàn)提出了各種各樣的解決方案,并取得了一定的成果.
下面將以天河二號超級計算機(以下簡稱天河二號)為例,分析在大數(shù)據(jù)時代下超級計算機應(yīng)采取哪些優(yōu)化措施應(yīng)對大數(shù)據(jù)處理帶來的挑戰(zhàn).針對大數(shù)據(jù)處理,天河二號采用的優(yōu)化措施包括互連通信優(yōu)化、I/O增強及軟件棧增強等技術(shù).目前,天河二號計算機系統(tǒng)的互連通信已升級成TH-Express 2+高速網(wǎng)絡(luò)技術(shù),該通信網(wǎng)絡(luò)能提供更高的通信性能和TCP/IP協(xié)議數(shù)據(jù)傳輸性能[34-35].在I/O系統(tǒng)中,通過部署混合的存儲結(jié)構(gòu)和層次式的文件系統(tǒng)來提高I/O吞吐能力.在天河二號上提供異構(gòu)MapReduce并行處理框架,支持CPU和MIC的混合MapReduce處理能力.
天河二號超級計算機系統(tǒng)在國家高技術(shù)研究發(fā)展計劃(863計劃)的支持下,由國防科學(xué)技術(shù)大學(xué)研制,廣東省及廣州市政府提供了研制經(jīng)費和配套設(shè)施支持.天河二號峰值計算速度達5.49億億次/s,持續(xù)計算速度達3.39億億次/s,能效比達到每瓦19億次雙精度浮點運算.天河二號的定位是同時滿足高性能計算、高吞吐率信息服務(wù)和海量數(shù)據(jù)處理等多領(lǐng)域復(fù)雜應(yīng)用需求,在系統(tǒng)設(shè)計過程中,專門針對大數(shù)據(jù)領(lǐng)域的應(yīng)用特征進行了多項體系結(jié)構(gòu)調(diào)優(yōu),包括I/O增強、軟件棧增強、通信協(xié)議增強及并行處理模式優(yōu)化等.
2.1計算節(jié)點優(yōu)化——異構(gòu)多態(tài)體系結(jié)構(gòu)
天河二號的計算陣列共16 000個計算節(jié)點,每個計算節(jié)點包含2個Intel Xeon處理器和3個MIC眾核協(xié)處理器.節(jié)點通過自主設(shè)計的網(wǎng)絡(luò)接口芯片(network interface chip,NIC)連接到高速互連網(wǎng)絡(luò).節(jié)點包含4個高速PCIE總線,其中3個連接MIC,一個連接NIC. CPU和MIC眾核協(xié)處理器都基于X86架構(gòu),具有相似的指令集架構(gòu),因此能夠支持統(tǒng)一的編程模型,本研究將此混合架構(gòu)設(shè)計為“微異構(gòu)計算體系結(jié)構(gòu)”.CPU和MIC眾核協(xié)處理器協(xié)同計算,既可以提高系統(tǒng)的能效比,又能保證應(yīng)用程序的兼容性、適用性和易用性.
圖1 計算節(jié)點邏輯結(jié)構(gòu)Fig.1 Computing node structure
計算節(jié)點邏輯結(jié)構(gòu)如圖1所示,2個CPU通過兩路QPI信號直接連接,每個CPU設(shè)計4個通道,共8個DIMM插座,如果采用16 GB內(nèi)存條,最大可支持128 GB DDR3內(nèi)存. CPU0通過PCH(platform controller hub)芯片進行外圍擴展,引出一個PCIE 16X接口連接自主研發(fā)的高速互連網(wǎng)絡(luò)接口芯片NIO,同時引出一個PCIE 16X接口連接MIC眾核協(xié)處理器.CPU1引出2個PCIE 16X接口連接2個MIC眾核協(xié)處理器.每個節(jié)點連接3個MIC眾核協(xié)處理器.
基于商用CPU的計算節(jié)點采用主頻2.2 GHz的Ivy Bridge CPU,集成12個處理器核,單核支持256位寬的SIMD操作(4個雙精度浮點操作),直接在CPU內(nèi)部集成PCIE控制器,集成4通道DDR3存儲控制器,提供2個傳輸率為8 GT/s的QPI接口,支持2路處理器直連構(gòu)成SMP系統(tǒng),同時采用高級向量擴展(advanced vector extensions,AVX)指令集,在性能得到大幅提升的同時保持了更高的訪存、通信和I/O帶寬.
MIC協(xié)處理器包含57個物理核,運行頻率為1.1 GHz,單核支持512位寬的SIMD操作(8個雙精度浮點操作),同時支持FMA三元乘加操作,雙精度浮點峰值性能達到了1.003 TFlops.
2.2網(wǎng)絡(luò)通信優(yōu)化——TH-Express 2+
TH-Express 2+互連通信網(wǎng)絡(luò)主要由兩種芯片組成:一種是網(wǎng)絡(luò)接口芯片(NIC),NIC提供了主機系統(tǒng)軟硬件編程接口.相對于上一代互連,NIC的端口速率提高到了14 Gbit/s,并且在功能上進行了擴展,進一步提高了消息速率和數(shù)據(jù)傳輸?shù)目煽啃裕瑸樘岣卟⑿袘?yīng)用的性能和運行穩(wěn)定性提供了良好的支持.另一種是網(wǎng)絡(luò)路由芯片(network router chip,NRC),NRC采用高階路由設(shè)計技術(shù),內(nèi)部集成了24個端口,吞吐率達到5.376 Tbit/s.NRC支持兩種路由協(xié)議,即顯式路由和基于胖樹的多路徑自適應(yīng)路由,可以在大規(guī)模部署條件下,減少網(wǎng)絡(luò)擁塞沖突,提高互連網(wǎng)絡(luò)的吞吐率.
圖2 TH-Express 2+網(wǎng)絡(luò)互連拓撲圖Fig.2 TH-Express 2+network topology
TH-Express 2+互連網(wǎng)絡(luò)實現(xiàn)為三層胖樹拓撲結(jié)構(gòu)(見圖2).采用這種拓撲結(jié)構(gòu)的原因是,胖樹能獲得很高的雙向帶寬,使每個節(jié)點的雙向帶寬等于節(jié)點的注入帶寬.在第一層中,以32個計算節(jié)點作為計算框,接入一塊被稱為NRM的交換板上,形成一級子樹,NRM板上行方向通過20個端口連接葉交換機;在第二層中,葉交換機由一個24口交換板構(gòu)成,其中下行12個光模塊接口接入12個計算框,上行12個光模塊接口接入根交換機.從葉交換機角度來看,上行鏈路和下行鏈路帶寬相等,構(gòu)成帶寬均衡的層次結(jié)構(gòu);在第三層中,根交換機由兩個24口交換板構(gòu)成48端口交換機,每個根交換機連接到48個不同的葉交換機上.葉交換機和根交換機通過一個獨立的路由機柜連接在一起.
在TH-Express 2+互連網(wǎng)絡(luò)的硬件協(xié)議層次中集成了多種通信協(xié)議,使得并行應(yīng)用、網(wǎng)絡(luò)服務(wù)、云平臺服務(wù)和大數(shù)據(jù)應(yīng)用能夠同時運行在天河二號之上.天河二號上的MPI并行編程環(huán)境符合MPI 3.0標準.通過系統(tǒng)實現(xiàn)中采用的一些協(xié)議優(yōu)化技術(shù),有效提高了并行應(yīng)用的可擴展性.在實際性能測試中,MPI的點到點通信延遲少于1μs,帶寬達到12 Gbit/s,而雙向帶寬則達到23 Gbit/s,這為提高大數(shù)據(jù)并行應(yīng)用的運行效率提供了良好的支持.
在TH-Express 2+網(wǎng)絡(luò)體系結(jié)構(gòu)中,底層為基于RDMA[36-37]的物理網(wǎng)絡(luò)結(jié)構(gòu).為了滿足大部分企業(yè)應(yīng)用,尤其是大數(shù)據(jù)應(yīng)用,TH-Express 2+專門設(shè)計了針對TCP/IP協(xié)議的支持機制,以實現(xiàn)在物理節(jié)點或虛擬節(jié)點之間提供基于TCP/IP的高帶寬通信機制.TH-Express 2+ 在RDMA物理網(wǎng)絡(luò)基礎(chǔ)設(shè)施之上虛擬了一套層疊的網(wǎng)絡(luò)通信機制,采用mixed-up和poll packets接收方法高效處理報文.同時,通過地址主動注冊/地址單播查詢機制替代ARP廣播,從而在很大程度上提高了大規(guī)模二層網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)整體性能.另外,在進行TCP/IP傳輸過程中,將TSO[38]數(shù)據(jù)作為一個整體通過底層的RDMA機制進行傳輸,進一步提高了單播通信的處理能力.因此,對于單個通信流,可獲得高達42 Gbit/s的TCP/IP實測帶寬.
圖3 基于TH-Express 2+的TCP/IP協(xié)議Fig.3 TH-Express 2+TCP/IP protocol
RDMA物理層承載多個層疊的虛擬網(wǎng)絡(luò),不同的層疊虛擬網(wǎng)絡(luò)可用于不同目的,如用于虛擬節(jié)點的資源管理和控制、虛擬節(jié)點間的業(yè)務(wù)通信等.最上層通過虛擬化技術(shù)和層疊的虛擬網(wǎng)絡(luò)承載了大量的虛擬機,而大數(shù)據(jù)應(yīng)用和企業(yè)應(yīng)用運行于虛擬機內(nèi).層疊虛擬網(wǎng)絡(luò)可以使單個物理節(jié)點獲得高達42 Gbit/s的TCP/IP實測帶寬,而單個虛擬節(jié)點可獲得高達10 Gbit/s的TCP/IP實測帶寬,也就是說,即使是虛擬節(jié)點間的通信也獲得了萬兆網(wǎng)絡(luò)的通信能力.在第二層互連網(wǎng)絡(luò)中,可管理的節(jié)點規(guī)模超過了8 000個,可很好地滿足云計算大二層網(wǎng)絡(luò)[39]的要求,更有利于資源的彈性分配和調(diào)度.
基于TH-Express 2+的TCP/IP協(xié)議具有以下特征:①高性能.如前文所述,所采用的廣播消除技術(shù)使得ARP地址查詢對大規(guī)模網(wǎng)絡(luò)的影響盡可能小.采用RDMA直接承載TSO數(shù)據(jù),將一次TSO數(shù)據(jù)作為整體發(fā)送,這大大提高了TCP的傳輸能力,使得物理節(jié)點間可獲得42 Gbit/s的單流TCP性能,虛擬節(jié)點間可獲得10 Gbit/s的單流TCP性能.②高可用性.盡管從用戶角度來看,承載網(wǎng)絡(luò)的基礎(chǔ)設(shè)施非常類似于互聯(lián)網(wǎng),但是其內(nèi)部卻采用了不同的工作機制.為了獲得高可用性,對虛擬化設(shè)備如虛擬交換機,采用主備的方式進行容錯.當出現(xiàn)失效時,計算節(jié)點將重新向備用虛擬交換機注冊單播地址和多播成員關(guān)系,以恢復(fù)網(wǎng)絡(luò)基礎(chǔ)信息.③靈活性.通過虛擬網(wǎng)絡(luò)分區(qū)技術(shù),不同的層疊網(wǎng)絡(luò)可獨立地按需創(chuàng)建,并根據(jù)應(yīng)用選擇滿足自身需求的層疊網(wǎng)絡(luò)參數(shù),靈活的網(wǎng)絡(luò)創(chuàng)建機制可滿足多種應(yīng)用的承載需求.
2.3存儲結(jié)構(gòu)優(yōu)化——混合層次式文件系統(tǒng)
大數(shù)據(jù)和超級計算應(yīng)用都驅(qū)動著I/O的發(fā)展,使得I/O瓶頸變得尤為突出.傳統(tǒng)基于對象存儲架構(gòu)的Lustre文件系統(tǒng)是一款被廣泛采用并部署的開源并行文件系統(tǒng),其特點突出,但無法完全滿足各類科學(xué)計算應(yīng)用和大數(shù)據(jù)應(yīng)用的多樣性I/O需求.在大數(shù)據(jù)時代,需要增強超算系統(tǒng)現(xiàn)有的存儲架構(gòu),并采用新的并行I/O技術(shù).因此,其他一些新穎的存儲機制也已部署到天河二號上,如Flash,NVM等.很明顯,用一種并行的文件系統(tǒng)滿足所有的應(yīng)用并不現(xiàn)實,要采用更多靈活的I/O存儲文件系統(tǒng)來滿足不同的大數(shù)據(jù)應(yīng)用需求.
如圖4所示,天河二號系統(tǒng)部署了一種混合的、層次式存儲結(jié)構(gòu),將6.4 PB的本地磁盤用于大數(shù)據(jù)應(yīng)用,由512 TB的SSD盤組成過渡存儲層.該存儲結(jié)構(gòu)用于數(shù)據(jù)密集型的應(yīng)用,讀寫速度達到了1 Tbit/s;而128個集中存儲服務(wù)器負責I/O輸出,讀寫速度達到了100 Gbit/s. SSD快速存儲能提供相當高的I/O性能,能很好地平衡計算和存儲服務(wù)器的I/O需求.
圖4 混合存儲結(jié)構(gòu)Fig.4 Hybrid storage structure
基于混合存儲結(jié)構(gòu),在天河二號系統(tǒng)中設(shè)計實現(xiàn)了混合層次式文件系統(tǒng)(hybrid storage structure,H2FS),該文件系統(tǒng)融合分布的局部存儲資源和基于對象存儲架構(gòu)的共享全局存儲資源,充分利用ION(I/O服務(wù)節(jié)點)的本地存儲,能滿足應(yīng)用程序瞬時I/O操作的性能需求,并將其和全局存儲系統(tǒng)構(gòu)建成一個統(tǒng)一的命名空間,使用戶獲得多類型存儲介質(zhì)的好處,并同時保持使用方式的兼容性.
圖5給出了H2FS結(jié)構(gòu)的關(guān)鍵組件,其中最基本的組件是一個用戶級RDMA通信協(xié)議,用于I/O數(shù)據(jù)傳輸.在TH-Express 2+網(wǎng)絡(luò)上,該組件具有較好的RPC率,使得SSD的性能優(yōu)勢得以充分利用.另外一個組件是混合虛擬命名空間模塊(HVN),它能夠在任務(wù)運行時動態(tài)構(gòu)建輕量化的I/O軟件棧,針對不同應(yīng)用場景的I/O特點,例如寫密集型、讀密集型、元數(shù)據(jù)密集型、小文件或者大文件等特定需求,分別使用相應(yīng)的優(yōu)化方法,有效地加速不同應(yīng)用的I/O過程,這種方法有利于解決在大規(guī)模并發(fā)條件下復(fù)雜I/O棧開銷過大、擴展性受限等問題.
2.4混合計算框架優(yōu)化—-異構(gòu)Map/Reduce框架
隨著高性能協(xié)處理器的迅速發(fā)展,針對異構(gòu)硬件平臺的MapReduce框架在學(xué)術(shù)界和工業(yè)界被廣泛研究和使用.針對天河二號的異構(gòu)結(jié)構(gòu),本研究優(yōu)化設(shè)計了MapReduce框架——MicMR[40](見圖6),使其成為目前第一個支持MIC的大規(guī)模數(shù)據(jù)并行處理框架.考慮系統(tǒng)的縮放性和效率,設(shè)計了能管理不同資源的CPU worker和MIC worker.MIC worker承擔著以下兩部分工作:①負責分發(fā)新任務(wù)到MIC上;②接收來自MIC的計算結(jié)果.由于CPU和MIC具有不同的計算效能,因此所有計算單元動態(tài)獲取任務(wù),以達到負載均衡.
圖5 H2FS結(jié)構(gòu)Fig.5 H2FS structure
圖6 異構(gòu)的Map/Reduce框架Fig.6 Heterogeneous Map/Reduce framework
Reduce worker以并行模式工作,故能夠支持map和reduce同時工作.另外,本研究設(shè)計了一種MIC令牌機制,令牌能隨著MIC協(xié)處理器的狀態(tài)而動態(tài)改變.若MIC協(xié)處理器出現(xiàn)失效,相對應(yīng)的令牌也會刪除,以此有效管理MIC協(xié)處理器.
為了更有效率地利用MIC,本研究設(shè)計了友好的SIMD映射模型,該模型能更充分地利用MIC上的VPUs.模型中的每個數(shù)據(jù)塊被劃分成一個向量,該向量能被VPUs以SIMD的處理模式進行處理.在這個過程中,采用兩種存儲緩存方式來存儲MIC計算后的中間結(jié)果:一種是陣列緩存,這種緩存模式采用獨立的存儲區(qū)域,線程同步?jīng)]有線程鎖,也不支持原子操作;另一種是組合緩存(combine buffer),對于計算結(jié)果的存儲,所有數(shù)據(jù)塊共享相同的存儲區(qū)域.實驗結(jié)果顯示,reduce過程能得到1.1~1.4倍的加速,而SIMD友好映射過程能得到1.0~8.2倍的加速.與常規(guī)的Hadoop相比,不同應(yīng)用在天河二號上能獲得2.4~8.1倍的加速.
目前,天河二號超級計算機在高性能計算領(lǐng)域已經(jīng)取得了很好的效果,隨著海量應(yīng)用在天河二號上聚集,不可避免地會有大量大數(shù)據(jù)應(yīng)用要部署在超級計算機中,構(gòu)成一個大的數(shù)據(jù)中心.首先,通過對應(yīng)用的深入了解,可以更好地利用已有的系統(tǒng),如空氣動力學(xué)、生物工程、大數(shù)據(jù)等,都已經(jīng)取得了很好的效果;其次,為了滿足大數(shù)據(jù)應(yīng)用,大數(shù)據(jù)時代的超級計算機可能融入更多新興的體系結(jié)構(gòu),如眾核/多核、快速存儲/NVM等;再次,更高性能的互連網(wǎng)絡(luò)能有效解決超級計算機部署大數(shù)據(jù)應(yīng)用時的網(wǎng)絡(luò)帶寬瓶頸,包括可重構(gòu)網(wǎng)絡(luò)拓撲技術(shù)和最優(yōu)網(wǎng)絡(luò)互連技術(shù)等.此外,為了滿足更多大數(shù)據(jù)應(yīng)用,層次式的I/O結(jié)構(gòu)也將成為超級計算機的另一個新的技術(shù)儲備.總之,在大數(shù)據(jù)時代,超級計算機的計算類型將由計算密集型逐漸轉(zhuǎn)向數(shù)據(jù)密集型,對其上數(shù)據(jù)及數(shù)據(jù)生命周期的管理變得尤為重要.
[1]Big data and big data analytics:significance for the hardcopy industry[EB/OL].[2015-10-19]. http://www.idc.com/getdoc.jsp?containerId=246831.
[2]IDC's worldwide big data taxonomy[EB/OL].[2015-10-19].http://www.idc.com/getdoc. jsp?containerId=254052.
[3]Graph500[EB/OL].[2015-10-19].http://www.graph500.org.
[4]JING N F,SHEN Y,LU Y,et al.An energy-efficient and scalable eDRAM-based register file architecture for GPGPU[C]//Processing of International Symposiumon Computer Architecture. 2013:344-355.
[5]LAM C H.Storage class memory[C]//Processing of 2010 10th IEEE International Conference on Solid-State and Integrated Circuit Technology(ICSICT).2010:1080-1083.
[6]DHIMAN G,AYOUB R,ROSING T.PDRAM:a hybrid PRAM and DRAM main memory system[C]//Processing of Design Automation Conference.2009:664-669.
[7]HAM T J,CHELEPALLI B K,NENG X,et al.Disintegrated control for energy-efficient and heterogeneous memory systems[C]//Processing of IEEE International Symposium on High Performance Computer Architecture.2013:424-435.
[8]GHEMAWAT S,GOBIOFF H,LEUNG S T.The google file system[C]//Processing of ACM SIGOPS Operating Systems Review.2003:29-43.
[9]HDFS[EB/OL].[2015-10-19].http://hadoop.apache.org/hdfs/docs/current/hdfs design.html.
[10]ADFS[EB/OL].[2015-10-19].http://github.com/taobao/ADFS.
[11]ZHOU W,PIERRE G,CHI C H.Scalable transactions for web applications in the cloud[J].Lecture Notes in Computer Science,2009,5(4):525-539.
[12]DECANDIA G,HASTORUN D,JAMPANI M,et al.Dynamo:amazon's highly available key-value store[J].Proc Sosp,2007,41(6):205-220.
[13]Cassandra[EB/OL].[2015-10-19].http://cassandra.apache.rog.
[14]CHEN C,HSIAO M.Bigtable:a distributed storage system for structured data[C]//Proceedings of OSDI.2006:205-218.
[15]PENG D,DABEK F.Large-scale incremental processing using distributed transactions and notifications[C]//Usenix Symposium on Operating Systems Design and Implementation.2010:4-6.
[16]COOPER B F.Spanner:Google's globally-distributed database[C]//Proceedings of the 6th International Systems and Storage Conference.2013:1-10.
[17]Hbase[EB/OL].[2015-10-19].http://hbase.apache.org/.
[18]OceanBase[EB/OL].[2015-10-19].http://alibaba.github.io/oceanbase.
[19]Memcached[EB/OL].[2015-10-19].http://www.memcached.org/.
[20]Redis[EB/OL].2013-03-25[2015-10-19].http://www.redis.io/.
[21]OUSTERHOUT J,AGRAWAL P,ERICKSON D,et al.The case for RAMCloud[J].Communications of the Acm,2011,54(7):121-130.
[22]HE B S,F(xiàn)ANG W B,LUO Q,et al.Mars:a MapReduce framework on graphics processors [C]//Processing of 17th International Conference on Parallel Architectures and Compilation Techniques(PACT).2008:260-269.
[23]HONG C T,CHEN D H,CHEN W G,et al.MapCG:writing parallel program portable between CPU and GPU[C]//PACT.2010:217-226.
[24]BASARAN C,KANG K D.Grex:an e cient Map/Reduce framework for graphics processing units[J].Journal of Parallel and Distributed Computing,2013,73(4):522-533.
[25]FARIVAR R,VERMA A,CHAN E M,et al.MITHRA:multiple data independent tasks on a heterogeneous resource architecture[C]//Processing of IEEE Conference on Cluster Computing. 2009:1-10.
[26]STUART J A,OWENS J D.Multi-GPU MapReduce on GPU clusters[C]//IPDPS.2011:1068-1079.
[27]LU M,ZHANG L,HUYNH H P,et al.Optimizing the Map/Reduce framework on intel xeon phi coprocessor[C]//2013 IEEE International Conference on Big Data.2013:125-130.
[28]LU M,LIANG Y,HUYNH H,et al.Mrphi:an optimized Map/Reduce framework on intel xeon phi coprocessors[J].IEEE Transactions on Parallel and Distributed Systems,2015,26(11):3066-3078.
[29]ZAHARIA M,CHOWDHURY M,DAS T,et al.Resilient distributed datasets:a fault-tolerant abstraction for in-memory cluster computing[C]//Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation.2012:141-146.
[30]YOO R M,ROMANO A,KOZYRAKIS C.Phoenix rebirth:scalable Map/Reduce on a largescale shared-memory system[C]//Proceedings of IEEE International Symposium on Workload Characterization.2009:198-207.
[31]GATES A F,NATKOVICH O,CHOPRA S,et al.Building a high-level dataflow system on top of Map-Reduce:the Pig experience[C]//Proceedings of the VLDB Endowment 2.2.2009:1414-1425.
[32]THUSOO A,SARMA J S,JAIN N,et al.Hive:a warehousing solution over a map-reduce framework[C]//Proceedings of the VLDB Endowment 2.2.2009:1626-1629.
[33]Taz[EB/OL].[2015-10-19].http://hortonworks.com/blog/introducing-tez-faster-hadoopprocessing/.
[34]PANG Z B,XIE M,ZHANG J,et al.The TH Express high performance interconnect networks[J].Frontiers of Computer Science,2014,8(3):357-366.
[35]LIAO X K,PANG Z B,WANG K F,et al.High performance interconnect network for Tianhe system[J].Journal of Computer Science and Technology,2015,30(2):259-272.
[36]HUANG W,GAO Q,LIU J,et al.High performance virtual machine migration with RDMA over modern interconnects[C]//2007 IEEE International Conference on Cluster Computing.2007:11-20.
[37]GAVRILOVSKA A,KUMAR S,SUNDARAGOPALAN S,et al.Platform overlays:enabling in-network stream processing in large-scale distributed applications[C]//Proceedings of the International Workshop on Network and Operating Systems Support for Digital Audio and Video.2005:171-176.
[38]REGNIER G,MAKINENI S,ILLIKKAL R,et al.TCP onloading for data center servers[J].Computer,2004(11):48-58.
[39]ZHANGQ,CHENGL,BOUTABAR.Cloudcomputing: state-of-the-artandresearch challenges[J].Journal of Internet Services and Applications,2010,1(1):7-18.
[40]WANG W Z,WU Q B,TAN Y S,et al.Optimizing the MapReduce framework for CPU-MIC heterogeneous cluster[C]//2015 International Conference on Advanced Parallel Processing Technology.2015:33-44.
On the challenge for supercomputer design in the big data era
LIAO Xiangke,TAN Yusong,LU Yutong,XIE Min,
ZHOU Enqiang,HUANG Jie
(School of Computer,National University of Defense Technology,Changsha 410073,China)
Because traditional supercomputer is designed for high-performance computing,big data processing applications brings some software and hardware challenges including compute,storage,communication and programming.This paper introduces optimization methods of Tianhe-2 supercomputer system to process big data,such as a new heterogeneous polymorphic architecture,custom high-speed TH-Express 2+interconnection network,hybrid hierarchical storage system and hybrid computing pattern framework.These efforts maybe make help for how to design supercomputers in the age of big data.
big data;supercomputer;Tianhe-2
TP 338
A
1007-2861(2016)01-0003-14
10.3969/j.issn.1007-2861.2015.03.014
2015-12-23
國家高技術(shù)研究發(fā)展計劃(863計劃)資助項目(2013AA01A212)
廖湘科(1963—),男,教授,中國工程院院士,博士生導(dǎo)師,研究方向為超級計算機. E-mail:xkliao@nudt.edu.cn