專利名稱:一種自適應大規(guī)模集群通信系統(tǒng)及其通信方法
技術領域:
本發(fā)明涉及大規(guī)模集群中分布式文件系統(tǒng),具體涉及一種自適應大規(guī)模集群通信系統(tǒng)及其通信方法。
背景技術:
隨著時代的發(fā)展,信息爆炸逐漸成為人們爭相談論的熱門話題,面對如此龐大的信息,如何對某些特種數據進行高效提取和處理,也被提上日程,并成為計算機發(fā)展的主要方向之一。據統(tǒng)計,在全球計算能力最強大的500臺計算機中,基于集群架構的硬件系統(tǒng)已經增至500個,集群所占的比重已經超過了 70%,集群系統(tǒng)已經成為構建高性能計算機系統(tǒng)的主流體系結構之一,并有向超大規(guī)模發(fā)展的趨勢。由此可見,隨著信息量的增加,集群技術尤其超大規(guī)模集群技術在高性能計算領域和信息處理領域有著旺盛的生命力和廣闊 的發(fā)展前景。隨著超大規(guī)模集群(分布式文件系統(tǒng))技術的發(fā)展,人們對其要求也越來越高,尤其是在處理海量數據時,我們會對網絡通信、系統(tǒng)負載、磁盤IO提出更高的要求以滿足各種性能需求。這些集群系統(tǒng)大多采用了客戶端服務器模型。而集群系統(tǒng)中的各個節(jié)點之間的通信大多以遠程過程調用(remote produce call,簡稱RPC)或者類遠程過程調用的方式進行的。在基于RPC或類RPC構建的分布式集群系統(tǒng)中,數據包丟失、網絡連接失敗和節(jié)點故障等失效情況會導致系統(tǒng)的可靠性問題。由此會引起其他的系統(tǒng)故障,從而降低系統(tǒng)的性能,并妨礙作業(yè)的正常進行。如何及時發(fā)現并精確定位系統(tǒng)中的失效是保證集群系統(tǒng)高可靠性需解決的關鍵問題。如果通信失效或者系統(tǒng)故障未能及時有效檢測出來,將會嚴重影響系統(tǒng)的響應性和可用性;反之,若系統(tǒng)經常發(fā)生虛假警報,則會導致錯誤的修復行動或者處理方式,降低系統(tǒng)的可用性,同時可能會給系統(tǒng)帶來無法挽回的損失。因此,在集群系統(tǒng)尤其是超大規(guī)模集群系統(tǒng)應用中,在實現RPC或者類RPC的通信協(xié)議時,如何有效的檢測通信失效是一個需要密切關注的問題。超時是一種常用且必須的失效檢測手段,它通常與一個遠程過程調用綁定在一起。在網絡通信中,大多數通信協(xié)議都是用超時來檢測失效,這種檢測機制對于底層傳輸協(xié)議不可靠的RPC協(xié)議尤為重要,因而,超時檢測機制直接影響到集群中的基于RPC或類RPC構建的分布式系統(tǒng)中的很多方面,特別是響應性、可靠性和穩(wěn)定性等,從而導致集群性能降低。
發(fā)明內容
本發(fā)明所要解決的技術問題是,提供一種自適應大規(guī)模集群通信系統(tǒng)及其通信方法,以提高集群系統(tǒng)的可靠性。為了解決上述技術問題,本發(fā)明公開了一種自適應大規(guī)模集群通信系統(tǒng)的通信方法,包括自適應大規(guī)模集群通信系統(tǒng)實時獲取本系統(tǒng)的網絡通信往返時間(IRTT)Tiktt和服務器處理時間TSOTVic;e,根據實時獲取的Tiktt和Tswvira實時更新超時閾值Tewiwt,按照更新的超時閾值進行超時處理操作。較佳地,上述方法中,根據實時獲取的Tiktt和1_*實時更新超時閾值指按照如下公式實時計算超時閾值Tswiwt T 超時釀—Tiett+ λ Tservice ;其中,λ為大于等于I的正數。較佳地,上述方法中,所述λ的取值范圍為1. 3 > λ > I. I。較佳地,上述方法中,根據實時獲取的Tiktt和Tswviee實時更新超時閾值的過程如下實時獲取Tiktt和Τ—,若實時獲取的Tiktt與前一次獲取的Tiktt發(fā)生變化,和/或實時獲取的Tswvira與前一次獲取的Tswvire發(fā)生變化,則根據實時獲取的Tiktt和Tswvira更新·超時閾值。較佳地,上述方法中,所述Tiktt的值為從客戶端發(fā)出請求到達服務器的時間Tseq與從服務器端返回的數據包到達客戶端的時間Tadt的和。本發(fā)明還公開了一種自適應大規(guī)模集群通信系統(tǒng),包括第一模塊,實時獲取本系統(tǒng)的網絡通信往返時間(IRTT)Tiktt和服務器處理時間T . ·
service ,第二模塊,根據實時獲取的Tiktt和Tswviee實時更新超時閾值,按照更新的超時閾值進行超時處理操作。較佳地,上述系統(tǒng)中,所述第二模塊按照如下公式實時計算超時閾值Tswiwt T 超時釀—Tiett+ λ Tservice ;其中,λ為大于等于I的正數。較佳地,上述系統(tǒng)中,所述λ的取值范圍為1. 3 > λ > I. I。較佳地,上述系統(tǒng)中,所述第二模塊,在所述第一模塊實時獲取的Tiktt與前一次獲取的Tiktt發(fā)生變化,和/或所述第一模塊實時獲取的Tswvira與前一次獲取的Tswvira發(fā)生變化,則根據實時獲取的Tiktt和Tswvira更新超時閾值。較佳地,上述系統(tǒng)中,所述第一模塊所獲取的Tiktt的值為從客戶端發(fā)出請求到達服務器的時間Tsrai與從服務器端返回的數據包到達客戶端的時間Tadt的和。本申請技術方案節(jié)約了系統(tǒng)開銷,提高了通信質量,并實現集群的最優(yōu)化,提高集群系統(tǒng)的響應性、并發(fā)性和可靠性。
圖I為本實施例提供的自適應大規(guī)模集群通信系統(tǒng)通信流程示意圖;圖2為本實施例提供的自適應大規(guī)模集群通信系統(tǒng)通信原理示意圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下文將結合附圖對本發(fā)明技術方案作進一步詳細說明。需要說明的是,在不沖突的情況下,本申請的實施例和實施例中的特征可以任意相互組合。
實施例I現有技術一般以固定值作為通信超時閾值以進行處理,但本申請發(fā)明人發(fā)現此種方案忽略了系統(tǒng)的實時狀態(tài),可靠性較差。因此,本申請發(fā)明人提出,綜合考慮服務器節(jié)點負載、并發(fā)情況以及系統(tǒng)故障等因素,動態(tài)更新當前運行環(huán)境下的最優(yōu)超時閾值,根據該超時閾值的大小減少或增加通信機制時間。即在客戶端與服務器交互過程中,通過不斷地傳遞網絡通信往返時間(internet round trip time, IRTT) Tiktt和服務器處理時間Tserviee這兩個時間參數,客戶端不斷更新參數值,并動態(tài)更新超時值,從而能夠根據網絡情況和系統(tǒng)負載自適應地調整超時值?;谏鲜鏊枷?,本實施例提供一種自適應大規(guī)模集群通信系統(tǒng)的通信方法,該方法的實現過程如下自適應大規(guī)模集群通信系統(tǒng)實時獲取本系統(tǒng)的網絡通信往返時間(internetround trip time, IRTT) Tiett和服務器處理時間TSOTViee,根據實時獲取的Tiktt和Tswviee實時 更新超時閾值,按照更新的超時閾值進行超時處理操作。其中,可以按照如下公式實時計算超時閾值Tewiwt T 超時釀=Tiett+ λ Tservice ;申請人:通過實驗發(fā)現λ的取值范圍過大,就會使得系統(tǒng)超時時間過長,系統(tǒng)節(jié)點故障后,會導致響應緩慢;若λ的取值過小(例如小于I),則會產生連接超時而中斷,導致數據包重傳等不必要的操作,從而降低系統(tǒng)性能。因此,本實施例中,λ為大于等于I的正數。優(yōu)選地,推薦λ的取值范圍為1. 3 > λ > I. I。還要說明的是,根據實時獲取的Tiktt和Tswvire實時更新超時閾值指,當實時獲取的Tiett和Tswvira中的任一或兩個值發(fā)生變化時(即實時獲取的Tiktt與上一次獲取的Tiktt發(fā)生變化,和/或實時獲取的Tswvire與上一次獲取的Tswvire發(fā)生變化),才根據實時獲取的Tiktt和TSCTViM更新超時閾值。而對于Tiktt和Tswvire的獲取方式有很多種,可以是周期地實時獲取,也可以根據系統(tǒng)狀態(tài)實時獲取(即系統(tǒng)狀態(tài)發(fā)生變化時即刻獲取),還可以是根據用戶需求等任意時刻獲取。而本文中所涉及到的Tiktt和服務器處理時間Tswvire可通過任意方式來獲取。例如,Tiett的值可以為從客戶端發(fā)出請求到達服務器的時間Tsrai與從服務器端返回的數據包到達客戶端的時間Tadt的和。此時,自適應大規(guī)模集群通信系統(tǒng)的工作原理如圖I所示。當然本領域技術人員也可以按照其他方式計算獲取Tiktt和T_vira。下面參照圖2,就如何根據實時獲取的網絡通信往返時間(internet round triptime,簡稱IRTT)Tiktt和服務器處理時間Tseiviee通信的過程進行詳細說明。具體地,該自適應大規(guī)模集群通信系統(tǒng)的通信過程包括如下步驟100至步驟400。步驟100 :通過時間服務器同步自適應大規(guī)模集群通信系統(tǒng)中客戶端和服務器雙方節(jié)點的時間,保證其一致性。步驟200 :計算網絡通信往返時間IRTT。該步驟中,網絡通信往返時間Tiktt指從客戶端發(fā)出請求到達服務器的時間Tsrai和從服務器端返回的數據包到達客戶端的時間Tadt的和。即Tiett — Tseq+TackTseq = tsa-tcs
Tack = tca-tss其中、tM、tss分 別為服務器端接收時刻,客戶端發(fā)送時刻,客戶端接收時刻和服務器發(fā)送時刻。因此網絡通信往返時間可以簡單的理解為信息在傳輸過程中所消耗的時間。步驟300 :計算服務器處理時間。該步驟中,服務器處理時間Tswvire是指客戶端發(fā)出的請求信息(數據)到達服務器的時tsa,直至服務器端返回ack或者數據的時刻tss,這之間的時間稱之為服務器處理時間。即服務器處理時間可以簡單的理解為數據包在服務器端停留的時間。步驟400 :計算動態(tài)超時閾值。該步驟中,自適應大規(guī)模集群通信系統(tǒng)的超時機制會記錄單位時間段內獲取的Tiett和Tswvire時間對,并在該段時間內取其最大值,然后利用如下公式計算其超時閾值T 超時釀—Tiett+ λ Tservice上式中λ為大于等于I的正數。優(yōu)選地,推薦λ的取值范圍為1. 3 > λ > I. I。需要說明的是,上述步驟200、300及400中的計算操作,均可由連接發(fā)起方來執(zhí)行。而目前連接發(fā)起方一般為客戶端。實施例2本實施例介紹一種自適應大規(guī)模集群通信系統(tǒng),可實現上述實施例I的方案。該系統(tǒng)至少包括第一模塊和第二模塊。第一模塊,實時獲取本系統(tǒng)的網絡通信往返時間(IRTT)Tiktt和服務器處理時間T
1 service°第二模塊,根據實時獲取的Tiktt和Tswvire實時更新超時閾值,按照更新的超時閾值進行超時處理操作。其中,第二模塊可以按照如下公式實時計算超時閾值Tswiwt T 超時釀—Tiett+ λ Tservice ;其中,λ為大于等于I的正數。具體地,入的優(yōu)選取值范圍為1. 3 > λ > I. I。需要指出的是,第二模塊,在第一模塊實時獲取的Tiktt和Tswvire中的任一或兩個值發(fā)生變化(即實時獲取的Tiktt與上一次獲取的Tiktt發(fā)生變化,和/或實時獲取的Tswvire與上一次獲取的Tswvire發(fā)生變化)時,才根據實時獲取的Tiktt和Tswvira更新超時閾值。而對于第一模塊,其實時獲取Tiktt和Tswviee的方式非常靈活,可以是周期地實時獲取,也可以根據系統(tǒng)狀態(tài)實時獲取(即系統(tǒng)狀態(tài)發(fā)生變化時即刻獲取),還可以是根據用戶需求等任意時刻獲取。其中,第一模塊所獲取的Tiktt的值為從客戶端發(fā)出請求到達服務器的時間Tsrai與從服務器端返回的數據包到達客戶端的時間Tadt的和。第一模塊所獲取的服務器處理時間Tswvire是指客戶端發(fā)出的請求信息(數據)到達服務器的時tsa,直至服務器端返回ack或者數據的時刻tss。即服務器處理時間可以簡單的理解為數據包在服務器端停留的時間。本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬件完成,所述程序可以存儲于計算機可讀存儲介質中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現。相應地,上述實施例中的各模塊/單元可以采用硬件的形式實現,也可以采用軟件功能模塊的形式實現。本申請不限制于任何特定形式的硬件和軟件的結合。
以上所述,僅為本發(fā)明的較佳實例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之 內。
權利要求
1.一種自適應大規(guī)模集群通信系統(tǒng)的通信方法,其特征在于,該方法包括 自適應大規(guī)模集群通信系統(tǒng)實時獲取本系統(tǒng)的網絡通信往返時間(IRTT)Tiktt和服務器處理時間TSOTVic;e,根據實時獲取的Tiktt和Tswvire實時更新超時閾值Tewiwt,按照更新的超時閾值進行超時處理操作。
2.如權利要求I所述的方法,其特征在于,根據實時獲取的Tiktt和T_viM實時更新超時閾值指按照如下公式實時計算超時閾值Tewiwt T 超時閾值一 Tiett+ λ Tservice ; 其中,λ為大于等于I的正數。
3.如權利要求2所述的方法,其特征在于, 所述λ的取值范圍為1. 3 > λ > I. I。
4.如權利要求I至3任一項所述的方法,其特征在于,根據實時獲取的Tiktt和Tswvire實時更新超時閾值的過程如下 實時獲取Tiktt和TSOTVira,若實時獲取的Tiktt與前一次獲取的Tiktt發(fā)生變化,和/或實時獲取的Tswvira與前一次獲取的Tswvire發(fā)生變化,則根據實時獲取的Tiktt和Tswvira更新超時閾值。
5.如權利要求4所述的方法,其特征在于, 所述Tiktt的值為從客戶端發(fā)出請求到達服務器的時間Tseq與從服務器端返回的數據包到達客戶端的時間Tadt的和。
6.一種自適應大規(guī)模集群通信系統(tǒng),其特征在于,該系統(tǒng)包括 第一模塊,實時獲取本系統(tǒng)的網絡通信往返時間(IRTT)Tiktt和服務器處理時間T . ·service , 第二模塊,根據實時獲取的Tiktt和T_viM實時更新超時閾值,按照更新的超時閾值進行超時處理操作。
7.如權利要求6所述的系統(tǒng),其特征在于,所述第二模塊按照如下公式實時計算超時閾值 T 超時閾值一 Tiett+ λ Tservice ; 其中,λ為大于等于I的正數。
8.如權利要求7所述的系統(tǒng),其特征在于, 所述λ的取值范圍為1. 3 > λ > I. I。
9.如權利要求6至8任一項所述的系統(tǒng),其特征在于, 所述第二模塊,在所述第一模塊實時獲取的Tiktt與前一次獲取的Tiktt發(fā)生變化,和/或所述第一模塊實時獲取的Tswvira與前一次獲取的Tswvira發(fā)生變化,則根據實時獲取的Tiktt和TSCTViM更新超時閾值。
10.如權利要求9所述的系統(tǒng),其特征在于, 所述第一模塊所獲取的Tiktt的值為從客戶端發(fā)出請求到達服務器的時間Tseq與從服務器端返回的數據包到達客戶端的時間Tadt的和。
全文摘要
本發(fā)明公開了一種自適應大規(guī)模集群通信系統(tǒng)及其通信方法,涉及大規(guī)模集群中分布式文件系統(tǒng)。本發(fā)明公開的方法包括自適應大規(guī)模集群通信系統(tǒng)實時獲取本系統(tǒng)的網絡通信往返時間(IRTT)TIRTT和服務器處理時間Tservice,根據實時獲取的TIRTT和Tservice實時更新超時閾值T超時閾值,按照更新的超時閾值進行超時處理操作。本發(fā)明還公開了一種自適應大規(guī)模集群通信系統(tǒng)。本申請技術方案節(jié)約了系統(tǒng)開銷,提高了通信質量,并實現集群的最優(yōu)化,提高集群系統(tǒng)的響應性、并發(fā)性和可靠性。
文檔編號H04L29/08GK102917068SQ20121041770
公開日2013年2月6日 申請日期2012年10月26日 優(yōu)先權日2012年10月26日
發(fā)明者范明彬, 王靜, 王通 申請人:浪潮(北京)電子信息產業(yè)有限公司