專利名稱:計算機通信連接方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,更具體地,特別涉及一種計算機通信連接方法及系統(tǒng)。
背景技術(shù):
IBdnfinite Bandwidth,無限帶寬)是一個統(tǒng)一的互聯(lián)寬帶,它可以將磁盤陣列、服務(wù)器和集群服務(wù)器進行互聯(lián),也可以連接外部網(wǎng)絡(luò)比如WAN、VPN、互聯(lián)網(wǎng)。IB主要用于企業(yè)數(shù)據(jù)中心,可以在相對短的距離內(nèi)提供高帶寬、低延遲的傳輸。IB中的通信是基于隊列模型的,發(fā)送和接收必須要事先建立QP(Queue Pair,隊列對)。IB中支持4種傳輸模式RC(Reliable Connection,可靠連接)、RD(Reliable Datagram,可靠數(shù)據(jù)報)、 UC (Unreliable Connection,不可靠連接)、UD (Unreliable Datagram,不可靠數(shù)據(jù)報)。由于UD和UC是不可靠的連接,不提供消息保序、狀態(tài)應(yīng)答等保證,在并行通信系統(tǒng)中一般做為輔助通信,即通常不采用UD和UC進行數(shù)據(jù)傳輸通信;RD模式在通信前需要建立類似RC 的連接,并且目前的IB硬件絕大多數(shù)都不支持RD通信模式,因此目前計算機通信進程之間都采用RC模式進行通信。計算機通信進程之間建立連接時,通信進程之間必須事先建立連接專用的QP。建立QP的基本流程是首先要創(chuàng)建QP所需要的SQ (Sending Queue,發(fā)送隊列)、RQ (Receiving Queue,接收隊列)以及CQ (Complete Queue,完成隊列),然后通信進程之間通過其他方式, 例如UD或TCP的方式,交互各自的端口號、QP信息,同時將QP的狀態(tài)設(shè)為就緒,連接被建立。然而,創(chuàng)建QP的同時還需要創(chuàng)建SQ、RQ以及CQ,因此創(chuàng)建QP時需要較大內(nèi)存開銷,即創(chuàng)建連接時需要較大的內(nèi)存。IB為了減少內(nèi)存的使用,提供了 SRQ(Sharing Receive Queue,共享接收隊列),其原理是將每個QP單獨使用一個RQ的方式改為若干個QP共用一個SRQ,通過將RQ共享的方式將接收隊列中的資源動態(tài)分配,可以在一定程度上減少內(nèi)存的使用量。但是當QP的數(shù)量增大到一定程度的時候即使使用SRQ其內(nèi)存開銷仍然是非常大的,因此能夠通信的進程數(shù)量受到限制,即限制了通信連接的可擴展性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種計算機通信連接方法及系統(tǒng),以解決現(xiàn)有技術(shù)方案中由于內(nèi)存的限制導致通信連接的可擴展性受到限制的問題。為實現(xiàn)上述目的,本發(fā)明提供的一種計算機通信連接方法的技術(shù)方案如下—種計算機通信連接方法,包括確定每個通信進程連接的最大通信進程數(shù)量;獲取所有通信進程的總數(shù)量,并依據(jù)所述每個通信進程連接的最大通信進程數(shù)量,將通信進程劃分為至少兩組進程組;進程組內(nèi)的各個通信進程與同進程組內(nèi)的其他通信進程建立連接;不同進程組內(nèi)部分通信進程之間建立連接。
優(yōu)選地,所述不同進程組內(nèi)部分通信進程之間建立連接包括對各個進程組內(nèi)的通信進程進行編號,所述通信進程編號為0 n-1 ;不同進程組內(nèi)編號相同的通信進程之間建立連接。優(yōu)選地,所述不同進程組內(nèi)部分通信進程之間建立連接包括對各個進程組內(nèi)的通信進程進行編號,所述通信進程編號為0 n-1 ;編號各個進程組,所述進程組編號為0 m-1 ;編號相鄰的進程組之間,編號相同的通信進程之間建立連接。優(yōu)選地,所述編號相同的通信進程之間建立連接具體包括一個或者所有編號相同的通信進程之間建立連接。優(yōu)選地,所述確定每個通信進程連接的最大通信進程數(shù)量是依據(jù)該通信進程所分配的內(nèi)存空間確定的。 優(yōu)選地,所述進程組內(nèi)的各個通信進程與同進程組內(nèi)的其他通信進程建立連接包括需要建立連接的兩個通信進程各自創(chuàng)建發(fā)送隊列、接收隊列以及完成隊列;建立與發(fā)送隊列、接收隊列以及完成隊列相對應(yīng)的隊列對;交換各自的端口號和隊列對信息;依據(jù)端口號和隊列對信息建立連接。優(yōu)選地,在所述不同進程組內(nèi)部分通信進程之間建立連接之后還包括當不同組內(nèi)未建立連接的任意兩個通信進程通信時,選取中轉(zhuǎn)連接進行通信,所述中轉(zhuǎn)連接是從已經(jīng)建立的連接中選取。優(yōu)選地,所述中轉(zhuǎn)連接為所選取的最短中轉(zhuǎn)連接。優(yōu)選地,所述連接采用可靠連接模式。本發(fā)明還提供一種計算機通信連接系統(tǒng),包括通信進程數(shù)量確定裝置,用于確定每個通信進程連接的最大通信進程數(shù)量;與通信進程數(shù)量確定裝置相連的通信進程劃分裝置,用于獲取所有通信進程的總數(shù)量,并依據(jù)所述通信進程數(shù)量確定裝置確定的通信進程數(shù)量,將通信進程劃分為至少兩組進程組;與通信進程劃分裝置相連的同組連接建立裝置,用于建立進程組內(nèi)的各個通信進程與同進程組內(nèi)的其他通信進程的連接;與通信進程劃分裝置相連的不同組連接建立裝置,用于建立不同進程組內(nèi)部分通信進程之間的連接。優(yōu)選地,所述不同組連接建立裝置包括編號單元,用于對各個進程組內(nèi)的通信進程進行編號,所述通信進程編號為0 n-1 ;連接建立單元,用于建立不同進程組內(nèi)編號相同的通信進程之間的連接。優(yōu)選地,所述不同組連接建立裝置包括編號單元,用于對各個進程組內(nèi)的通信進程進行編號,所述通信進程編號為0 n-1,以及編號各個進程組,所述進程組編號為0 m-1 ;連接建立單元,用于建立編號相鄰的進程組之間,編號相同的通信進程之間的連接。
優(yōu)選地,所述通信進程數(shù)量確定裝置確定通信進程數(shù)量是依據(jù)該通信進程所分配的內(nèi)存空間確定的。優(yōu)選地,還包括與同組連接建立裝置和不同組連接建立裝置相連的中轉(zhuǎn)連接選取裝置,用于當不同進程組內(nèi)未建立連接的任意兩個通信進程通信時,選取中轉(zhuǎn)連接進行通信,所述中轉(zhuǎn)連接從同組連接建立裝置和不同組連接建立裝置建立的連接中選取。應(yīng)用上述技術(shù)方案,同進程組內(nèi)的任意兩個通信進程之間建立連接,而不同進程組內(nèi)的部分通信進程之間建立連接。因此,在通信進程之間進行通信時,同組內(nèi)的通信進程通過已經(jīng)建立的連接通信,而不同組內(nèi)的通信進程通信時,若通信進程之間建立了連接則利用已經(jīng)建立的連接通信,若通信進程之間未建立連接,則利用已經(jīng)建立的與之相連的其他連接作為中轉(zhuǎn)連接以完成通信。相對于現(xiàn)有技術(shù)來說,本技術(shù)方案在保證全部進程通信的同時,采用分組以及不同進程組內(nèi)部分通信進程建立連接,降低每個通信進程所需QP的數(shù)量,減少內(nèi)存需求量,進而提高了通信連接的可擴展性。
為了更清楚地說明本發(fā)明實施例,下面將對實施例中所需要使用的附圖做簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的計算機通信連接方法的流程圖;圖2為通信進程建立連接的一種示意圖;圖3為通信進程建立連接的另一種示意圖;圖4為通信進程建立連接的再一種示意圖;圖5為本發(fā)明實施例提供的計算機通信系統(tǒng)的結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例提供的計算機通信系統(tǒng)的另一種結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下,所獲得的所有其他實施例,都屬于本發(fā)明保護范圍。申請人:經(jīng)研究發(fā)現(xiàn),現(xiàn)有的計算機通信時,每個通信進程需要與其他通信進程建立連接,計算機需要為建立的每個連接分配內(nèi)存空間,以保存建立連接所需的SQ、RQ、CQ以及QP。由于計算機的內(nèi)存空間有限,當建立連接的數(shù)量增加到一定數(shù)量時,計算機無法為所有的連接分配內(nèi)存空間,所以無法建立所有的連接?;谏鲜鲫愂隹芍捎谟嬎銠C內(nèi)存空間有限導致通信連接的可擴展性受到限制。為了解決上述問題,本發(fā)明實施例提供一種計算機通信連接方法,該方法首先將所有的通信進程劃分為至少兩組進程組,同進程組內(nèi)的任意兩個通信進程之間建立連接, 而不同進程組內(nèi)的部分通信進程之間建立連接。同組內(nèi)的通信進程通過已經(jīng)建立的連接通信,而不同組內(nèi)的通信進程通信時,若通信進程之間建立了連接則利用已經(jīng)建立的連接通信,若通信進程之間未建立連接,則利用已經(jīng)建立的與之相連的其他連接作為中轉(zhuǎn)連接以完成通信。在保證全部通信進程通信的同時,采用分組以及不同進程組內(nèi)部分通信進程建立連接,降低每個通信進程所需QP的數(shù)量,減少內(nèi)存需求量,進而提高了通信連接的可擴展性。本發(fā)明實施例提供的一種計算機通信連接方法的流程圖如圖1所示,該方法包括SlOl 確定每個通信進程所連接的最大通信進程數(shù)量;眾所周知,通信進程與其他通信進程建立連接時,計算機需要為建立的每個連接分配內(nèi)存空間,以保存建立連接所需的SQ、RQ、CQ以及QP。因此,當通信進程所分配的內(nèi)存空間確定時,該通信進程所能連接的最大通信進程數(shù)量則可確定。綜上,確定每個通信進程所連接的最大通信進程數(shù)的因素為通信進程所分配的內(nèi)存空間。例如假設(shè)某高性能計算機最大可并發(fā)運行65536個通信進程,每個通信進程所分配的內(nèi)存空間為100M,則其所能連接的最大通信進程數(shù)量為4096。S102 獲取所有通信進程的總數(shù)量,并依據(jù)所述每個通信進程所連接的最大通信進程數(shù)量,將通信進程劃分為至少兩組進程組;如步驟SlOl所述的某高性能計算機最大可并發(fā)運行65536個通信進程,每個通信進程所能連接的最大通信進程數(shù)量為4096。因此,計算機的通信進程被劃分為16組進程組。S103 進程組內(nèi)的各個通信進程與同進程組內(nèi)的其他通信進程建立連接;其中, 步驟S103的具體實施過程與現(xiàn)有技術(shù)中任意兩個通信進程之間建立連接的具體實施過程是相同,對此本發(fā)明只進行簡單闡述,具體過程不再加以說明。步驟S103包括S1031 需要建立連接的兩個通信進程各自創(chuàng)建SQ、RQ以及CQ ;S1032 建立與SQ、RQ以及CQ相對應(yīng)的QP ;此時,QP處于無法使用狀態(tài);S1033 通過TCP或者UD交換各自的端口號和隊列對QP信息;S1034 依據(jù)端口號和QP信息建立連接。經(jīng)過步驟S103同組內(nèi)通信進程完成全連接,即同組內(nèi)任意兩個通信進程之間建立連接,可以直接通信。S104 不同進程組內(nèi)部分通信進程之間建立連接;本步驟S104的具體實施方式
為對各個進程組內(nèi)的通信進程進行編號,所述進程編號為0 n-1 ;不同進程組內(nèi)編號相同的通信進程之間建立連接,即每個進程組上的第i號通信進程之間建立連接,比如所有進程組上的第O號通信進程間建立連接,第1號通信進程間建立連接。如圖2所示,圖 2為通信進程建立連接的示意圖。該連接結(jié)構(gòu)可以作為基本的網(wǎng)絡(luò)結(jié)構(gòu),基于該連接方式可以實現(xiàn)多種網(wǎng)絡(luò)通信功能,比如同步、廣播、規(guī)約等。當然,本發(fā)明不同進程組內(nèi)部分通信進程建立連接還可以采用其他方式。例如對各個進程組編號,進程組編號為0 m-1。各個編號相鄰進程組,編號相同的通信進程之間建立連接,進一步地,各個編號相鄰進程組之間只有一個編號相同的通信進程建立連接。采用上述兩種連接方式的示意圖分別如圖3和圖4所示。圖3是各個編號相鄰進程組,編號相同之間的通信進程建立連接的示意圖。圖4是各個編號相鄰進程組之間只有一個編號相同的進程建立連接的示意圖。
需要注意的是圖2和圖3中只給出了編號為0和n-1之間的連接建立,實際網(wǎng)絡(luò)中,編號為1,2,……,n-2之間也建立了連接,在圖2和圖3中未給出。之所以只給出編號為0和n-1之間的連接建立是為了更好的體現(xiàn)兩者之間的不同。不同進程組內(nèi)的通信進程通信時,當通信進程之間建立了連接則利用已經(jīng)建立的連接通信,當不同進程組內(nèi)未建立連接的任意兩個通信進程通信時,則可以選取中轉(zhuǎn)連接進行通信,所述中轉(zhuǎn)連接是從已經(jīng)建立的連接中選取。如圖2所示,假設(shè)進程組0中的0進程(0,0)和進程組1中的1進程(1,1)需要通信,進程(0,0)和進程(1,1)之間沒有建立連接,但是可以通過(0,0)-> (0,1)-> (1,1)或者(0,0)-> (1,0)" > (1,1)或者(0, 0)-> (0,n-l)-> (m-l,n-l)-> (m_l,l)-> (1,1)中轉(zhuǎn)連接進行通信;或者使用中轉(zhuǎn)連接交互雙方的端口號和QP信息,實現(xiàn)動態(tài)建立直接的連接,進而通過動態(tài)建立的直接連接進行通信。進程組0中的0進程(0,0)和進程組1中的1進程(1,1)之間的中轉(zhuǎn)連接除了上述的3種情況,還存在其他中轉(zhuǎn)連接。在選取中轉(zhuǎn)連接時優(yōu)選最短中轉(zhuǎn)連接,例如上述的 (0,0)-> (0,1)-> (1,1)或者(0,0)-> (1,0)-> (1,1),以提高通信的性能,節(jié)約時間。本發(fā)明實施例提供的計算機通信連接方法中連接以及動態(tài)建立的連接全部采用 RC模式。應(yīng)用上述技術(shù)方案,首先將所有的通信進程劃分為至少兩組進程,進程組內(nèi)的任意兩個通信進程建立連接,而不同進程組內(nèi)的部分通信進程之間建立連接。同進程組內(nèi)之間的通信進程通過已經(jīng)建立的連接通信,而不同組內(nèi)的通信進程通信時,若通信進程之間建立了連接則利用已經(jīng)建立的連接通信,若通信進程之間未建立連接,則利用已經(jīng)建立的與之相連的其他連接作為中轉(zhuǎn)連接以完成通信。相對于現(xiàn)有技術(shù)來說,本技術(shù)方案在保證全部進程通信的同時,采用分組以及不同進程組內(nèi)部分通信進程建立連接,降低每個通信進程所需QP的數(shù)量,減少內(nèi)存需求量,進而提高了通信連接的可擴展性。與之相對應(yīng)的,本發(fā)明實施例還提供一種計算機通信連接系統(tǒng),其結(jié)構(gòu)示意圖如圖5所示,包括通信進程數(shù)量確定裝置51、通信進程劃分裝置52、同組連接建立裝置53和不同組連接建立裝置M。其中通信進程數(shù)量確定裝置51,用于確定每個通信進程所連接的最大通信進程數(shù)量; 其確定通信進程數(shù)量是依據(jù)該通信進程所分配的內(nèi)存空間確定的。通信進程劃分裝置52,用于獲取所有通信進程的總數(shù)量,并依據(jù)所述通信進程數(shù)量確定裝置確定的通信進程數(shù)量,將通信進程劃分為至少兩組進程組;同組連接建立裝置53,用于建立進程組內(nèi)的各個通信進程與同進程組內(nèi)的其他通信進程之間的連接;不同組連接建立裝置M,用于建立不同進程組內(nèi)部分通信進程之間的連接。該不同組連接建立裝置M包括編號單元和連接建立單元,其中編號單元,用于對不同進程組內(nèi)的通信進程進行編號,所述通信進程編號為0 n-1 ;連接建立單元,用于建立不同進程組內(nèi)編號相同的通信進程之間連接,連接示意圖如圖2所示。當然,編號單元還可以在對各個進程組內(nèi)的通信進程進行編號的同時,編號各個進程組,所述進程組編號為0 m-1 ;連接建立單元,還可以用于建立編號相鄰的進程組之間,編號相同的通信進程之間的連接,如圖3所示,進一步地,建立各個編號相鄰進程組之間只有一個編號相同的通信進程的連接,參見圖4所示。通信進程通信時已經(jīng)建立連接的通信進程可以通過建立的連接通信,而未建立連接的通信進程通信時則需要選取中轉(zhuǎn)連接通信,因此本發(fā)明實施例提供的計算機通信連接系統(tǒng)還包括中轉(zhuǎn)連接選取裝置55,如圖6所示。圖6是計算機通信連接系統(tǒng)的又一種結(jié)構(gòu)示意圖,圖6中通信進程數(shù)量確定裝置51、通信進程劃分裝置52、同組連接建立裝置53和不同組連接建立裝置M的功能與圖5中的相對應(yīng)的裝置的功能相同。中轉(zhuǎn)連接選取裝置55,用于當不同組內(nèi)未建立連接的任意兩個通信進程通信時, 選取中轉(zhuǎn)連接進行通信,所述中轉(zhuǎn)連接從同組連接建立裝置53和不同組連接建立裝置M 建立的連接中選取。優(yōu)選選擇最短中轉(zhuǎn)連接,以圖3為例。若進程組0中的0進程(0,0) 和進程組1中的1進程(1,1)需要通信,通信進程之間沒有建立連接,但是可以通過(0, 0)-> (0,1)- > (1,1)或者(0,0)-> (1,0)-> (1,1)或者(0,0)-> (0,n-l)- > (m_l, n-l)-> (m-l,l)-> (1,1)中轉(zhuǎn)連接進行通信;或者通過中轉(zhuǎn)連接交互雙方的端口號和 QP,實現(xiàn)動態(tài)建立直接的連接,進而通過動態(tài)建立的直接連接進行通信。其中最短中轉(zhuǎn)連接為(0,0)-> (0,1)- > (1,1)或者(0,0)-> (1,0)- > (1,1)。本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
9
權(quán)利要求
1.一種計算機通信連接方法,其特征在于,包括 確定每個通信進程連接的最大通信進程數(shù)量;獲取所有通信進程的總數(shù)量,并依據(jù)所述每個通信進程連接的最大通信進程數(shù)量,將通信進程劃分為至少兩組進程組;進程組內(nèi)的各個通信進程與同進程組內(nèi)的其他通信進程建立連接; 不同進程組內(nèi)部分通信進程之間建立連接。
2.根據(jù)權(quán)利要求1所述的計算機通信連接方法,其特征在于,所述不同進程組內(nèi)部分通信進程之間建立連接包括對各個進程組內(nèi)的通信進程進行編號,所述通信進程編號為0 n-1 ; 不同進程組內(nèi)編號相同的通信進程之間建立連接。
3.根據(jù)權(quán)利要求1所述的計算機通信連接方法,其特征在于,所述不同進程組內(nèi)部分通信進程之間建立連接包括對各個進程組內(nèi)的通信進程進行編號,所述通信進程編號為0 n-1 ; 編號各個進程組,所述進程組編號為0 m-1 ; 編號相鄰的進程組之間,編號相同的通信進程之間建立連接。
4.根據(jù)權(quán)利要求3所述的計算機通信連接方法,其特征在于,所述編號相同的通信進程之間建立連接具體包括一個或者所有編號相同的通信進程之間建立連接。
5.根據(jù)權(quán)利要求1所述的計算機通信連接方法,其特征在于,所述確定每個通信進程連接的最大通信進程數(shù)量是依據(jù)該通信進程所分配的內(nèi)存空間確定的。
6.根據(jù)權(quán)利要求1-5任意一項所述的計算機通信連接方法,其特征在于,所述進程組內(nèi)的各個通信進程與同進程組內(nèi)的其他通信進程建立連接包括需要建立連接的兩個通信進程各自創(chuàng)建發(fā)送隊列、接收隊列以及完成隊列; 建立與發(fā)送隊列、接收隊列以及完成隊列相對應(yīng)的隊列對; 交換各自的端口號和隊列對信息; 依據(jù)端口號和隊列對信息建立連接。
7.根據(jù)權(quán)利要求1所述的計算機通信連接方法,其特征在于,在所述不同進程組內(nèi)部分通信進程之間建立連接之后還包括當不同組內(nèi)未建立連接的任意兩個通信進程通信時,選取中轉(zhuǎn)連接進行通信,所述中轉(zhuǎn)連接是從已經(jīng)建立的連接中選取。
8.根據(jù)權(quán)利要求7所述的計算機通信連接方法,其特征在于,所述中轉(zhuǎn)連接為所選取的最短中轉(zhuǎn)連接。
9.根據(jù)權(quán)利要求1_5、7和8任意一項所述的計算機通信連接方法,其特征在于,所述連接采用可靠連接模式。
10.一種計算機通信連接系統(tǒng),其特征在于,包括通信進程數(shù)量確定裝置,用于確定每個通信進程連接的最大通信進程數(shù)量; 與通信進程數(shù)量確定裝置相連的通信進程劃分裝置,用于獲取所有通信進程的總數(shù)量,并依據(jù)所述通信進程數(shù)量確定裝置確定的通信進程數(shù)量,將通信進程劃分為至少兩組進程組;與通信進程劃分裝置相連的同組連接建立裝置,用于建立進程組內(nèi)的各個通信進程與同進程組內(nèi)的其他通信進程的連接;與通信進程劃分裝置相連的不同組連接建立裝置,用于建立不同進程組內(nèi)部分通信進程之間的連接。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述不同組連接建立裝置包括 編號單元,用于對各個進程組內(nèi)的通信進程進行編號,所述通信進程編號為0 n-1 ; 連接建立單元,用于建立不同進程組內(nèi)編號相同的通信進程之間的連接。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述不同組連接建立裝置包括 編號單元,用于對各個進程組內(nèi)的通信進程進行編號,所述通信進程編號為0 n-1,以及編號各個進程組,所述進程組編號為0 m-1 ;連接建立單元,用于建立編號相鄰的進程組之間,編號相同的通信進程之間的連接。
13.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,所述通信進程數(shù)量確定裝置確定通信進程數(shù)量是依據(jù)該通信進程所分配的內(nèi)存空間確定的。
14.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,還包括與同組連接建立裝置和不同組連接建立裝置相連的中轉(zhuǎn)連接選取裝置,用于當不同進程組內(nèi)未建立連接的任意兩個通信進程通信時,選取中轉(zhuǎn)連接進行通信,所述中轉(zhuǎn)連接從同組連接建立裝置和不同組連接建立裝置建立的連接中選取。
全文摘要
本發(fā)明公開了一種計算機通信連接方法及系統(tǒng)。一種計算機通信連接方法,包括確定每個通信進程連接的最大通信進程數(shù)量;獲取所有通信進程的總數(shù)量,并依據(jù)所述每個通信進程連接的最大通信進程數(shù)量,將通信進程劃分為至少兩組進程組;進程組內(nèi)的各個通信進程與同進程組內(nèi)的其他通信進程建立連接;不同進程組內(nèi)部分通信進程之間建立連接。應(yīng)用上述技術(shù)方案,所有通信進程之間不需要全部建立連接,相對于現(xiàn)有技術(shù)來說,本技術(shù)方案在保證全部進程通信的同時,采用分組以及不同進程組內(nèi)部分通信進程建立連接,降低每個通信進程所需QP的數(shù)量,減少內(nèi)存需求量,進而提高了通信連接的可擴展性。
文檔編號G06F9/54GK102567123SQ20101061261
公開日2012年7月11日 申請日期2010年12月29日 優(yōu)先權(quán)日2010年12月29日
發(fā)明者卞衛(wèi)峰, 唐大國, 姜小成, 孫俊, 尤洪濤, 張立博, 漆鋒濱 申請人:無錫江南計算技術(shù)研究所