專利名稱:計算機集群中節(jié)點間數(shù)據(jù)傳輸方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種計算機集群中節(jié)點間數(shù)據(jù)傳輸方法和系統(tǒng)。
背景技術(shù):
貝奧武夫(Beowulf)集群是一種高性能的并行計算機集群結(jié)構(gòu),它是由一組獨立的計算機系統(tǒng)構(gòu)建的松耦合的多處理機系統(tǒng),系統(tǒng)中各進程借助網(wǎng)絡(luò)實現(xiàn)通信、共享內(nèi)存?zhèn)鬟f信息,從而實現(xiàn)分布式并行計算。Beowulf 集群的設(shè)計目標是使一般大學的計算機系和小型研究機構(gòu)有能力建立自己的超級計算機系統(tǒng),每秒可運行上十億條指令。Beowulf集群技術(shù)解決了如何通過使用普通計算機來達到高性能、高實時的計算系統(tǒng)的問題。近年來,Beowulf 集群系統(tǒng)迅速發(fā)展,主要是因為作為集群節(jié)點的工作站系統(tǒng)的處理性能越來越強,更快的處理器和更高效的多CPU機器大量進入市場,以及局域網(wǎng)新技術(shù)和新協(xié)議的引入, 集群節(jié)點間的通信能獲得更高的帶寬和較小的延遲,集群系統(tǒng)比傳統(tǒng)的并行計算機更易于融合到已有的網(wǎng)絡(luò)系統(tǒng)中去。目前,集群系統(tǒng)的開發(fā)工具日臻成熟,其價格也愈加便宜并且易于構(gòu)建。另外,集群系統(tǒng)的可擴展性良好,節(jié)點的性能也很容易通過增加內(nèi)存或改善處理器性能獲得提聞。信息傳遞接口(Message Passing Interface, MPI)是一種消息傳遞編程接口,它提供了實現(xiàn)其一系列接口的多語言函數(shù)集。MPI是Beomilf集群上常用的消息傳遞機制,并行程序常常使用MPI來進行數(shù)據(jù)的發(fā)送與接收。MPI標準定義了一組函數(shù),使應(yīng)用程序可以將消息從一個MPI進程傳遞到另一個MPI進程。在Beowulf集群系統(tǒng)中,N個節(jié)點(如計算機)之間使用MPI進行數(shù)據(jù)傳輸時,通常采用順次傳輸模型。具體地說,首先給每個節(jié)點依次編一個號碼,從0開始,直到N-1。圖Ia示出了現(xiàn)有技術(shù)的第I輪數(shù)據(jù)發(fā)送過程的示意圖,圖Ib示出了現(xiàn)有技術(shù)的第I輪數(shù)據(jù)接收過程的示意圖,圖Ia和圖Ib示出了 6個節(jié)點的情況。如圖Ia和圖Ib所示,在第I輪數(shù)據(jù)傳輸過程中,除節(jié)點0以外的其它節(jié)點都使用MPI發(fā)送(MPI_Send)函數(shù)向節(jié)點0發(fā)送數(shù)據(jù),此時節(jié)點0在一個循環(huán)語句中使用MPI接收(MPI_Recv)函數(shù)依次接收從節(jié)點I到N-I發(fā)送過來的數(shù)據(jù)。在第2輪數(shù)據(jù)傳輸過程中,除節(jié)點I以外的其它節(jié)點都使用MPI_Send函數(shù)向節(jié)點I發(fā)送數(shù)據(jù),此時節(jié)點I在一個循環(huán)語句中使用MPI_Recv函數(shù)依次接收從節(jié)點O、2到N-I發(fā)送過來的數(shù)據(jù)。依次類推,直到第N輪數(shù)據(jù)傳輸過程結(jié)束后,所有節(jié)點都獲得了其他節(jié)點發(fā)送過來的數(shù)據(jù),整個數(shù)據(jù)傳輸過程完成。上述采用順次傳輸模型的數(shù)據(jù)傳輸方法存在如下缺點在通常情況下,集群系統(tǒng)中所有節(jié)點的網(wǎng)卡都是同構(gòu)的,所以它們的最大傳輸帶寬是相同的。由于在每一輪數(shù)據(jù)傳輸過程中,所有節(jié)點都會向同一個節(jié)點發(fā)送數(shù)據(jù),在將接收節(jié)點的帶寬打滿的情況下,所有發(fā)送節(jié)點的帶寬是沒用滿的,這樣造成了整體傳輸帶寬的浪費
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的計算機集群中節(jié)點間數(shù)據(jù)傳輸系統(tǒng)和相應(yīng)的計算機集群中節(jié)點間數(shù)據(jù)傳輸方法。根據(jù)本發(fā)明的一個方面,提供了一種計算機集群中節(jié)點間數(shù)據(jù)傳輸方法,包括將N個節(jié)點的數(shù)據(jù)傳輸過程分為N-I輪,N彡2 ;對于每個節(jié)點,隨機選擇該節(jié)點的數(shù)據(jù)發(fā)送順序,所述數(shù)據(jù)發(fā)送順序是在數(shù)據(jù)傳輸過程中接收該節(jié)點發(fā)送的數(shù)據(jù)的節(jié)點按照輪次的排列順序;在每一輪數(shù)據(jù)傳輸過程中,每個節(jié)點都執(zhí)行一次發(fā)送動作,執(zhí)行發(fā)送動作的節(jié)點按照自身的數(shù)據(jù)發(fā)送順序發(fā)送數(shù)據(jù);執(zhí)行接收動作的節(jié)點根據(jù)先到先收的方式接收數(shù)據(jù);其中,所述發(fā)送動作采用非阻塞式通信方法來執(zhí)行。 根據(jù)本發(fā)明的另一方面,提供了一種計算機集群中節(jié)點間數(shù)據(jù)傳輸系統(tǒng),包括N個節(jié)點,所述N個節(jié)點的數(shù)據(jù)傳輸過程分為N-I輪,N > 2 ;其中,每一個節(jié)點包括發(fā)送單元,用于在每一輪數(shù)據(jù)傳輸過程中,執(zhí)行一次發(fā)送動作,所述發(fā)送動作具體為按照自身的數(shù)據(jù)發(fā)送順序發(fā)送數(shù)據(jù);所述數(shù)據(jù)發(fā)送順序是隨機選擇的,所述數(shù)據(jù)發(fā)送順序是在數(shù)據(jù)傳輸過程中接收該節(jié)點發(fā)送的數(shù)據(jù)的節(jié)點按照輪次的排列順序;接收單元,用于根據(jù)先到先收的方式接收數(shù)據(jù);其中,所述發(fā)送單元具體用于采用非阻塞式通信方法執(zhí)行發(fā)送動作。根據(jù)本發(fā)明提供的計算機集群中節(jié)點間數(shù)據(jù)傳輸方法和系統(tǒng),在每一輪數(shù)據(jù)傳輸過程中,執(zhí)行發(fā)送動作的節(jié)點按照自身隨機選擇的數(shù)據(jù)發(fā)送順序發(fā)送數(shù)據(jù),這樣同時發(fā)往同一個節(jié)點的概率大大減少,極少出現(xiàn)一個節(jié)點同時接收所有其他節(jié)點發(fā)送的數(shù)據(jù)的情況,將數(shù)據(jù)分散傳輸,保證每個節(jié)點的網(wǎng)卡都可以較為充分的利用最大傳輸帶寬工作。執(zhí)行接收動作的節(jié)點根據(jù)先到先收的方式接收數(shù)據(jù),實現(xiàn)了無延遲的數(shù)據(jù)接收。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式
。
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖Ia示出了現(xiàn)有技術(shù)的第I輪數(shù)據(jù)發(fā)送過程的示意圖;圖Ib示出了現(xiàn)有技術(shù)的第I輪數(shù)據(jù)接收過程的示意圖;圖2示出了根據(jù)本發(fā)明一個實施例的計算機集群中節(jié)點間數(shù)據(jù)傳輸方法的流程圖;圖3a示出了本發(fā)明實施例中第I輪數(shù)據(jù)發(fā)送過程的示意圖;圖3b示出了本發(fā)明實施例中第I輪數(shù)據(jù)接收過程的示意圖;圖4示出了根據(jù)本發(fā)明一個實施例的計算機集群中節(jié)點間數(shù)據(jù)傳輸系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。與現(xiàn)有技術(shù)的數(shù)據(jù)傳輸方法采用順次傳輸模型不同的是,本發(fā)明的數(shù)據(jù)傳輸方法采用分輪次隨機收發(fā)模型。本發(fā)明的集群系統(tǒng)包括N個節(jié)點,NS 2,那么這N個節(jié)點的數(shù)據(jù)傳輸過程就被分為N-I輪。圖2示出了根據(jù)本發(fā)明一個實施例的數(shù)據(jù)傳輸方法的流程圖。如圖2所示,該計算機集群中節(jié)點間數(shù)據(jù)傳輸方法包括如下步驟步驟101、對于N個節(jié)點中的每個節(jié)點,隨機選擇該節(jié)點的數(shù)據(jù)發(fā)送順序。該數(shù)據(jù)發(fā)送順序是指在數(shù)據(jù)傳輸過程中,接收該節(jié)點發(fā)送的數(shù)據(jù)的節(jié)點按照輪次的排列順序。該數(shù)據(jù)發(fā)送順序限定了節(jié)點在每一輪數(shù)據(jù)傳輸過程向哪個節(jié)點發(fā)送數(shù)據(jù)。每 個節(jié)點的數(shù)據(jù)發(fā)送順序是隨機選擇的,一旦選定該數(shù)據(jù)發(fā)送順序,在N-I輪的數(shù)據(jù)傳輸過程中,每個節(jié)點都按照對應(yīng)的數(shù)據(jù)發(fā)送順序向指定節(jié)點發(fā)送數(shù)據(jù)。設(shè)N為6,給這6個節(jié)點分別編一個號碼為0、1、2、3、4、5。對于其中的每個節(jié)點,隨機選擇對應(yīng)的數(shù)據(jù)發(fā)送順序。表I示出了為每個節(jié)點隨機選擇的數(shù)據(jù)發(fā)送順序。表I.節(jié)點與數(shù)據(jù)發(fā)送順序?qū)?yīng)表
權(quán)利要求
1.一種計算機集群中節(jié)點間數(shù)據(jù)傳輸方法,包括 將N個節(jié)點的數(shù)據(jù)傳輸過程分為N-I輪,N > 2 ; 對于每個節(jié)點,隨機選擇該節(jié)點的數(shù)據(jù)發(fā)送順序,所述數(shù)據(jù)發(fā)送順序是在數(shù)據(jù)傳輸過程中接收該節(jié)點發(fā)送的數(shù)據(jù)的節(jié)點按照輪次的排列順序; 在每一輪數(shù)據(jù)傳輸過程中,每個節(jié)點都執(zhí)行一次發(fā)送動作,執(zhí)行發(fā)送動作的節(jié)點按照自身的數(shù)據(jù)發(fā)送順序發(fā)送數(shù)據(jù);執(zhí)行接收動作的節(jié)點根據(jù)先到先收的方式接收數(shù)據(jù); 其中,所述發(fā)送動作采用非阻塞式通信方法來執(zhí)行。
2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)傳輸方法,所述接收動作采用阻塞式通信方法來執(zhí)行。
3.根據(jù)權(quán)利要求I或2所述的數(shù)據(jù)傳輸方法,所述N個節(jié)點屬于貝奧武夫集群系統(tǒng),所述發(fā)送動作采用非阻塞式的MPI發(fā)送函數(shù)來實現(xiàn)。
4.根據(jù)權(quán)利要求2所述的數(shù)據(jù)傳輸方法,所述N個節(jié)點屬于貝奧武夫集群系統(tǒng),所述接收動作采用阻塞式的MPI接收函數(shù)來實現(xiàn)。
5.一種計算機集群中節(jié)點間數(shù)據(jù)傳輸系統(tǒng),包括N個節(jié)點,所述N個節(jié)點的數(shù)據(jù)傳輸過程分為N-I輪,N > 2 ; 其中,每一個節(jié)點包括 發(fā)送單元,用于在每一輪數(shù)據(jù)傳輸過程中,執(zhí)行一次發(fā)送動作,所述發(fā)送動作具體為按照自身的數(shù)據(jù)發(fā)送順序發(fā)送數(shù)據(jù);所述數(shù)據(jù)發(fā)送順序是隨機選擇的,所述數(shù)據(jù)發(fā)送順序是在數(shù)據(jù)傳輸過程中接收該節(jié)點發(fā)送的數(shù)據(jù)的節(jié)點按照輪次的排列順序; 接收單元,用于根據(jù)先到先收的方式接收數(shù)據(jù); 其中,所述發(fā)送單元具體用于采用非阻塞式通信方法執(zhí)行發(fā)送動作。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)傳輸系統(tǒng),所述接收單元具體用于采用阻塞式通信方法執(zhí)行接收動作。
7.根據(jù)權(quán)利要求5或6所述的數(shù)據(jù)傳輸系統(tǒng),所述數(shù)據(jù)傳輸系統(tǒng)為貝奧武夫集群系統(tǒng),所述發(fā)送單元具體用于采用非阻塞式的MPI發(fā)送函數(shù)來實現(xiàn)所述發(fā)送動作。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)傳輸系統(tǒng),所述數(shù)據(jù)傳輸系統(tǒng)為貝奧武夫集群系統(tǒng),所述接收單元具體用于采用阻塞式的MPI接收函數(shù)來實現(xiàn)所述接收動作。
全文摘要
本發(fā)明公開了一種計算機集群中節(jié)點間數(shù)據(jù)傳輸方法和系統(tǒng)。其中數(shù)據(jù)傳輸系統(tǒng)包括N個節(jié)點,所述N個節(jié)點的數(shù)據(jù)傳輸過程分為N-1輪,N≥2;其中,每一個節(jié)點包括發(fā)送單元,用于在每一輪數(shù)據(jù)傳輸過程中,執(zhí)行一次發(fā)送動作,所述發(fā)送動作具體為按照自身的數(shù)據(jù)發(fā)送順序發(fā)送數(shù)據(jù);所述數(shù)據(jù)發(fā)送順序是隨機選擇的,所述數(shù)據(jù)發(fā)送順序是在數(shù)據(jù)傳輸過程中接收該節(jié)點發(fā)送的數(shù)據(jù)的節(jié)點按照輪次的排列順序;接收單元,用于根據(jù)先到先收的方式接收數(shù)據(jù);其中,所述發(fā)送單元具體用于采用非阻塞式通信方法執(zhí)行發(fā)送動作。本發(fā)明提供的計算機集群中節(jié)點間數(shù)據(jù)傳輸方法和系統(tǒng)將數(shù)據(jù)分散傳輸,保證每個節(jié)點的網(wǎng)卡都可以較為充分的利用最大傳輸帶寬工作。
文檔編號H04L12/861GK102984084SQ20121047539
公開日2013年3月20日 申請日期2012年11月21日 優(yōu)先權(quán)日2012年11月21日
發(fā)明者何銳邦, 唐會軍 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司