亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向機器學(xué)習(xí)的分布式并行計算關(guān)鍵技術(shù)及應(yīng)用

        2021-11-30 05:18:56曹嶸暉唐卓左知微張學(xué)東
        智能系統(tǒng)學(xué)報 2021年5期
        關(guān)鍵詞:模型

        曹嶸暉,唐卓,左知微,張學(xué)東

        (1. 湖南大學(xué) 信息科學(xué)與工程學(xué)院, 湖南 長沙 410082; 2. 國家超級計算長沙中心, 湖南 長沙 410082)

        以超級計算、云計算為計算基礎(chǔ)設(shè)施,以大數(shù)據(jù)分析、從海量經(jīng)驗數(shù)據(jù)中產(chǎn)生智能的人工智能2.0時代的浪潮正在襲來[1-2]?;ヂ?lián)網(wǎng)、人工智能應(yīng)用的蓬勃發(fā)展,在海量數(shù)據(jù)的處理分析上面臨巨大的挑戰(zhàn):傳統(tǒng)數(shù)據(jù)平臺的并行計算能力、彈性存儲能力以及智能化數(shù)據(jù)分析能力難以滿足各行業(yè)海量數(shù)據(jù)在采集、存儲和分析上對計算資源的迫切需求[3-6]。數(shù)據(jù)驅(qū)動的人工智能技術(shù)飛速發(fā)展,給互聯(lián)網(wǎng)、智能制造、智慧城市等應(yīng)用領(lǐng)域在數(shù)據(jù)采集、處理和分析框架上帶來了巨大的機會[7-9]。

        與此同時,近年來蓬勃發(fā)展的企業(yè)應(yīng)用、互聯(lián)網(wǎng)應(yīng)用在海量數(shù)據(jù)的處理分析上也面臨巨大的挑戰(zhàn):傳統(tǒng)數(shù)據(jù)平臺的并行計算能力[10]、彈性存儲能力以及智能化數(shù)據(jù)分析能力難以滿足行業(yè)海量數(shù)據(jù)的采集[11]、存儲和分析的需求[12]。

        而目前國內(nèi)人工智能行業(yè)、大數(shù)據(jù)行業(yè)發(fā)展的主要矛盾是:大多數(shù)企業(yè)看得到數(shù)據(jù),但對數(shù)據(jù)如何采集[13]、存儲[14]、分析[15]、提供智能決策等方面缺乏成熟有效的平臺支撐,技術(shù)準(zhǔn)入門檻高[16-17]。

        1)流數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)的處理和分析往往需要動態(tài)可擴展的計算和存儲能力,傳統(tǒng)的以服務(wù)器集群、SQL數(shù)據(jù)庫為主流架構(gòu)的企業(yè)數(shù)據(jù)中心基礎(chǔ)設(shè)施無論在硬件和軟件容量上都不具備實時擴展的能力,很難滿足企業(yè)數(shù)據(jù)處理應(yīng)用對資源的彈性需求[18-19]。

        2)現(xiàn)有的面向非結(jié)構(gòu)化的數(shù)據(jù)存儲架構(gòu)基本上是基于NoSQL分布式文件系統(tǒng),這給傳統(tǒng)的以SQL數(shù)據(jù)庫編程為主要技能的程序員帶來了困擾[20-21]。

        3)現(xiàn)有的傳統(tǒng)企業(yè)基于數(shù)據(jù)庫的分析和處理的應(yīng)用往往不具備按照數(shù)據(jù)分塊進行并行處理的能力。而現(xiàn)有主流并行編程框架對于一般的企業(yè)開發(fā)人員來說又難以短時間掌握。這使得以Hadoop/Spark、Flink等為代表的大數(shù)據(jù)并行存儲和處理框架的應(yīng)用很難得到較大面積的推廣和應(yīng)用[22-24]。

        4)以人工智能經(jīng)典算法、機器學(xué)習(xí)模型為核心的數(shù)據(jù)挖掘框架是目前進行大數(shù)據(jù)分析的主要手段。但對于傳統(tǒng)企業(yè)的開發(fā)人員來說,同樣面臨著人工智能算法門檻太高,難于掌握的困境,使得一般的軟件公司很難組建面向行業(yè)數(shù)據(jù)分析處理和挖掘的研發(fā)團隊[25-26]。

        課題組依托的國家超算長沙中心,作為我國在云計算、大數(shù)據(jù)及行業(yè)應(yīng)用的重大戰(zhàn)略基礎(chǔ)設(shè)施,其核心設(shè)備天河一號超級計算機與云服務(wù)器集群具備PB級的數(shù)據(jù)存儲、并行處理和分析挖掘的能力,能有效解決傳統(tǒng)企業(yè)在面向海量數(shù)據(jù)處理中所遇到的計算、存儲和算法瓶頸。

        面向我國行業(yè)領(lǐng)域?qū)Υ髷?shù)據(jù)并行處理與智能分析技術(shù)和服務(wù)能力提出的迫切需求,本文提出了高效能數(shù)據(jù)并行處理與智能分析系統(tǒng),為相關(guān)行業(yè)提供數(shù)據(jù)存儲、分析和挖掘的智能化云服務(wù),有效降低傳統(tǒng)企業(yè)基于超級計算機、云服務(wù)集群等來實現(xiàn)大數(shù)據(jù)智能分析的使用門檻。該系統(tǒng)有效地突破了數(shù)據(jù)采集、存儲、壓縮、分析、挖掘過程中在數(shù)據(jù)并行處理體系結(jié)構(gòu)、人工智能算法、并行編程模型方面存在的技術(shù)瓶頸,一方面有效發(fā)揮了課題組所依托的國家超級計算長沙中心作為高性能數(shù)據(jù)處理基礎(chǔ)設(shè)施的公共服務(wù)能力,另一方面將為領(lǐng)域企業(yè)提供了行業(yè)數(shù)據(jù)并行處理與智能分析的能力,提升了我國相關(guān)骨干企業(yè)的創(chuàng)新能力。

        1 研究方案

        本文的研究應(yīng)用方案如圖1 所示。

        圖1 本文研究總體框架Fig.1 General introduction of the research

        研究應(yīng)用方案具體包括:

        1)首先針對大多數(shù)云環(huán)境中服務(wù)器內(nèi)存資源平均使用率過低問題,提出了基于服務(wù)器內(nèi)存預(yù)測的虛擬機動態(tài)預(yù)測部署及任務(wù)節(jié)能調(diào)度模型。在此基礎(chǔ)上,針對Hadoop/Spark的數(shù)據(jù)處理過程,設(shè)計并實現(xiàn)了一種面向傾斜數(shù)據(jù)Shuffle過程的任務(wù)調(diào)度策略:一方面通過Reduce任務(wù)放置策略減少Spark/Hadoop集群的內(nèi)部通信量,通過Reducer放置算法來實現(xiàn)任務(wù)本地化,以減少系統(tǒng)的中間數(shù)據(jù)傳輸量。

        2)提出和研發(fā)了分布式異構(gòu)環(huán)境下高效的資源管理系統(tǒng)與節(jié)能調(diào)度算法,針對各種遷移模型的場景,適配性能最優(yōu)的計算資源遷移模型,并基于OpenStack云平臺實現(xiàn)了面向數(shù)據(jù)中心集群的跨域計算資源遷移基礎(chǔ)設(shè)施,能兼容多數(shù)云平臺/數(shù)據(jù)中心虛擬機遷移算法,并支持目前流行的Ceph、KVM(kernel-based virtual machine)等存儲和計算框架,實現(xiàn)了支持計算資源、存儲資源調(diào)度算法的獨立封裝和部署的多數(shù)據(jù)中心資源管理體系結(jié)構(gòu)。在此基礎(chǔ)上,針對當(dāng)前云環(huán)境中服務(wù)器內(nèi)存資源平均使用率過低問題,提出了一種基于服務(wù)器內(nèi)存預(yù)測的分配機制下的虛擬機動態(tài)預(yù)測部署模型VM-DFS(virtual machine dynamic forecast scheduling)。同時針對虛擬機動態(tài)遷移問題,提出了一種基于動態(tài)預(yù)測的虛擬機遷移模型VMDFM(virtual machine dynamic forecast migration),解決了動態(tài)遷移過程中,如何從服務(wù)器上選擇合適的虛擬機進行動態(tài)遷移,從而達到整體節(jié)能的目標(biāo)。

        3)海量數(shù)據(jù)存儲和高并發(fā)用戶訪問需要分布式環(huán)境,但以異構(gòu)眾核等為主要計算部件的參數(shù)訓(xùn)練過程無法適應(yīng)分布式系統(tǒng)。原生的Spark/Flink等分布式數(shù)據(jù)處理框架也無法高效適用于深度學(xué)習(xí)的參數(shù)訓(xùn)練,GPU等高性能計算單元又無法應(yīng)對海量數(shù)據(jù)的分布存儲和計算,且難以支撐高并發(fā)的數(shù)據(jù)訪問。因此,本文針對深度學(xué)習(xí)增量迭代的運算過程,研究迭代過程中的中間共享結(jié)果在GPU內(nèi)存及Cache內(nèi)的存儲和管理以及線程間的共享訪問機制。針對現(xiàn)有流行的分布式大數(shù)據(jù)處理框架,研究其在CPU/GPU異構(gòu)環(huán)境中的體系結(jié)構(gòu)擴展優(yōu)化模型,突破Spark RDD等在GPU環(huán)境中的數(shù)據(jù)結(jié)構(gòu)和體系結(jié)構(gòu)的重新設(shè)計,研究增量迭代過程中計算結(jié)果在GPU線程間以及Spark進程間的共享模型,實現(xiàn)其在異構(gòu)計算環(huán)境下的緩存和持久化。

        4)本文針對DNN(deep neural networks)、CNN(convolutional neural networks)、RNN(recurrent neural network)等典型深度學(xué)習(xí)模型訓(xùn)練中的參數(shù)迭代過程進行了深入研究,總結(jié)出增量迭代發(fā)生的模型、數(shù)據(jù)特征,發(fā)現(xiàn)了其訓(xùn)練過程可以實行增量迭代優(yōu)化的條件和時機,提出了普適性的深度學(xué)習(xí)增量迭代優(yōu)化方法;針對現(xiàn)有Spark/Flink分布式大數(shù)據(jù)處理框架,提出了其在CPU/GPU異構(gòu)環(huán)境中的體系結(jié)構(gòu)擴展優(yōu)化模型,設(shè)計并實現(xiàn)了一種在Spark/Flink計算容器與GPU核心間的高效通信方式,將傳統(tǒng)分布式深度學(xué)習(xí)框架的運行效率提升數(shù)倍。在此基礎(chǔ)上,提出了分布式環(huán)境中的并行條件隨機場模型,將訓(xùn)練效率提升了3.125倍;提出了一種并行維特比算法,減少了計算步驟之間存在冗余的磁盤讀寫開銷和多次資源申請的問題,加速比達到6.5倍。

        2 分布異構(gòu)環(huán)境面向數(shù)據(jù)傾斜的任務(wù)時空調(diào)度

        傾斜是自然界與人類社會中數(shù)據(jù)屬性客觀存在,會造成集群計算節(jié)點負載不均衡、排隊現(xiàn)象/空等待現(xiàn)象普遍存在,集群內(nèi)部吞吐率低下,大幅度降低了系統(tǒng)的實際應(yīng)用效率[27-30]。鑒于此,本文研制了分布異構(gòu)環(huán)境面向數(shù)據(jù)傾斜的任務(wù)時空調(diào)度策略,本地化任務(wù)放置算法,以及分布式并行處理框架中的內(nèi)部數(shù)據(jù)均勻分片方法。形成了面向機器學(xué)習(xí)訓(xùn)練任務(wù)的任務(wù)調(diào)度理論與方法。

        2.1 基于Spark平臺的中間數(shù)據(jù)負載平衡設(shè)計

        自然界中數(shù)據(jù)分布多數(shù)在理論上都是傾斜的,導(dǎo)致傾斜的原因復(fù)雜且無法避免,因此在處理數(shù)據(jù)時,如果沒有精心設(shè)計數(shù)據(jù)劃分或任務(wù)調(diào)度會極大程度地造成計算資源的浪費和系統(tǒng)整體性能偏差。由此可知,數(shù)據(jù)偏斜帶來的負載均衡問題是分布式計算平臺中優(yōu)化的難點和重點[31-33]。對于集群系統(tǒng),數(shù)據(jù)對應(yīng)任務(wù),數(shù)據(jù)偏斜帶來的任務(wù)負載均衡問題會導(dǎo)致分布式系統(tǒng)的資源利用率低、計算執(zhí)行時間長且能耗高。本文基于現(xiàn)有的分布式計算框架Spark,優(yōu)化Spark計算框架下shuffle執(zhí)行過程中bucket容器中的數(shù)據(jù)偏斜導(dǎo)致的負載不平衡問題。本文提出了一種面向中間偏斜數(shù)據(jù)塊的重新劃分和再合并算法,通過兩個重要操作以緩解shuffle操作后reduce任務(wù)中的負載不平衡問題。圖2是SCID系統(tǒng)架構(gòu)模塊,該模塊包含系統(tǒng)中任務(wù)執(zhí)行的流程和shuffle過程。

        在這種分布式集群體系架構(gòu)中,每一個小塊的分片數(shù)據(jù)是文件的組織單位,該分片在HDFS(hadoop distributed file system)中是默認的固定大小。在執(zhí)行一個map任務(wù)時,客戶端的初始數(shù)據(jù)首先被加載到分布式文件系統(tǒng)(HDFS)中,每個文件由多個大小相同的數(shù)據(jù)塊組成,稱為輸入分區(qū)。每個輸入分區(qū)都被映射為一個map任務(wù)。在本文中,使用I?K×V來代表m個map任務(wù)的中間結(jié)果,K和V分別代表鍵和值的集合。一個cluster是某一個key值對應(yīng)的<鍵,值>對的集合,其一個子集為

        在圖2中使用分區(qū)函數(shù) Π決定一個中間元組的分區(qū)號:

        圖2 Spark中shuffle數(shù)據(jù)分布過程Fig.2 Process of shuffle data distribution in Spark

        因此,shuffle過程中map端輸出的中間結(jié)果被劃分為p個大小不同的分區(qū),分區(qū)號根據(jù)元組的鍵值通過hash計算得到。因此所有key相同的元組都會被指向相同的分區(qū),因為它們都屬于一個cluster。分區(qū)是一個包含一個或多個clusters的容器。因此,定義一個分區(qū)為

        基于以上定義,本文提出了一種新穎的Spark作業(yè)負載均衡方法,設(shè)計了一個負載均衡模塊來重新劃分使之實現(xiàn)任務(wù)的均衡劃分。該模塊的執(zhí)行流程如下:在Spark提交作業(yè)后,負載均衡器啟動并分析作業(yè)特點給出均衡分區(qū)策略。該策略在Spark作業(yè)shuffle階段指導(dǎo)系統(tǒng)對中間結(jié)果數(shù)據(jù)進行分割和重組,重組結(jié)果clusters到一個或多個buckers之中,從而實現(xiàn)均衡分區(qū)。本文提出的負載均衡模塊在Spark基礎(chǔ)上設(shè)計,主要包括兩個重要過程,分別為數(shù)據(jù)的采樣和cluster的分割組合,其中在數(shù)據(jù)抽樣階段,重點的是對clusters大小的進行預(yù)測。圖3代表了一種改進的工作流的Spark作業(yè),其中的一個核心組件是負載均衡模塊。

        圖3 架構(gòu)與負載均衡Fig.3 Architecture and load balancing

        在cluster分割重組的過程中,第一要義是分割以bucket的大小作為目標(biāo)進行分割,特別是對于一些超大的clusters應(yīng)該盡量分成多個bucket大小的數(shù)據(jù)塊,方便重組填充的過程。眾所周知,現(xiàn)有的分布式大數(shù)據(jù)處理平臺如Hadoop/Spark體系架構(gòu)中在數(shù)據(jù)處理階段缺乏對計算數(shù)據(jù)的真實分布的清晰認知[34],抽樣數(shù)據(jù)雖然不能保證真實地反映全體數(shù)據(jù)的分布特征,但基于其結(jié)果來近似估計數(shù)據(jù)的整體分布也可以實現(xiàn)較好的結(jié)果。在此基礎(chǔ)上,本文提出了一種改進分局均衡策略來緩解現(xiàn)有分布式并行計算框架中的數(shù)據(jù)偏斜問題。

        2.2 面向分布式處理的抗數(shù)據(jù)傾斜分片機制

        隨著大數(shù)據(jù)時代的到來,信息爆炸使得數(shù)據(jù)的規(guī)模和復(fù)雜度都在增長,大數(shù)據(jù)并行計算中數(shù)據(jù)偏斜問題也日趨嚴重,成為一個亟需解決的問題。目前,大數(shù)據(jù)處理主流框架中對抗數(shù)據(jù)偏斜的能力都普遍較弱[35-37]。普適性的分布式并行計算框架中通常假設(shè)數(shù)據(jù)在計算過程中是均勻分布的,這跟現(xiàn)實數(shù)據(jù)的分布特征背向而馳。嚴重的數(shù)據(jù)偏斜程度會使集群計算系統(tǒng)的計算能力直線下降,引發(fā)資源利用率低和任務(wù)執(zhí)行過慢等問題。鑒于此,本文提出了一種密鑰重分配和分裂分區(qū)算法(SKRSP)來解決分區(qū)傾斜,該算法同時考慮了中間數(shù)據(jù)的分區(qū)平衡和shuffle算子后的分區(qū)平衡。SKRSP策略的整體架構(gòu)如圖4所示。

        圖4 SKRSP整體架構(gòu)Fig.4 General introduction to SKRSP

        SKRSP整體框架包含了兩個主要部分:中間數(shù)據(jù)分布預(yù)測、分片策略的生成與應(yīng)用。

        1)為了避免reduce任務(wù)之間的數(shù)據(jù)偏斜,需要在shuffle階段之前估計中間數(shù)據(jù)的key分布。因此,必須在常規(guī)作業(yè)之前輸入地圖任務(wù)時啟動先前的示例作業(yè)。本文在不同的分區(qū)上并行實現(xiàn)了基于步驟的拒絕采樣算法。所有的樣本和對應(yīng)的采樣率都是從不同的map splits中收集的,它們構(gòu)成了通過采樣率計算每個key的權(quán)重的輸入。在此基礎(chǔ)上,可以估計中間數(shù)據(jù)的一般key分布。

        2)分片策略的生成與應(yīng)用。本系統(tǒng)根據(jù)Spark作業(yè)的具體應(yīng)用場景,采用不同的方法生成分配策略。對于這些屬于排序類的應(yīng)用程序,提出了KSRP算法來確定加權(quán)邊界。最終的key重新分配策略可以通過其他 KRHP算法獲得。具體來說,采樣中間數(shù)據(jù)key的分布是系統(tǒng)用于決策分區(qū)策略的依據(jù)。一方面,如果操作結(jié)果無需排序,基于hash的key cluster分片方法將被采用;另一方面,如果操作結(jié)果是需要進行排序,基于range的key cluster分片策略將被采用。因此,就得到了不同的分片策略。在shuffle寫數(shù)據(jù)的階段,在上一個步驟中獲得的分片策略會指導(dǎo)每個對其進行分區(qū)計算,從而獲得其reduce端的分區(qū)ID號。該ID號就是每個map任務(wù)計算后的中間輸出結(jié)果,需要寫到磁盤的順序位置。最終這些中間結(jié)果生成一個數(shù)據(jù)文件和索引文件。在數(shù)據(jù)文件中,一個數(shù)據(jù)段(segement)是一塊索引號相同的區(qū)域。接下來進入shuffle的讀階段,每個reduce任務(wù)將從各個map任務(wù)執(zhí)行的節(jié)點上根據(jù)索引文件拉取數(shù)據(jù)。也就是說,具有相同reduce索引號的鍵值對數(shù)據(jù)組成一個reduce分區(qū),將被一個對應(yīng)的reduce任務(wù)處理。經(jīng)過這樣的過程,上一步生成的分片策略便應(yīng)用到了Shuffle過程中實際的數(shù)據(jù)劃分中來。

        在實際的Spark集群上對SKRSP算法進行了評估,并與其他算法進行了對比實驗如表1。在采樣率為3.3%的情況下,SKRSP算法明顯優(yōu)于其他采樣方法,且誤差小于LIBRA,僅為70。

        表1 采樣精確度實驗結(jié)果Table 1 Experimental results of sampling accuracy

        3 分布式異構(gòu)環(huán)境下高效的資源管理系統(tǒng)與節(jié)能調(diào)度

        3.1 分布式異構(gòu)環(huán)境下的計算資源跨域遷移

        數(shù)據(jù)中心等分布式異構(gòu)基礎(chǔ)設(shè)施已經(jīng)成為現(xiàn)代各行各業(yè)的基礎(chǔ)建設(shè),從為中小型公司提供業(yè)務(wù)支撐數(shù)據(jù)機房,到大型IT 公司的IDC(internet data center)[38-39]。然而服務(wù)中斷、資源屬性等特性對資源跨域遷移的需求越來越大。結(jié)合項目組提出的多云資源級聯(lián)平臺,本文基于OpenStack實現(xiàn)了一個面向數(shù)據(jù)中心集群的跨域計算資源遷移基礎(chǔ)設(shè)施,實現(xiàn)了多云環(huán)境下VM(virtual machine)跨域遷移,有效地滿足一種或多種用戶、資源需求,并在此基礎(chǔ)上實現(xiàn)了支持計算資源、存儲資源調(diào)度算法的獨立封裝和部署的多數(shù)據(jù)中心資源管理體系結(jié)構(gòu)。該結(jié)構(gòu)如圖5所示。

        如圖5所示,如若需要將VM從Pod 1 遷移到多元環(huán)境下的Pod 2下,首先Pod 1的計算組件Nova 需要向頂層OpenStack云平臺發(fā)送遷移消息,頂層OpenStack 收到該消息后交予Nova APIGW 處理,并發(fā)送給MSG.Bus ,為發(fā)送給Cascading Manager 其他模塊做準(zhǔn)備。隨后,Nova APIGW 通過消息隊列將該遷移信息發(fā)送給數(shù)據(jù)庫,請求修改資源路由表中相關(guān)資源信息。同時,也通過異步作業(yè)機制給遷移的目的云實例發(fā)送遷移消息。VM 遷移的目的云實例接到該請求后發(fā)送給Pod 2 的計算組件Nova 。在多云架構(gòu)頂層為遷移做資源管理信息修改時,底層的兩個云實例之間完成虛擬機冷遷移所需鏡像文件和內(nèi)存數(shù)據(jù)的傳輸。

        圖5 跨域VM遷移機制Fig.5 Cross-domain VM migration mechanism

        該架構(gòu)在真實多云環(huán)境下進行了實驗,實驗結(jié)果證明了該架構(gòu)的有效性和高效性,提升跨域資源的使用效率。此外,在多云平臺上的用戶使用過程中,該架構(gòu)也能有效地降低因虛擬機突發(fā)遷移帶來的用戶宕機體驗率。

        3.2 基于服務(wù)器內(nèi)存預(yù)測的虛擬機分配機制

        通過對云環(huán)境下虛擬機部署方式的研究,針對現(xiàn)有云服務(wù)器中的內(nèi)存使用率低導(dǎo)致各類資源平均使用率過低[40-41],本文提出一種新型虛擬機部署機制VM-DFS,基于云服務(wù)器內(nèi)存預(yù)測下的虛擬機動態(tài)部署模型。該模型考慮虛擬機運行過程對云服務(wù)器內(nèi)存消耗的動態(tài)變化,結(jié)合虛擬機部署已有的研究方案,將部署過程構(gòu)建為某一類裝箱模型,在此基礎(chǔ)上,再結(jié)合FFD(first-fit decreasing)算法對虛擬機部署算法近似求解;與此同時,虛擬機部署過程中結(jié)合內(nèi)容等資源的預(yù)測機制,通過對各個虛擬機歷史內(nèi)存消耗數(shù)據(jù)的統(tǒng)計分析,使用基于時間序列的自回歸二階模型進行內(nèi)存動態(tài)預(yù)測。在滿足各個虛擬機對內(nèi)存SLA (service level agreement)要求的前提下減少服務(wù)器的啟動數(shù)量。并對每個服務(wù)器的內(nèi)存分配設(shè)置一個閾值Lm,設(shè)置平衡因子r作為超過閾值的過載比例。實驗結(jié)果顯示,VM-DFS算法能夠在滿足SLA要求的前提下,提高服務(wù)器內(nèi)存資源使用率。

        在此基礎(chǔ)上,為確保云環(huán)境中內(nèi)存資源的Qos要求,當(dāng)物理服務(wù)器內(nèi)存消耗r值時,需要進行虛擬機的動態(tài)遷移。鑒于此,本文提出一種新型虛擬機動態(tài)遷移模型(virtual machine dynamic forecast migration, VM-DFM),該算法解決了在虛擬機的動態(tài)遷移過程中,如何從“熱點”服務(wù)器上待遷移虛擬機列表中選擇合適的虛擬機進行動態(tài)遷移。

        4 適應(yīng)于機器學(xué)習(xí)/深度學(xué)習(xí)算法迭代的分布式異構(gòu)環(huán)境構(gòu)建

        針對機器學(xué)習(xí)/深度學(xué)習(xí)算法迭代過程中的算力、架構(gòu)瓶頸及計算效率低等問題[42-43]。提出了普適性的深度學(xué)習(xí)增量迭代優(yōu)化方法;針對現(xiàn)有Spark/Flink分布式大數(shù)據(jù)處理框架,在此基礎(chǔ)上提出了其在CPU/GPU異構(gòu)環(huán)境中的體系結(jié)構(gòu)擴展優(yōu)化模型,設(shè)計并實現(xiàn)了一種在Spark/Flink計算容器與GPU核心間的高效通信方式,解決了分布式異構(gòu)環(huán)境中的計算效率問題。

        4.1 機器學(xué)習(xí)/深度學(xué)習(xí)增量迭代優(yōu)化方法

        眾所周知,算力一直以來是人工智能發(fā)展的最大瓶頸。以異構(gòu)眾核等高性能處理器為主要計算部件的機器學(xué)習(xí)/深度學(xué)習(xí)參數(shù)訓(xùn)練過程并不適用于分布式系統(tǒng),傳統(tǒng)的機器學(xué)習(xí)算法因其無法保證數(shù)據(jù)分片分開訓(xùn)練是否能與整體集中訓(xùn)練結(jié)果保持一致,需要在分布環(huán)境下進行并行優(yōu)化與適應(yīng)性改進。

        鑒于此,本文針對分布式機器學(xué)習(xí)體系結(jié)構(gòu)中的并行優(yōu)化問題,提出了機器學(xué)習(xí)/深度學(xué)習(xí)增量迭代優(yōu)化模型及其分布式異構(gòu)CPU/GPU集群體系結(jié)構(gòu)的優(yōu)化設(shè)計方法。在此基礎(chǔ)上,針對DNN/CNN/RNN等典型深度學(xué)習(xí)模型訓(xùn)練中的參數(shù)迭代過程,通過總結(jié)增量迭代發(fā)生的模型、數(shù)據(jù)特征,揭示了其訓(xùn)練過程可以實行增量迭代優(yōu)化的條件和時機等客觀規(guī)律,提出了普適性的深度學(xué)習(xí)增量迭代優(yōu)化方法;提出并實現(xiàn)了一種在Spark/Flink計算容器與GPU核心間的高效通信方式,在兼具各個節(jié)點GPU/MIC眾核計算能力的同時,利用分布式組件間的通信協(xié)議完成了各個服務(wù)器節(jié)點的協(xié)同運算。

        4.2 分布式異構(gòu)CPU/GPU集群體系結(jié)構(gòu)的優(yōu)化設(shè)計方法

        考慮到目前Spark分布式框架無法有效利用計算節(jié)點上的多GPU[42],本文提出了MGSpark系統(tǒng):一個CPU-GPU分布式異構(gòu)環(huán)境下多GPU工作負載均衡的計算框架。MGSpark系統(tǒng)能有效地將GPUs融入到Spark框架中,充分挖掘計算節(jié)點上的多GPU的計算能力,使集群中的GPUs工作負載達到均衡,如圖6所示。

        圖6 MGSpark系統(tǒng)架構(gòu)Fig.6 System architecture of MGSpark

        本文建立了與原有Spark RDD(resilient distributed datasets)編程模型相兼容的GPU加速的編程模型,使編程人員創(chuàng)建GPUs加速的Spark應(yīng)用程序更加簡便。為了優(yōu)化主機端和設(shè)備端的數(shù)據(jù)通信,MGSpark提出了一個多GPU環(huán)境下的異步JVM-GPU數(shù)據(jù)傳輸方案。

        MGSpark架構(gòu)與Spark運行時相兼。因此Spark的任務(wù)調(diào)度和錯誤恢復(fù)機制被保留下來。Standalone模式下的MGSpark系統(tǒng)框架如圖7所示,保留著Spark運行時的所有組件(DAGScheduler、TaskScheduler、 excutor)。作者還擴展了RDD模型來融合GPU和Spark的計算模型,以方便編程人員使用擴展的RDD編程模型來創(chuàng)建MGSpark應(yīng)用程序,并使用GPUs進行加速。新增加的系統(tǒng)組件是MGTaskScheduler,它駐留在每個Worker節(jié)點上。MGTaskScheduler負責(zé)將excutor上的Tasks卸載到節(jié)點上的GPUs上執(zhí)行,進行多GPUs工作負載均衡調(diào)度。

        圖7 PRF決策樹模型訓(xùn)練過程的任務(wù)DAG模型Fig.7 Task DAG model of PRF decision tree model training process

        使用擴展的RDD編程模型所創(chuàng)建的MGSpark應(yīng)用程序在Client節(jié)點上被提交。Master為應(yīng)用程序分配所需的集群資源,主要包括內(nèi)存和CPU資源。一個DAG graph根據(jù)RDDs之間的依賴關(guān)系被創(chuàng)建。DAG-Schedule將DAG圖劃分為多個有先后順序的stage。每個stage劃分為一系列可以并發(fā)的Tasks通過Task-Scheduler。Task-Scheduler 根據(jù)集群每個節(jié)點資源狀態(tài)調(diào)度Tasks到workers的進程上執(zhí)行。與源生Spark框架不同(在Spark中GPU不能被識別和使用,Tasks必須被調(diào)度到CPU),MGspark Tasks可以將計算與將要處理的數(shù)據(jù)卸載到GPUs上去進行加速通過MGTaskScheduler組件。

        在此基礎(chǔ)上,本文提出了基于CUDA流的異構(gòu)任務(wù)執(zhí)行模型(MGMS),可以充分平衡GPUs工作負載。并且將MGMS模型整合到最新版本的Spark分布式計算框架中開發(fā)了MGSpark計算框架。

        Task是Spark的最小調(diào)度和并發(fā)執(zhí)行單元,每個Task需要順序處理一個Partition的數(shù)據(jù)量。但是由于各個Partition之間的數(shù)據(jù)量不一樣,特別是執(zhí)行完shuffle類的算子,partition之間的數(shù)據(jù)量差別更為明顯。為了利用GPUs進行加速,將Tasks卸載到設(shè)備端形成GTasks。如果將GTask作為一個最小執(zhí)行單元分配設(shè)備資源:設(shè)備內(nèi)存資源和CUDA流資源,調(diào)度到GPUs上去執(zhí)行,會造成計算節(jié)點上各個GPU之間的工作負載不均衡。為了能平衡計算節(jié)點上各個GPU之間的工作負載,本文提出了一個任務(wù)分解執(zhí)行模型。該模型主要包括兩個部分:自動數(shù)據(jù)切片機制和自動任務(wù)分解機制。

        5 面向機器學(xué)習(xí)/圖迭代算法的分布式并行優(yōu)化

        針對機器學(xué)習(xí)/圖迭代算法過程中的分布式并行優(yōu)化中的計算效率等問題[43-44]。提出了面向機器學(xué)習(xí)算法的分布式并行優(yōu)化模型、分布式環(huán)境中的并行條件隨機場模型、并行維特比算法、基于冗余距離消除和極端點優(yōu)化的數(shù)據(jù)聚類方法。解決了機器學(xué)習(xí)分布式優(yōu)化的問題,突破了大規(guī)模高效能數(shù)據(jù)并行處理系統(tǒng)的算力瓶頸。

        5.1 分布式環(huán)境中的并行條件隨機場模型

        條件隨機場(conditional random fields)是一種概率圖模型[45-46]。它是一種機器學(xué)習(xí)算法,需要多次迭代。條件隨機場在標(biāo)記或分析序列數(shù)據(jù)方面發(fā)揮了重要作用,并取得了顯著的效果。條件隨機場結(jié)合了最大熵模型和隱馬爾可夫模型的特點,但隱馬爾可夫模型不能直接看到其狀態(tài),不能應(yīng)用復(fù)雜的特征。然而,根據(jù)這一思想,條件隨機場模型可以很好地應(yīng)用于依賴長距離和使用重疊特征的特征。同時,條件隨機場可以解決其他判別模型中的標(biāo)注偏差問題。為此,本文提出了一種基于Spark的改進條件隨機場模型(SCRFs),重點提高算法處理大數(shù)據(jù)的效率。該模型有以下創(chuàng)新:為了加快速度,將迭代過程中多次使用的中間數(shù)據(jù)緩存到內(nèi)存中;利用特征哈希的方法降低特征的維數(shù);對于梯度更新策略,本文選擇Batch-SGD?;谏鲜鰟?chuàng)新,可以有效地提高處理的時間效率。

        參數(shù)估計是條件隨機場模型中最重要的階段。在處理大規(guī)模數(shù)據(jù)時,模型的訓(xùn)練時間會大大增加,需要花費大量的學(xué)習(xí)時間。大量實驗表明,LBFGS的第一步是訓(xùn)練過程中的主要環(huán)節(jié)。LBFGS約90%的計算消耗處于第一步。如果能加快第一步,整個訓(xùn)練過程的時間就會明顯減少。因此,條件隨機場訓(xùn)練過程的并行化主要是并行計算目標(biāo)梯度。

        通過式(3)可以得出第1部分是給定任意一個數(shù)據(jù),特征fk的經(jīng)驗分布期望??梢悦枋鰹?/p>

        第2部分是特征fk的模型的期望分布:

        經(jīng)過簡單的替換,得到:

        在求特征fk的模型的期望分布的時候需要用到前面的sum-product信念傳播算法,sumproduct能推斷出模型的各邊際分布概率。

        然后根據(jù)式(7)可以直接求出各特征的模型的期望分布。

        但是當(dāng)使用原生的sum-product信念傳播算法的時候,會出現(xiàn)數(shù)值溢出的問題。這是因為條件隨機場擁有非常大的參數(shù)量,但是這些參數(shù)中許多參數(shù)對應(yīng)的權(quán)重系數(shù)卻很小,這樣就導(dǎo)致了模型推斷中不斷進行sum-product操作,會因為數(shù)值過小溢出。為了解決這個問題,將原來的數(shù)值空間轉(zhuǎn)換到log空間,sum就變成了相應(yīng)的logsumexp,product就變成了求和。而且logsumexp不能直接簡單地對各值先取exp再sum最后再取log,因為對于很小或者很大的數(shù)值,直接計算會溢出。相應(yīng)的解決方法為

        這對任意a都成立,這意味著可以自由地調(diào)節(jié)指數(shù)函數(shù)的指數(shù)部分,一個典型的做法是取xi的最大值:

        這樣就保證指數(shù)最大不會超過0,于是就不會上溢。即便剩余的部分下溢了,也能夠得到一個合理的值。

        5.2 基于分布式機器學(xué)習(xí)的系統(tǒng)威脅感知模型

        為了提高RF算法的性能,有效解決分布式計算環(huán)境下大規(guī)模RF算法執(zhí)行過程中的數(shù)據(jù)通信開銷和工作負載不均衡等問題,本文將改進的隨機森林分類算法在Apache Spark云計算平臺上進一步并行優(yōu)化,提出一種基于Apache Spark的并行隨機森林 (parallel random forest,PRF) 算法。

        PR模型的每棵元決策樹都是相互獨立構(gòu)建的,而且元決策樹的每個樹節(jié)點也是獨立劃分的。PRF 模型和各個決策樹模型的結(jié)構(gòu)使得它們訓(xùn)練過程中的計算任務(wù)具有天然的可并行性。

        PRF的雙層并行訓(xùn)練過程:在雙層并行訓(xùn)練方法中,并行訓(xùn)練隨機森林模型中各元素決策樹模型的構(gòu)建過程和各元素決策樹各節(jié)點的分裂過程。由于每個PRF模型中的每個元決策樹都是通過每個訓(xùn)練子集的獨立訓(xùn)練來構(gòu)建的,所以每個決策樹之間不存在邏輯依賴和數(shù)據(jù)依賴。因此,在外部并行訓(xùn)練中,將訓(xùn)練數(shù)據(jù)集隨機采樣到K個訓(xùn)練子集中,分別對這些訓(xùn)練子集進行并行訓(xùn)練,構(gòu)建相應(yīng)的K元素決策樹模型。在每個元決策樹的構(gòu)建過程中,通過計算當(dāng)前特征子集的信息增益率來完成每個節(jié)點的分裂過程,同一層次節(jié)點的分裂過程不存在邏輯依賴和數(shù)據(jù)依賴。因此,在內(nèi)層并行訓(xùn)練中,對每棵決策樹中的同一級節(jié)點,分別對當(dāng)前訓(xùn)練子集的M個特征變量同時計算,以實現(xiàn)節(jié)點并行分裂。

        在PRF模型的每棵元決策樹的訓(xùn)練過程中有多種計算任務(wù),本節(jié)根據(jù)各計算任務(wù)所需的數(shù)據(jù)資源和數(shù)據(jù)通信成本,將這些計算任務(wù)分為信息增益率計算任務(wù)和節(jié)點分裂任務(wù)2類。

        每個決策樹模型的訓(xùn)練任務(wù)DAG包含了對應(yīng)于決策樹模型節(jié)點級的多個任務(wù)階段。數(shù)據(jù)特征降維后,操作階段 1 將為m個輸入特征變量生成m個TGR任務(wù)(TGR1.1~TGR1.m)。這些TGR任務(wù)負責(zé)計算對應(yīng)特征變量的信息熵、自分解信息、信息增益和信息增益率,并將計算結(jié)果提交給TNS 1任務(wù)。TNS 1任務(wù)負責(zé)尋找最優(yōu)的拆分特征,并對當(dāng)前決策樹模型的第一個樹節(jié)點進行拆分。假設(shè)y1是當(dāng)前階段的最佳分裂特征,y1的取值范圍為 {v01,v02,v03},則第1個樹節(jié)點由特征y1構(gòu)成,并且生成3個子節(jié)點,如圖7所示。拆分樹節(jié)點后,TNS 1任務(wù)的中間結(jié)果被分配到相應(yīng)的計算節(jié)點,以便各計算節(jié)點并行計算該決策樹的下一級節(jié)點分裂。所發(fā)送的中間結(jié)果包括分裂特征的信息和各個取值{v01,v02,v03}所對應(yīng)的數(shù)據(jù)索引列表。

        在作業(yè)階段2中,由于y1是分裂特征,已經(jīng)在第1個節(jié)點中被使用,因此接下來根據(jù) TNS 1的結(jié)果為其他特征子集生成新的TGR任務(wù)。根據(jù){v01,v02,v03}的數(shù)據(jù)索引列表,每個特征子集將對應(yīng)不超過3個TGR任務(wù)。然后將任務(wù)的結(jié)果提交給任務(wù)TNS 2.1,用于拆分相同的樹節(jié)點。其他樹節(jié)點和其他階段中的任務(wù)也以類似方式執(zhí)行。這樣,每個決策樹模型訓(xùn)練過程分別建立相應(yīng)的DAG任務(wù)調(diào)度圖,即PRF模型的k棵決策樹,分別建立k個DAG任務(wù)調(diào)度圖。

        本文提出的雙層并行訓(xùn)練方法,分別在隨機森林模型中的決策樹層面和各樹的節(jié)點層面進行并行化訓(xùn)練。在數(shù)據(jù)量大的情況下,可以減少模型的訓(xùn)練時間。當(dāng)數(shù)據(jù)量增加時,PRF 的性能優(yōu)勢更為明顯。

        6 高效能數(shù)據(jù)并行處理與分析系統(tǒng)

        融合上述4項分布式并行計算關(guān)鍵技術(shù),本文進一步研發(fā)了高效能數(shù)據(jù)處理與智能分析系統(tǒng),并以天河超級計算機作為主要高性能計算資源池。針對超算調(diào)度系統(tǒng)中涉及數(shù)據(jù)的實際特征較少的困難,研制異構(gòu)并行環(huán)境時空任務(wù)調(diào)度子系統(tǒng),解決調(diào)度過程中的資源感知差的問題;針對超算調(diào)度系統(tǒng)中的資源跨域分配難、策略固定等困難,研制高性能計算資源池及子系統(tǒng),解決超算平臺上的資源自適應(yīng)低等問題;針對超算平臺中缺乏適應(yīng)超算異構(gòu)并行的機器學(xué)習(xí)算法庫等缺陷,提出了大數(shù)據(jù)并行處理與建模子系統(tǒng),解決了超算算法庫中的資源、算力浪費等問題。該系統(tǒng)的研制初步解決了在異構(gòu)并行超算上構(gòu)建大數(shù)據(jù)與人工智能應(yīng)用環(huán)境的問題,有效降低傳統(tǒng)企業(yè)基于超級計算機、云服務(wù)集群等來實現(xiàn)大數(shù)據(jù)智能分析的使用門檻。高效能數(shù)據(jù)并行處理與分析系統(tǒng)如圖8所示。

        圖8 高效能數(shù)據(jù)并行處理與分析系統(tǒng)Fig.8 High-performance data parallel processing and analysising system

        7 結(jié)束語

        算力是人工智能應(yīng)用落地的關(guān)鍵,一直以來是人工智能發(fā)展的最大瓶頸。在國家自然科學(xué)基金重點項目等課題的資助下,本文從基礎(chǔ)理論研究、關(guān)鍵技術(shù)突破,到面向領(lǐng)域應(yīng)用的智能分析系統(tǒng)的研制和應(yīng)用,形成了面向機器學(xué)習(xí)的分布式并行計算關(guān)鍵技術(shù)體系,研制了高效能數(shù)據(jù)并行處理與分析系統(tǒng)。該系統(tǒng)及相關(guān)研究成果,支撐了中國工程科技知識中心建設(shè)項目、廣鐵集團列車故障快速自動檢測與分析系統(tǒng)等多項國家及行業(yè)應(yīng)用項目中大數(shù)據(jù)和智能算法平臺的研制,解決了其算力瓶頸,有力促進了我國人工智能應(yīng)用技術(shù)進步,推動了我國制造、交通、教育、醫(yī)療等行業(yè)智能軟件產(chǎn)品的跨越式發(fā)展。項目成果成為了聯(lián)想、證通電子、東華軟件、天聞數(shù)媒等上市公司和行業(yè)龍頭企業(yè)行業(yè)大數(shù)據(jù)與智能計算產(chǎn)品的核心組件,解決了其大規(guī)模任務(wù)調(diào)度與資源管理、數(shù)據(jù)并行處理與智能分析等關(guān)鍵問題。

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機模型
        提煉模型 突破難點
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        3D打印中的模型分割與打包
        亚洲成色www久久网站夜月| 偷拍一区二区三区四区视频| 99久久精品无码一区二区毛片| 日韩亚洲欧美中文在线| 亚洲成av人最新无码| 免费人成视频欧美| 国产在线精品观看一区二区三区| 无码人妻精品一区二区三区夜夜嗨 | 精品人妻av区乱码| 无码人妻少妇色欲av一区二区| 久久尤物av天堂日日综合| 久久中文字幕av一区二区不卡 | 日韩一区二区中文天堂| 精品久久久久久亚洲综合网| 玩弄少妇高潮ⅹxxxyw| 免费二级毛片在线播放| 蜜桃视频网址在线观看| 亚洲av中文无码字幕色本草| 色婷婷久久综合中文久久蜜桃av| 99久久超碰中文字幕伊人| 亚洲av推荐网站在线观看| 日本污ww视频网站| 国产乱妇乱子视频在播放| 久国产精品久久精品国产四虎| 国产精品高湖呻呤久久av| 国产美女爽到喷出水来视频| 国产免费又色又爽又黄软件| 亚洲av福利天堂在线观看 | 豆国产96在线 | 亚洲| 久久老子午夜精品无码怎么打| 久久亚洲午夜牛牛影视| 亚洲精品在线一区二区| 中文字幕日韩精品一区二区三区 | 国产高潮流白浆免费观看不卡 | 偷窥偷拍一区二区三区| 四虎国产成人永久精品免费| 亚洲 欧美 激情 小说 另类| 亚洲精品午夜精品国产| 日本黑人乱偷人妻在线播放| 午夜无码伦费影视在线观看| 老熟妇Av|