一種面向深度學(xué)習(xí)的cpu與gpu混合的集群架構(gòu)系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)高性能計(jì)算技術(shù)領(lǐng)域,特別是涉及一種面向深度學(xué)習(xí)的CPU與GPU混合的集群架構(gòu)系統(tǒng)。
【背景技術(shù)】
[0002]在2006年,加拿大多倫多大學(xué)教授、機(jī)器學(xué)習(xí)領(lǐng)域泰斗--Geoffrey Hinton和他的學(xué)生Ruslan Salakhutdinov在頂尖學(xué)術(shù)刊物《科學(xué)》上發(fā)表了一篇文章,開(kāi)啟了深度學(xué)習(xí)在學(xué)術(shù)界和工業(yè)界的浪潮。自2006年以來(lái),深度學(xué)習(xí)在學(xué)術(shù)界持續(xù)升溫。斯坦福大學(xué)、紐約大學(xué)、加拿大蒙特利爾大學(xué)等成為研究深度學(xué)習(xí)的重鎮(zhèn)。2010年,美國(guó)國(guó)防部DARPA計(jì)劃首次資助深度學(xué)習(xí)項(xiàng)目,參與方有斯坦福大學(xué)、紐約大學(xué)和NEC美國(guó)研究院。支持深度學(xué)習(xí)的一個(gè)重要依據(jù),就是腦神經(jīng)系統(tǒng)的確具有豐富的層次結(jié)構(gòu)。一個(gè)最著名的例子就是Hubel-Wiesel模型,由于揭示了視覺(jué)神經(jīng)的機(jī)理而曾獲得諾貝爾醫(yī)學(xué)與生理學(xué)獎(jiǎng)。除了仿生學(xué)的角度,目前深度學(xué)習(xí)的理論研究還基本處于起步階段,但在應(yīng)用領(lǐng)域已顯現(xiàn)出巨大能量。2011年以來(lái),微軟研究院和Google的語(yǔ)音識(shí)別研究人員先后采用DNN技術(shù)降低語(yǔ)音識(shí)別錯(cuò)誤率20%?30%,是語(yǔ)音識(shí)別領(lǐng)域十多年來(lái)最大的突破性進(jìn)展。2012年,DNN技術(shù)在圖像識(shí)別領(lǐng)域取得驚人的效果,在ImageNet評(píng)測(cè)上將錯(cuò)誤率從26%降低到15%。在這一年,DNN還被應(yīng)用于制藥公司的Druge Activity預(yù)測(cè)問(wèn)題,并獲得世界最好成績(jī),這一重要成果被《紐約時(shí)報(bào)》報(bào)道。
[0003]如今Google、微軟、百度等知名的擁有大數(shù)據(jù)的高科技公司爭(zhēng)相投入資源,占領(lǐng)深度學(xué)習(xí)的技術(shù)制高點(diǎn),正是大數(shù)據(jù)時(shí)代來(lái)臨,更加復(fù)雜且更加強(qiáng)大的深度模型能深刻揭示海量數(shù)據(jù)里所承載的復(fù)雜而豐富的信息,并對(duì)未來(lái)或未知事件做更精準(zhǔn)的預(yù)測(cè)。深度學(xué)習(xí)應(yīng)用包括語(yǔ)音識(shí)別、圖像識(shí)別、自然語(yǔ)言處理、搜索廣告CTR預(yù)估等,這些應(yīng)用的計(jì)算量十分巨大,其需要大規(guī)模計(jì)算。
[0004]目前大規(guī)模的深度學(xué)習(xí)系統(tǒng)由純CPU集群架構(gòu)組成,或者由純GPU集群架構(gòu)組成,但是采用純CPU集群架構(gòu)系統(tǒng),它完全由CPU構(gòu)成,需要消耗大量的CPU能耗,資源耗能太大,而且CPU集群只能處理一種應(yīng)用特征的深度學(xué)習(xí),不能處理其他種類的深度學(xué)習(xí)應(yīng)用,處理深度學(xué)習(xí)應(yīng)用的效率太低,而且CPU本身硬件成本就很高,整個(gè)CPU集群的成本太高。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供一種面向深度學(xué)習(xí)的CPU與GPU混合的集群架構(gòu)系統(tǒng),以實(shí)現(xiàn)減少資源耗能,提高深度學(xué)習(xí)處理效率,且降低成本。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種面向深度學(xué)習(xí)的CPU與GPU混合的集群架構(gòu)系統(tǒng),該系統(tǒng)包括:
[0007]中央處理器CPU集群,用于運(yùn)行邏輯密集的深度學(xué)習(xí)應(yīng)用;所述CPU集群包括至少1024個(gè)CPU節(jié)點(diǎn),每個(gè)CPU節(jié)點(diǎn)包括兩個(gè)CPU,所述CPU集群中每個(gè)CPU節(jié)點(diǎn)均與其它所有的CPU節(jié)點(diǎn)相連;
[0008]圖像處理器GPU集群,用于運(yùn)行計(jì)算密集的深度學(xué)習(xí)應(yīng)用;所述GPU集群包括至少100個(gè)GPU,所述GPU集群中每個(gè)GPU節(jié)點(diǎn)內(nèi)GPU卡數(shù)為至少2個(gè),所述GPU集群中每個(gè)GPU節(jié)點(diǎn)均與其它所有的GPU節(jié)點(diǎn)相連;
[0009]與所述CPU集群相連的第一交換機(jī);
[0010]與所述GPU集群相連的第二交換機(jī);
[0011]與所述第一交換機(jī)和第二交換機(jī)相連的第三交換機(jī);
[0012]與所述第三交換機(jī)相連的并行存儲(chǔ)設(shè)備,用于為所述CPU集群和所述GPU集群提供共用的數(shù)據(jù)。
[0013]優(yōu)選的,所述深度學(xué)習(xí)應(yīng)用包括語(yǔ)音深度學(xué)習(xí)應(yīng)用、圖像深度學(xué)習(xí)應(yīng)用或者文字深度學(xué)習(xí)應(yīng)用。
[0014]優(yōu)選的,所述CPU集群中任意兩個(gè)CPU節(jié)點(diǎn)之間采用萬(wàn)兆以太網(wǎng)互聯(lián)。
[0015]優(yōu)選的,所述GPU集群中任任意兩個(gè)GPU節(jié)點(diǎn)之間采用56Gb/s的高速網(wǎng)絡(luò)IB互耳關(guān)。
[0016]優(yōu)選的,所述并行存儲(chǔ)設(shè)備為高寬帶并行Lusre存儲(chǔ)設(shè)備,用于支持多進(jìn)程或多線程的并行讀寫。
[0017]優(yōu)選的,所述CPU節(jié)點(diǎn)采用雙路高主頻CPU。
[0018]優(yōu)選的,所述GPU節(jié)點(diǎn)由中央處理器CPU構(gòu)成,所述GPU節(jié)點(diǎn)采用雙路低主頻CPU。
[0019]優(yōu)選的,所述系統(tǒng)還包括調(diào)度機(jī)制模塊,用于判斷數(shù)據(jù)大小,根據(jù)數(shù)據(jù)大小確定應(yīng)用規(guī)模;當(dāng)數(shù)據(jù)小于1GB的數(shù)據(jù)時(shí),判斷數(shù)據(jù)的應(yīng)用規(guī)模為屬于第一級(jí)的小規(guī)模應(yīng)用,將數(shù)據(jù)調(diào)度到單個(gè)GPU節(jié)點(diǎn)運(yùn)行;當(dāng)數(shù)據(jù)大于1GB且小于ITB時(shí),判斷數(shù)據(jù)的應(yīng)用規(guī)模為屬于第二級(jí)的中等規(guī)模應(yīng)用,將數(shù)據(jù)調(diào)度到4個(gè)GPU節(jié)點(diǎn)運(yùn)行;當(dāng)數(shù)據(jù)大于ITB時(shí),判斷數(shù)據(jù)的應(yīng)用規(guī)模為屬于第三級(jí)的大規(guī)模應(yīng)用,將數(shù)據(jù)調(diào)度到整個(gè)GPU集群運(yùn)行。
[0020]本發(fā)明所提供的一種面向深度學(xué)習(xí)的CPU與GPU混合的集群架構(gòu)系統(tǒng),包括:中央處理器CPU集群,用于對(duì)運(yùn)行邏輯密集的深度學(xué)習(xí)應(yīng)用;所述CPU集群包括至少1024個(gè)CPU節(jié)點(diǎn),每個(gè)CPU節(jié)點(diǎn)包括兩個(gè)CPU,所述CPU集群中每個(gè)CPU節(jié)點(diǎn)均與其它所有的CPU節(jié)點(diǎn)相連;圖像處理器GPU集群,用于運(yùn)行計(jì)算密集的深度學(xué)習(xí)應(yīng)用;所述GPU集群包括至少100個(gè)GPU,所述GPU集群中每個(gè)GPU節(jié)點(diǎn)內(nèi)GPU卡數(shù)為至少2個(gè),所述GPU集群中每個(gè)GPU節(jié)點(diǎn)均與其它所有的GPU節(jié)點(diǎn)相連;與所述CPU集群相連的第一交換機(jī);與所述GPU集群相連的第二交換機(jī);與所述第一交換機(jī)和第二交換機(jī)相連的第三交換機(jī);與所述第三交換機(jī)相連的并行存儲(chǔ)設(shè)備,用于為所述CPU集群和所述GPU集群提供共用的數(shù)據(jù)。可見(jiàn),該系統(tǒng)采用CPU與GPU混合的集群架構(gòu),GPU集群能夠運(yùn)行計(jì)算密集、高度并行的深度學(xué)習(xí)應(yīng)用,(PU集群能夠運(yùn)行邏輯密集、并行性不高的深度學(xué)習(xí)應(yīng)用,則整個(gè)系統(tǒng)能處理不同應(yīng)用特征的深度學(xué)習(xí)應(yīng)用,CPU與GPU協(xié)同計(jì)算,從而加速深度學(xué)習(xí)應(yīng)用處理時(shí)間,提升計(jì)算效率,提高深度學(xué)習(xí)處理效率,并且一個(gè)GPU節(jié)點(diǎn)的數(shù)據(jù)處理能力相當(dāng)于4或5個(gè)以上CPU節(jié)點(diǎn)的數(shù)據(jù)處理能力,這樣不采用純CPU集群架構(gòu)系統(tǒng),在達(dá)到同樣的數(shù)據(jù)處理能力的情況下,采用GPU與CPU結(jié)合架構(gòu)系統(tǒng)能夠節(jié)省成本,也減少系統(tǒng)功耗。
【附圖說(shuō)明】
[0021]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0022]圖1為本發(fā)明提供的一種面向深度學(xué)習(xí)的CPU與GPU混合的集群架構(gòu)系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]本發(fā)明的核心是提供一種面向深度學(xué)習(xí)的CPU與GPU混合的集群架構(gòu)系統(tǒng),以實(shí)現(xiàn)減少資源耗能,提高深度學(xué)習(xí)處理效率,且降低成本。
[0024]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0025]請(qǐng)參考圖1,圖1為本發(fā)明提供的一種面向深度學(xué)習(xí)的CPU與GPU混合的集群架構(gòu)系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括:
[0026]處理器CPU集群11,用于運(yùn)行邏輯密集的深度學(xué)習(xí)應(yīng)用;所述CPU集群包括至少1024個(gè)CPU節(jié)點(diǎn),每個(gè)CPU節(jié)點(diǎn)包括兩個(gè)CPU,CPU集群中每個(gè)CPU節(jié)點(diǎn)均與其它所有的CPU節(jié)點(diǎn)相連;
[0027]圖像GPU集群12,用于運(yùn)行計(jì)算密集的深度學(xué)習(xí)應(yīng)用;GPU集群包括至少100個(gè)GPU, GPU集群中每個(gè)GPU節(jié)點(diǎn)內(nèi)GPU卡數(shù)為至少2個(gè),GPU集群中每個(gè)GPU節(jié)點(diǎn)均與其它所有的GPU節(jié)點(diǎn)相連;
[0028]其中,深度學(xué)習(xí)應(yīng)用包括語(yǔ)音深度學(xué)習(xí)應(yīng)用、圖像深度學(xué)習(xí)應(yīng)用或者文字深度學(xué)習(xí)應(yīng)用。具體的,處理器CPU集群運(yùn)行邏輯密集、并行性不高的深度學(xué)習(xí)應(yīng)用,圖像GPU集群運(yùn)行計(jì)算密集、高度并行的深度學(xué)習(xí)應(yīng)用。GPU集群中每個(gè)GPU節(jié)點(diǎn)內(nèi)GPU卡數(shù)為至少2個(gè),即每個(gè)GPU節(jié)點(diǎn)的GPU塊數(shù)為至少2個(gè)。
[0029]其中,CPU集群中任意兩個(gè)CPU節(jié)點(diǎn)之間采用萬(wàn)兆以太網(wǎng)互聯(lián),GPU集群中任任意兩個(gè)GPU節(jié)點(diǎn)之間采用56Gb/s的高速網(wǎng)絡(luò)IB互聯(lián);圖中的GPU節(jié)點(diǎn)有64個(gè),圖中雖未具體標(biāo)出GPU節(jié)點(diǎn)之間的互聯(lián)連接線,但是實(shí)際上所有的GPU節(jié)點(diǎn)中,任意兩個(gè)GPU節(jié)點(diǎn)之間都是相互連接的,每個(gè)GPU節(jié)點(diǎn)均與其它所有的GPU節(jié)點(diǎn)相連;圖中的CPU節(jié)點(diǎn)有2000個(gè),圖中雖未具體標(biāo)出CPU節(jié)點(diǎn)之間的互聯(lián)連接線,但是實(shí)際上所有的CPU節(jié)點(diǎn)中,任意兩個(gè)GPU節(jié)點(diǎn)之間都是相互連接的,每個(gè)CPU節(jié)點(diǎn)均與其它所有的CPU節(jié)點(diǎn)相連。
[0030]其中,CPU節(jié)點(diǎn)采用雙路高主頻CPU ;GPU是圖像處理器,也是由處理器CPU構(gòu)成,GPU節(jié)點(diǎn)由中央處理器CPU構(gòu)成,所述GPU采用雙路低主頻CPU。
[0031]與處理器CPU集群11相連的第一交換機(jī)13 ;
[0032]與圖像GPU集群12相連的第二交換機(jī)14 ;
[0033]其中,第一交換機(jī)與第三交換機(jī)之間采用萬(wàn)兆以太網(wǎng)連接,進(jìn)行通信;第二交換機(jī)與第三交換機(jī)之間采用IB網(wǎng)絡(luò)連接,進(jìn)行通信。
[0034]與第一交換機(jī)13和第二交換機(jī)14相連的第三交換機(jī)15 ;
[0035]與第三交換機(jī)15相連的并行存儲(chǔ)設(shè)備16,用于為CPU集群和所述GPU集群提供共用的數(shù)據(jù)。
[0036]其中,第三交換機(jī)與并行存儲(chǔ)設(shè)備16之間采用IB網(wǎng)絡(luò)相連。
[0037]其中,并行存儲(chǔ)設(shè)備為高寬帶并行Lusre存儲(chǔ)設(shè)備,用于支持多進(jìn)程或多線程的并行讀寫,使CPU集群與GPU集群共用一套存儲(chǔ),采用高帶寬并行Lustre存儲(chǔ)。
[0038]其中,所述系統(tǒng)還包括調(diào)度機(jī)制模塊,用于判斷數(shù)據(jù)大小,根據(jù)數(shù)據(jù)大小確定應(yīng)用規(guī)模;當(dāng)數(shù)據(jù)小于1GB的數(shù)據(jù)時(shí),判斷應(yīng)用規(guī)模為屬于第一級(jí)的小規(guī)模應(yīng)用,將數(shù)據(jù)調(diào)度到單個(gè)GPU節(jié)點(diǎn)運(yùn)行;當(dāng)數(shù)據(jù)大于1GB且小于ITB時(shí),判斷數(shù)據(jù)的應(yīng)用規(guī)模為屬于第二級(jí)的中等規(guī)模應(yīng)