国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于cc-numa的報(bào)文處理方法、裝置和系統(tǒng)的制作方法

      文檔序號(hào):7846972閱讀:147來(lái)源:國(guó)知局
      專利名稱:基于cc-numa的報(bào)文處理方法、裝置和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及非均勻存儲(chǔ)訪問(wèn)技術(shù)領(lǐng)域,尤其涉及一種基于CC-NUMA的報(bào)文處理方法、裝置和系統(tǒng)。
      背景技術(shù)
      高速緩存一致性非均勻存儲(chǔ)訪問(wèn)系統(tǒng)(CC-NUMA,Cache CoherenceNon-uniform Memory Access)是目前應(yīng)用于大規(guī)模并行計(jì)算機(jī)設(shè)計(jì)中一種重要的系統(tǒng)結(jié)構(gòu)。在CC-NUMA 系統(tǒng)中,每個(gè)節(jié)點(diǎn)由節(jié)點(diǎn)控制器和多個(gè)中央處理器CPU組成,各節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)互連,每個(gè)中央處理器CPU既可以訪問(wèn)本地內(nèi)存資源也可以訪問(wèn)整個(gè)系統(tǒng)中其他節(jié)點(diǎn)上的資源,由于每個(gè)中央處理器訪問(wèn)本地內(nèi)存資源的速度比訪問(wèn)其他節(jié)點(diǎn)的內(nèi)存資源的速度要快,因此該系統(tǒng)被稱為“非均勻的”訪問(wèn)系統(tǒng)。在CC-NUMA系統(tǒng)中,每個(gè)節(jié)點(diǎn)中會(huì)有節(jié)點(diǎn)控制器,節(jié)點(diǎn)控制器可以完成分布式內(nèi)存的共享和緩存一致性維護(hù)。參見(jiàn)圖1,為現(xiàn)有技術(shù)中節(jié)點(diǎn)的基本結(jié)構(gòu)圖,可見(jiàn)該節(jié)點(diǎn)中節(jié)點(diǎn)控制器擁有兩個(gè)處理器CPU,每個(gè)處理器均通過(guò)一條快速通道互聯(lián)(QPI,Quick Path Interconnect)總線與該節(jié)點(diǎn)控制器相連;節(jié)點(diǎn)控制器上設(shè)有網(wǎng)絡(luò)接口 (Ni, Network Interface),系統(tǒng)中的各個(gè)節(jié)點(diǎn)通過(guò)網(wǎng)絡(luò)接口 NI互連的方式進(jìn)行擴(kuò)展,從而使整個(gè)系統(tǒng)中的內(nèi)存資源共享。當(dāng)本節(jié)點(diǎn)中的節(jié)點(diǎn)控制器通過(guò)網(wǎng)絡(luò)接口收到其他節(jié)點(diǎn)控制器發(fā)送的報(bào)文時(shí),節(jié)點(diǎn)控制器會(huì)將收到的報(bào)文進(jìn)行地址解析,并依據(jù)解析出的報(bào)文地址將報(bào)文發(fā)給對(duì)應(yīng)的處理器進(jìn)行處理,以完成對(duì)其內(nèi)存資源數(shù)據(jù)的訪問(wèn)。同樣,當(dāng)處理器需要訪問(wèn)遠(yuǎn)程資源時(shí),處理器可以通過(guò)QPI總線將報(bào)文發(fā)送給節(jié)點(diǎn)控制器,節(jié)點(diǎn)控制器根據(jù)報(bào)文的目的節(jié)點(diǎn)地址,查詢路由表,并通過(guò)與目的節(jié)點(diǎn)對(duì)應(yīng)的網(wǎng)絡(luò)接口將該報(bào)文發(fā)送到下一跳節(jié)點(diǎn),最終將報(bào)文發(fā)送到目的節(jié)點(diǎn)以便完成資源的訪問(wèn)。為了完成系統(tǒng)內(nèi)資源的共享,該節(jié)點(diǎn)控制器需要維護(hù)整個(gè)節(jié)點(diǎn)內(nèi)地址空間的目錄,并對(duì)訪問(wèn)兩個(gè)中央處理器的報(bào)文進(jìn)行路由選擇處理,系統(tǒng)資源訪問(wèn)效率較低。同時(shí),當(dāng)處理器與節(jié)點(diǎn)控制器之間的QPI總線連接失效,或者節(jié)點(diǎn)控制器自身出現(xiàn)故障,其他節(jié)點(diǎn)可能無(wú)法向該節(jié)點(diǎn)發(fā)送報(bào)文,無(wú)法訪問(wèn)該節(jié)點(diǎn)內(nèi)的資源,或者導(dǎo)致整個(gè)節(jié)點(diǎn)的報(bào)文處理中斷,進(jìn)而影響整個(gè)系統(tǒng)的資源訪問(wèn),系統(tǒng)資源訪問(wèn)的可靠性低。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明提供一種基于CC-NUMA的報(bào)文處理方法、裝置和系統(tǒng),以提高資源訪問(wèn)的效率以及可靠性。為實(shí)現(xiàn)以上目的,本發(fā)明提供了如下技術(shù)方案如下一種基于CC-NUMA的報(bào)文處理方法,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,所述方法包括接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;
      當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù);如果是,確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,通過(guò)與所述處理器相連的快速通道互聯(lián)總線將所述報(bào)文發(fā)送到所述處理器,以便所述處理器對(duì)所述報(bào)文進(jìn)行處理;如果否,則將所述報(bào)文轉(zhuǎn)發(fā)給本節(jié)點(diǎn)內(nèi)的另一節(jié)點(diǎn)控制器,以便所述另一節(jié)點(diǎn)控制器確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,將所述報(bào)文發(fā)送給該報(bào)文對(duì)應(yīng)的處理器進(jìn)行報(bào)文處理。一種基于CC-NUMA的報(bào)文處理方法,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,所述方法包括接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間是否在其所維護(hù)的地址空間內(nèi);如果是,確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,當(dāng)本節(jié)點(diǎn)控制器與所述處理器間的快速通道互聯(lián)總線的鏈路出現(xiàn)故障時(shí),將所述報(bào)文以及本節(jié)點(diǎn)控制器所維護(hù)的、至少包含所述報(bào)文對(duì)應(yīng)的地址空間的目錄,發(fā)送給另一節(jié)點(diǎn)控制器,以便所述另一節(jié)點(diǎn)控制器將所述報(bào)文轉(zhuǎn)發(fā)給所述處理器,并維護(hù)該報(bào)文對(duì)應(yīng)的地址空間的目錄。一種基于CC-NUMA的報(bào)文處理方法,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,包括獲取另一節(jié)點(diǎn)控制器的故障信息;通過(guò)廣播偵聽獲取所述另一節(jié)點(diǎn)控制器所維護(hù)的地址空間的目錄;接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,將所述報(bào)文發(fā)送給所述處理器。本發(fā)明還提供了一種基于CC-NUMA的報(bào)文處理裝置,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,該報(bào)文處理裝置包括報(bào)文接收單元,用于接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;地址分析單元,用于當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù),如果是,則執(zhí)行處理器地址判斷單元的操作;處理器地址判斷單元,用于確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器;報(bào)文發(fā)送單元,用于通過(guò)與所述處理器相連的快速通道互聯(lián)總線將所述報(bào)文發(fā)送到所述處理器,以便所述處理器對(duì)所述報(bào)文進(jìn)行處理。一種基于CC-NUMA的報(bào)文處理裝置,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,該報(bào)文處理裝置包括鏈路故障獲取單元,用于獲取系統(tǒng)中的快速通道互聯(lián)總線的鏈路連接故障;報(bào)文接收單元,用于接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;地址分析單元,用于當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù),如果是,則執(zhí)行處理器地址判斷單元的操作;處理器地址判斷單元,用于確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器;
      故障處理單元,用于當(dāng)本節(jié)點(diǎn)控制器與所述處理器之間鏈路出現(xiàn)故障時(shí),將所述報(bào)文以及本節(jié)點(diǎn)控制器所維護(hù)的、至少包含該報(bào)文對(duì)應(yīng)的地址空間的目錄,發(fā)送給另一節(jié)點(diǎn)控制器,以便所述另一節(jié)點(diǎn)控制器將所述報(bào)文轉(zhuǎn)發(fā)給所述處理器,并維護(hù)所述報(bào)文對(duì)應(yīng)的地址空間的目錄。一種基于CC-NUMA的報(bào)文處理裝置,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,該報(bào)文處理裝置包括控制器故障獲取單元,用于獲取另一節(jié)點(diǎn)控制器的故障信息;地址空間數(shù)據(jù)獲取單元,用于通過(guò)廣播偵聽獲取所述另一節(jié)點(diǎn)控制器所維護(hù)的地址空間的目錄;報(bào)文接收單元,用于接收其他節(jié)點(diǎn)的發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;地址分析單元,用于當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器;報(bào)文發(fā)送單元,用于將所述報(bào)文發(fā)送給所述處理器。一種基于CC-NUMA的報(bào)文處理系統(tǒng),包括,兩個(gè)節(jié)點(diǎn)控制器,以及至少兩個(gè)處理器;所述節(jié)點(diǎn)控制器與所述處理器之間通過(guò)快速通道互聯(lián)總線相連;所述兩個(gè)節(jié)點(diǎn)控制器之間通過(guò)網(wǎng)絡(luò)接口連接;所述節(jié)點(diǎn)控制器內(nèi)置有以上所述的基于CC-NUMA的報(bào)文處理裝置。從上述的技術(shù)方案可以看出,本發(fā)明實(shí)施例公開一種基于CC-NUMA的報(bào)文處理方法、裝置和系統(tǒng),該方法中當(dāng)節(jié)點(diǎn)控制器接收到其他節(jié)點(diǎn)發(fā)送的目的地址為本節(jié)點(diǎn)的報(bào)文時(shí),判斷該報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù),如果是,本節(jié)點(diǎn)控制器會(huì)確定該報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,并通過(guò)與該處理器相連的快速通道互聯(lián)總線將報(bào)文發(fā)送到該處理器;如果該報(bào)文對(duì)應(yīng)的地址空間不屬于該節(jié)點(diǎn)控制器所維護(hù)的地址空間,則該節(jié)點(diǎn)控制器將該報(bào)文轉(zhuǎn)發(fā)給另一節(jié)點(diǎn)控制器,以便另一節(jié)點(diǎn)控制器對(duì)該報(bào)文進(jìn)行處理,由于節(jié)點(diǎn)內(nèi)的兩個(gè)節(jié)點(diǎn)控制器分別維護(hù)一部分地址空間的數(shù)據(jù),同時(shí)兩個(gè)節(jié)點(diǎn)控制器都可以接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,并對(duì)接收到的報(bào)文的地址解析,以便將報(bào)文發(fā)送到對(duì)應(yīng)的處理器,以完成資源訪問(wèn),提高了資源訪問(wèn)的速度,進(jìn)而提高了系統(tǒng)性能。同時(shí),當(dāng)某條QPI鏈路出現(xiàn)故障時(shí),節(jié)點(diǎn)控制器可以獲取到QPI鏈路故障信息,當(dāng)接收到的報(bào)文對(duì)應(yīng)的地址空間所屬的處理器與該節(jié)點(diǎn)控制器間的QPI總線出現(xiàn)故障時(shí),該節(jié)點(diǎn)控制器可以將該報(bào)文以及該報(bào)文對(duì)應(yīng)的地址空間的目錄信息轉(zhuǎn)發(fā)給另一節(jié)點(diǎn)控制器, 由另一節(jié)點(diǎn)控制器將報(bào)文進(jìn)行處理并將報(bào)文發(fā)送到相應(yīng)的處理器,避免了由于鏈路故障而導(dǎo)致的通信中斷。當(dāng)本節(jié)點(diǎn)內(nèi)某一個(gè)節(jié)點(diǎn)控制器出現(xiàn)故障后,另一節(jié)點(diǎn)控制器可以獲取該節(jié)點(diǎn)控制器故障信息,并通過(guò)廣播偵聽獲取到該節(jié)點(diǎn)控制器所維護(hù)的地址空間的目錄信息,并由另一節(jié)點(diǎn)控制器對(duì)發(fā)往本節(jié)點(diǎn)內(nèi)的所有報(bào)文進(jìn)行處理,避免了由于本節(jié)點(diǎn)內(nèi)節(jié)點(diǎn)控制器自身故障,導(dǎo)致整個(gè)CC-NUMA系統(tǒng)的通信中斷。


      為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)
      7有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)中節(jié)點(diǎn)的基本結(jié)構(gòu)示意圖;圖2為本發(fā)明中節(jié)點(diǎn)的基本結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例公開的一種基于CC-NUMA的報(bào)文處理方法一個(gè)實(shí)施例的流程圖;圖4為本發(fā)明實(shí)施例公開的一種基于CC-NMUA的報(bào)文處理方法的另一個(gè)實(shí)施例的流程圖;圖5為本發(fā)明實(shí)施例公開的一種基于CC-NUMA的報(bào)文處理方法的另一個(gè)實(shí)施例的流程圖;圖6為本發(fā)明實(shí)施例公開的一種基于CC-NMUA的報(bào)文處理方法的另一個(gè)實(shí)施例的流程圖;圖7為本發(fā)明一個(gè)實(shí)施例公開的一種基于CC-NUMA的報(bào)文處理裝置的結(jié)構(gòu)示意圖;圖8為本發(fā)明一個(gè)實(shí)施例公開的一種基于CC-NUMA的報(bào)文處理裝置的結(jié)構(gòu)示意圖;圖9為本發(fā)明一個(gè)實(shí)施例公開的一種基于CC-NUMA的報(bào)文處理裝置的結(jié)構(gòu)示意圖。
      具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。為了解決現(xiàn)有技術(shù)中CC-NUMA系統(tǒng)在進(jìn)行資源訪問(wèn)時(shí)可能出現(xiàn)的問(wèn)題,本發(fā)明在一個(gè)節(jié)點(diǎn)內(nèi)配置兩個(gè)節(jié)點(diǎn)控制器(NC,Network Controller),每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄。其中地址空間也稱為系統(tǒng)地址,是用來(lái)定位CC-NUMA系統(tǒng)中資源的具體位置的。在CC-NUMA系統(tǒng)中,系統(tǒng)中的每個(gè)節(jié)點(diǎn)均會(huì)分配給一個(gè)區(qū)域的地址空間,節(jié)點(diǎn)的地址空間又分別分配給節(jié)點(diǎn)內(nèi)的處理器。例如,假設(shè)一個(gè)節(jié)點(diǎn)內(nèi)有兩個(gè)處理器CPU,系統(tǒng)中的節(jié)點(diǎn)1分配0-1TB的地址空間,其中節(jié)點(diǎn)1內(nèi)的處理器1和處理器2分別分配了其中的 512GB的地址空間;系統(tǒng)中的節(jié)點(diǎn)2分配了 1TB-2TB的地址空間,其中節(jié)點(diǎn)2的處理器1和處理器2分別分配了其中的512GB的地址空間,系統(tǒng)中其他節(jié)點(diǎn)的地址空間的分配依此類推。在現(xiàn)有技術(shù)中,一個(gè)節(jié)點(diǎn)內(nèi)設(shè)置有一個(gè)節(jié)點(diǎn)控制器,該節(jié)點(diǎn)控制器需要對(duì)整個(gè)節(jié)點(diǎn)的地址空間的目錄進(jìn)行維護(hù)。而本發(fā)明中一個(gè)節(jié)點(diǎn)內(nèi)會(huì)設(shè)置有兩個(gè)節(jié)點(diǎn)控制器,參見(jiàn)圖 2,為本發(fā)明中節(jié)點(diǎn)的基本結(jié)構(gòu)示意圖,以一個(gè)節(jié)點(diǎn)內(nèi)設(shè)置有兩個(gè)處理器CPU為例,本節(jié)點(diǎn)包括節(jié)點(diǎn)控制器NC1、節(jié)點(diǎn)控制器NC2、第一處理器CPUl和第二處理器CPU2,其中每個(gè)處理器通過(guò)第一快速通道互聯(lián)總線QPIO和第二快速互聯(lián)QPIl分別與節(jié)點(diǎn)控制器NCl和節(jié)點(diǎn)控制器NC2相連,節(jié)點(diǎn)控制器NCl和節(jié)點(diǎn)控制器NC2通過(guò)網(wǎng)絡(luò)接口 NI相連。每個(gè)節(jié)點(diǎn)控制器上均設(shè)有若干個(gè)網(wǎng)絡(luò)接口 Ni,本節(jié)點(diǎn)內(nèi)的節(jié)點(diǎn)控制器可以通過(guò)網(wǎng)絡(luò)接口 NI與其他節(jié)點(diǎn)中的節(jié)點(diǎn)控制器互連。本發(fā)明將本節(jié)點(diǎn)的地址空間分為兩個(gè)區(qū)域,每個(gè)節(jié)點(diǎn)控制器對(duì)一個(gè)區(qū)域的地址空間的目錄進(jìn)行維護(hù),如,本節(jié)點(diǎn)的地址空間可以分別分為第一地址空間和第二地址空間,其中一個(gè)節(jié)點(diǎn)控制器維護(hù)第一地址空間的目錄,另一個(gè)節(jié)點(diǎn)控制器維護(hù)第二地址空間的目錄。需要說(shuō)明的是,第一地址空間中可能會(huì)同時(shí)包含分配給第一處理器的地址空間的中一部分地址空間和分配給第二處理器的地址空間中的一部分地址空間,同樣第二地址空間也可能同時(shí)包含分配給第一處理器的地址空間中的一部分地址空間和分配給第二處理器的地址空間中的一部分地址空間。其中,維護(hù)地址空間的目錄,是指節(jié)點(diǎn)控制器對(duì)該地址空間的數(shù)據(jù)訪問(wèn)情況,以及該地址空間的數(shù)據(jù)狀態(tài)進(jìn)行記錄。如,當(dāng)其他節(jié)點(diǎn)中的處理器需要訪問(wèn)本節(jié)點(diǎn)中某處理器上保存的資源時(shí),其他節(jié)點(diǎn)的處理器會(huì)以報(bào)文的形式發(fā)送資源訪問(wèn)請(qǐng)求,當(dāng)本節(jié)點(diǎn)的節(jié)點(diǎn)控制器接收到報(bào)文后,需要在地址空間的目錄中記錄該報(bào)文請(qǐng)求訪問(wèn)的資源數(shù)據(jù)的處理狀態(tài)(如請(qǐng)求訪問(wèn)的地址空間的數(shù)據(jù)狀態(tài)可以為修改態(tài)、獨(dú)占態(tài)、共享態(tài)等),以及發(fā)送報(bào)文的節(jié)點(diǎn)ID和處理器ID等信息。本發(fā)明中每個(gè)節(jié)點(diǎn)設(shè)置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器均設(shè)有若干個(gè)與其他節(jié)點(diǎn)的節(jié)點(diǎn)控制器相連的網(wǎng)絡(luò)接口 Ni,與現(xiàn)有技術(shù)相比,CC-NUMA系統(tǒng)中的每個(gè)節(jié)點(diǎn)所提供的用于與其他節(jié)點(diǎn)相連的NI接口數(shù)量是現(xiàn)有技術(shù)中每個(gè)節(jié)點(diǎn)所提供的用于節(jié)點(diǎn)之間互聯(lián)的NI接口數(shù)量的兩倍,因此,當(dāng)CC-NUMA系統(tǒng)內(nèi)各個(gè)節(jié)點(diǎn)相互連接成較大的拓?fù)渚W(wǎng),整個(gè)系統(tǒng)中不同節(jié)點(diǎn)之間進(jìn)行通信時(shí),報(bào)文從源節(jié)點(diǎn)發(fā)送到目的節(jié)點(diǎn)的過(guò)程中,經(jīng)過(guò)的中間節(jié)點(diǎn)的平均跳數(shù)減少,提高了系統(tǒng)性能?;诒景l(fā)明的節(jié)點(diǎn)結(jié)構(gòu),參見(jiàn)圖3,為本發(fā)明的一種基于CC-NUMA的報(bào)文處理方法一個(gè)實(shí)施例的流程示意圖,本發(fā)明中一個(gè)節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,兩個(gè)節(jié)點(diǎn)控制器通過(guò)網(wǎng)絡(luò)接口互連,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,該方法包括步驟301 第一節(jié)點(diǎn)控制器接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)該報(bào)文進(jìn)行地址解析。當(dāng)其他節(jié)點(diǎn)中的處理器需要訪問(wèn)本節(jié)點(diǎn)中某處理器CPU中的資源時(shí),其他節(jié)點(diǎn)的處理器可以向本節(jié)點(diǎn)發(fā)送報(bào)文,該報(bào)文中包含需要訪問(wèn)的目的節(jié)點(diǎn)的地址(目的節(jié)點(diǎn)ID)、 目的處理器的地址(處理器ID),以及訪問(wèn)的地址空間的數(shù)據(jù)請(qǐng)求等。本節(jié)點(diǎn)中的節(jié)點(diǎn)控制器通過(guò)網(wǎng)絡(luò)接口 NI接收到其他節(jié)點(diǎn)發(fā)送的到報(bào)文后,一般會(huì)進(jìn)行循環(huán)冗余校驗(yàn)(CRC, Cyclic Redundancy Check), CRC校驗(yàn)正確后,對(duì)接收到的報(bào)文進(jìn)行地址解析,即對(duì)報(bào)文進(jìn)行地址譯碼,以判斷出該報(bào)文的目的地址是否為本節(jié)點(diǎn),如果報(bào)文的目的地址不是本節(jié)點(diǎn), 則節(jié)點(diǎn)控制器會(huì)查詢路由表,依據(jù)路由表將該報(bào)文轉(zhuǎn)發(fā)給其他節(jié)點(diǎn)中的節(jié)點(diǎn)控制器;當(dāng)該報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),就需要由該節(jié)點(diǎn)控制器進(jìn)行相應(yīng)的處理,以便最終將報(bào)文發(fā)送給本節(jié)點(diǎn)內(nèi)與該報(bào)文請(qǐng)求訪問(wèn)的地址空間數(shù)據(jù)相對(duì)應(yīng)的處理器。步驟302 當(dāng)該報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),第一節(jié)點(diǎn)控制器判斷該報(bào)文對(duì)應(yīng)的地址空間的目錄是否由第一節(jié)點(diǎn)控制器所維護(hù),如果是,則進(jìn)入步驟303;如果否,則進(jìn)入步驟304。當(dāng)?shù)谝还?jié)點(diǎn)控制器根據(jù)解析出的地址確定出該報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),第一節(jié)點(diǎn)控制器還需要依據(jù)解析出的地址,判斷該報(bào)文對(duì)應(yīng)的地址空間,即該報(bào)文需要訪問(wèn)的地址空間,以及該報(bào)文所需訪問(wèn)的地址空間的目錄是否由第一節(jié)點(diǎn)控制器來(lái)維護(hù)。為了確定出報(bào)文對(duì)應(yīng)的地址空間是由第一節(jié)點(diǎn)控制器維護(hù)還是第二節(jié)點(diǎn)控制器維護(hù),可以預(yù)先設(shè)定地址空間的奇偶校驗(yàn)位,并預(yù)先設(shè)定奇偶校驗(yàn)位與節(jié)點(diǎn)控制器之間的對(duì)應(yīng)關(guān)系。具體將地址空間中的第幾位設(shè)定為奇偶校驗(yàn)位可以根據(jù)需要進(jìn)行設(shè)定,例如,可以將地址空間中第6位設(shè)定為奇偶校驗(yàn)位,且設(shè)定為地址空間中的奇偶校驗(yàn)位為“0”時(shí),對(duì)應(yīng)的地址空間的目錄由第一節(jié)點(diǎn)控制器維護(hù);當(dāng)?shù)刂房臻g中的奇偶校驗(yàn)位為“1”時(shí),則對(duì)應(yīng)的地址空間的目錄由第二節(jié)點(diǎn)控制器維護(hù),因此在地址空間中前面的連續(xù)32個(gè)地址空間的目錄由第一節(jié)點(diǎn)控制器來(lái)維護(hù),該32個(gè)連續(xù)的地址空間依次向后的32個(gè)連續(xù)地址空間的目錄由第二節(jié)點(diǎn)控制器來(lái)維護(hù),且后續(xù)的地址空間的目錄維護(hù)也是依次交替的由第一節(jié)點(diǎn)控制器或第二節(jié)點(diǎn)控制器來(lái)維護(hù)。具體將地址空間中的第幾位設(shè)定為奇偶校驗(yàn)位可以根據(jù)需要設(shè)定。為了能合理的分配第一節(jié)點(diǎn)控制器和第二節(jié)點(diǎn)控制器維護(hù)的地址空間的目錄,可以在地址空間中的第6 位到第10位中選擇一位作為奇偶校驗(yàn)位。當(dāng)然,也可以在地址空間中選擇連續(xù)的兩位作為奇偶校驗(yàn)位,如,可以在將地址空間中第五位和第六位一起作為奇偶校驗(yàn)位,當(dāng)?shù)刂房臻g中第五位和第六位都為“0”或都為“1”時(shí),對(duì)應(yīng)的地址空間的目錄由第一節(jié)點(diǎn)控制器來(lái)維護(hù), 而地址空間中的第五位和第六位的數(shù)字不同時(shí),對(duì)應(yīng)的地址空間的目錄由第二節(jié)點(diǎn)控制器來(lái)維護(hù)。當(dāng)然,還可以有其他方式來(lái)區(qū)分第一節(jié)點(diǎn)控制器和第二節(jié)點(diǎn)控制器維護(hù)的地址空間的目錄,在此不一一列舉。當(dāng)?shù)谝还?jié)點(diǎn)控制器對(duì)接收到的報(bào)文進(jìn)行地址解析之后,就可以根據(jù)該報(bào)文對(duì)應(yīng)的地址空間的奇偶校驗(yàn)位與節(jié)點(diǎn)控制器之間的對(duì)應(yīng)關(guān)系,判斷該報(bào)文對(duì)應(yīng)的地址空間的奇偶校驗(yàn)位是否對(duì)應(yīng)第一節(jié)點(diǎn)控制器,如果是,則該報(bào)文對(duì)應(yīng)的地址空間的目錄是由第一節(jié)點(diǎn)控制器所維護(hù)。例如,第一節(jié)點(diǎn)控制器接收到報(bào)文以后,對(duì)報(bào)文進(jìn)行地址解析,判斷出該報(bào)文請(qǐng)求訪問(wèn)的數(shù)據(jù)資源的地址中奇偶校驗(yàn)位(如地址中的第五位)為“0”時(shí),則該報(bào)文需要訪問(wèn)的地址空間的目錄是由第一節(jié)點(diǎn)控制器所維護(hù),否則由第二節(jié)點(diǎn)控制器所維護(hù)。步驟303 第一節(jié)點(diǎn)控制器確定該報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,通過(guò)與該處理器相連的快速通道互聯(lián)總線將該報(bào)文發(fā)送到該處理器,以便該處理器對(duì)該報(bào)文進(jìn)行處理。當(dāng)該報(bào)文所請(qǐng)求訪問(wèn)的地址空間所對(duì)應(yīng)的目錄是由第一節(jié)點(diǎn)控制器來(lái)維護(hù)時(shí),第一節(jié)點(diǎn)控制器就可以依據(jù)對(duì)該報(bào)文的地址解析的結(jié)果,確定該報(bào)文所需訪問(wèn)的地址空間所歸屬的處理器。在確定了報(bào)文請(qǐng)求訪問(wèn)的地址空間所在的處理器后,第一節(jié)點(diǎn)控制器就可以查詢路由表,依據(jù)預(yù)先配置的端口路由路徑,通過(guò)第一節(jié)點(diǎn)控制器與該處理器相連的快速通道互聯(lián)總線QPI,將該報(bào)文發(fā)送至該處理器,以便該處理器對(duì)該報(bào)文進(jìn)行處理。步驟304 第一節(jié)點(diǎn)控制器將該報(bào)文轉(zhuǎn)發(fā)給本節(jié)點(diǎn)內(nèi)的第二節(jié)點(diǎn)控制器,以便第二節(jié)點(diǎn)控制器確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,將所述報(bào)文發(fā)送給該報(bào)文對(duì)應(yīng)的處理器進(jìn)行報(bào)文處理。如果該報(bào)文所需訪問(wèn)的地址空間對(duì)應(yīng)的目錄并不是由第一節(jié)點(diǎn)控制器所維護(hù),則第一節(jié)點(diǎn)控制器通過(guò)第一節(jié)點(diǎn)控制器與第二節(jié)點(diǎn)控制器之間的網(wǎng)絡(luò)接口 Ni,將該報(bào)文轉(zhuǎn)發(fā)給第二節(jié)點(diǎn)控制器。第二節(jié)點(diǎn)控制器接收到該報(bào)文后,對(duì)該報(bào)文進(jìn)行地址解析,確定該報(bào)文所需訪問(wèn)的地址空間屬于本節(jié)點(diǎn)內(nèi)的哪個(gè)處理器,并由第二節(jié)點(diǎn)控制器依據(jù)預(yù)先配置的端口路徑,通過(guò)第二節(jié)點(diǎn)控制器與該處理器之間的快速通道互聯(lián)總線將該報(bào)文轉(zhuǎn)發(fā)給該處理器,并由該處理器對(duì)報(bào)文進(jìn)行處理。在本實(shí)施例的方法中,本節(jié)點(diǎn)中某節(jié)點(diǎn)控制器接收到其他節(jié)點(diǎn)發(fā)送的報(bào)文后,對(duì)報(bào)文進(jìn)行地址解析,當(dāng)該報(bào)文對(duì)應(yīng)的地址空間的目錄在該節(jié)點(diǎn)控制器所維護(hù)的地址空間內(nèi),該節(jié)點(diǎn)控制器會(huì)進(jìn)一步確定該報(bào)文對(duì)應(yīng)的地址空間所屬的處理器,并通過(guò)與該處理器相連的快速通道互聯(lián)總線將報(bào)文發(fā)送到該處理器;如果該報(bào)文對(duì)應(yīng)的地址空間的目錄不由該節(jié)點(diǎn)控制器所維護(hù),則該節(jié)點(diǎn)控制器將該報(bào)文轉(zhuǎn)發(fā)給本節(jié)點(diǎn)內(nèi)的另一節(jié)點(diǎn)控制器,以便另一節(jié)點(diǎn)控制器對(duì)該報(bào)文進(jìn)行處理。由于節(jié)點(diǎn)內(nèi)地址空間的目錄可以分成兩部分,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其中一部分地址空間的數(shù)據(jù),這樣CC-NUMA系統(tǒng)中其他節(jié)點(diǎn)需要訪問(wèn)本節(jié)點(diǎn)的處理器中的資源時(shí),可以根據(jù)路由路徑選擇向本節(jié)點(diǎn)內(nèi)的哪個(gè)節(jié)點(diǎn)控制器發(fā)送報(bào)文,本節(jié)點(diǎn)中的兩個(gè)節(jié)點(diǎn)控制器可以接收不同的報(bào)文請(qǐng)求,并分別進(jìn)行報(bào)文的地址解析,維護(hù)其對(duì)應(yīng)的地址空間的目錄,并進(jìn)行將報(bào)文發(fā)送到對(duì)應(yīng)的處理器的操作,由于兩個(gè)節(jié)點(diǎn)控制器同時(shí)工作,以完成資源訪問(wèn),且與現(xiàn)有技術(shù)相比,每個(gè)節(jié)點(diǎn)控制器維護(hù)的地址空間的目錄減少,節(jié)點(diǎn)控制器的報(bào)文處理速度加快,進(jìn)而提高了系統(tǒng)資源訪問(wèn)的速度,進(jìn)而提高了系統(tǒng)性能。需要說(shuō)明的是,在步驟303中,當(dāng)?shù)谝还?jié)點(diǎn)控制器將報(bào)文發(fā)送到該報(bào)文對(duì)應(yīng)的地址空間所在的處理器后,處理器依據(jù)該報(bào)文所需訪問(wèn)的地址空間的數(shù)據(jù)資源對(duì)該報(bào)文進(jìn)行相應(yīng)的處理,并將處理后的報(bào)文發(fā)送給第一節(jié)點(diǎn)控制器,以便第一節(jié)點(diǎn)控制器將處理后的報(bào)文返回給發(fā)送報(bào)文的源節(jié)點(diǎn),即發(fā)送資源訪問(wèn)請(qǐng)求的節(jié)點(diǎn)。同樣,當(dāng)?shù)诙?jié)點(diǎn)控制器將報(bào)文發(fā)送給該報(bào)文對(duì)應(yīng)的地址空間所在的處理器之后,處理器也會(huì)將處理后的報(bào)文返回給第二節(jié)點(diǎn)控制器,第二節(jié)點(diǎn)控制器可以查詢路由表,選擇網(wǎng)絡(luò)接口 NI將處理后的報(bào)文返回給發(fā)起資源訪問(wèn)請(qǐng)求的源節(jié)點(diǎn)。參見(jiàn)圖4,為本發(fā)明實(shí)施例公開的一種基于CC-NUMA的報(bào)文處理方法的另一個(gè)實(shí)施例的流程圖,本發(fā)明的節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,本實(shí)施例的方法包括步驟401 第一節(jié)點(diǎn)控制器接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)該報(bào)文進(jìn)行地址解析。步驟402 當(dāng)該報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),第一節(jié)點(diǎn)控制器判斷該報(bào)文對(duì)應(yīng)的地址空間的目錄是否由第一節(jié)點(diǎn)控制器所維護(hù),如果是,則進(jìn)入步驟403;如果否,則進(jìn)入步驟404。步驟403 第一節(jié)點(diǎn)控制器確定該報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,通過(guò)與該處理器相連的快速通道互聯(lián)總線將該報(bào)文發(fā)送到該處理器。步驟404 第一節(jié)點(diǎn)控制器將該報(bào)文轉(zhuǎn)發(fā)給第二節(jié)點(diǎn)控制器,第二節(jié)點(diǎn)控制器接收該報(bào)文,并對(duì)報(bào)文進(jìn)行地址解析,確定該報(bào)文對(duì)應(yīng)的地址空間所屬的處理器,維護(hù)該報(bào)文對(duì)應(yīng)的地址空間的目錄,并將報(bào)文發(fā)送到該處理器。步驟405 處理器接收第一節(jié)點(diǎn)控制器或第二節(jié)點(diǎn)控制器發(fā)送的報(bào)文后,對(duì)該報(bào)文進(jìn)行處理,并判斷該報(bào)文對(duì)應(yīng)的地址空間的目錄是否由第一節(jié)點(diǎn)控制器所維護(hù),如果是, 則該處理器將處理后的報(bào)文發(fā)送給第一節(jié)點(diǎn)控制器,以便第一節(jié)點(diǎn)控制器將處理后的報(bào)文返回源節(jié)點(diǎn);如果否,則該處理器將處理后的報(bào)文發(fā)送給第二節(jié)點(diǎn)控制器,以便第二處理器將處理后的報(bào)文返回源節(jié)點(diǎn)。處理器接收到報(bào)文之后,依據(jù)該報(bào)文所請(qǐng)求的地址空間的數(shù)據(jù),對(duì)該報(bào)文進(jìn)行處理,由于節(jié)點(diǎn)控制器需要對(duì)報(bào)文所訪問(wèn)的地址空間的數(shù)據(jù)狀態(tài)等信息進(jìn)行記錄,所以處理后的報(bào)文仍需要返回相應(yīng)的節(jié)點(diǎn)控制器,以便節(jié)點(diǎn)控制器對(duì)該報(bào)文所請(qǐng)求訪問(wèn)的地址空間的目錄進(jìn)行維護(hù)。因此,處理器完成報(bào)文處理后,需要判斷哪個(gè)節(jié)點(diǎn)控制器維護(hù)該報(bào)文對(duì)應(yīng)的地址空間的目錄,并將處理后的報(bào)文返回給該節(jié)點(diǎn)控制器。最后節(jié)點(diǎn)控制器將處理器后的報(bào)文返回給發(fā)送報(bào)文的源節(jié)點(diǎn)。需要說(shuō)明的是,由于節(jié)點(diǎn)控制器將接收到的報(bào)文后,需要判斷該報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù),如果是,則本節(jié)點(diǎn)控制器將報(bào)文發(fā)送后該報(bào)文對(duì)應(yīng)的地址空間所在的處理器,因此,處理器可以將該報(bào)文直接返回給本節(jié)點(diǎn)內(nèi)向其發(fā)送報(bào)文的節(jié)點(diǎn)控制器,也就是說(shuō),當(dāng)?shù)谝还?jié)點(diǎn)控制器將報(bào)文發(fā)送到本節(jié)點(diǎn)內(nèi)的某處理器后,該處理器會(huì)對(duì)該報(bào)文進(jìn)行處理,并將處理后的報(bào)文返回給第一節(jié)點(diǎn)控制器;當(dāng)?shù)诙?jié)點(diǎn)控制器將報(bào)文發(fā)送到本節(jié)點(diǎn)內(nèi)的某處理器后,該處理器會(huì)對(duì)該報(bào)文進(jìn)行處理,并將處理后的報(bào)文返回給第二節(jié)點(diǎn)控制器。步驟406 第一節(jié)點(diǎn)控制器或第二節(jié)點(diǎn)控制器接收到處理器返回的處理后的報(bào)文后,更新該處理后的報(bào)文對(duì)應(yīng)的地址空間的目錄,并將該處理后的報(bào)文返回給發(fā)送該報(bào)文的源節(jié)點(diǎn)。需要說(shuō)明的是,本發(fā)明中當(dāng)節(jié)點(diǎn)控制器接收到其他節(jié)點(diǎn)發(fā)送的報(bào)文后,會(huì)判斷該報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)維護(hù),如果是,則本節(jié)點(diǎn)控制器還需要更新該報(bào)文對(duì)應(yīng)的地址空間的目錄,如,記錄發(fā)送該報(bào)文請(qǐng)求的源節(jié)點(diǎn)等信息,當(dāng)該報(bào)文請(qǐng)求訪問(wèn)的處理器返回處理后的報(bào)文時(shí),本節(jié)點(diǎn)控制器還需要對(duì)報(bào)文請(qǐng)求的數(shù)據(jù)狀態(tài)進(jìn)行記錄等,因此當(dāng)節(jié)點(diǎn)控制器確定接收到其他節(jié)點(diǎn)發(fā)送的報(bào)文對(duì)應(yīng)的地址空間的目錄由本節(jié)點(diǎn)控制器所維護(hù)之后,且在該節(jié)點(diǎn)控制器將該處理后報(bào)文返回給源節(jié)點(diǎn)之前,該節(jié)點(diǎn)控制器需要對(duì)該報(bào)文對(duì)應(yīng)的地址空間的目錄進(jìn)行維護(hù)。以上兩個(gè)實(shí)施例都是以本節(jié)點(diǎn)接收到其他節(jié)點(diǎn)請(qǐng)求資源訪問(wèn)的報(bào)文為例,對(duì)本節(jié)點(diǎn)內(nèi)節(jié)點(diǎn)控制器以及處理器接收到報(bào)文之后的處理過(guò)程進(jìn)行的描述。當(dāng)本節(jié)點(diǎn)中的某處理器需要訪問(wèn)其他節(jié)點(diǎn)中某處理器上的資源時(shí),本節(jié)點(diǎn)中的該處理器也可以生成資源訪問(wèn)請(qǐng)求的報(bào)文,并查詢路由表,選擇最優(yōu)路由路徑,依據(jù)最優(yōu)的路由路徑確定將生成的報(bào)文發(fā)送給第一節(jié)點(diǎn)控制器還是第二節(jié)點(diǎn)控制器,第一節(jié)點(diǎn)控制器或第二節(jié)點(diǎn)控制器接收到本節(jié)點(diǎn)內(nèi)某處理器發(fā)送的報(bào)文之后,也會(huì)查詢自身的路由表以確定通過(guò)本節(jié)點(diǎn)控制器中的哪個(gè)對(duì)外連接的NI接口將該報(bào)文轉(zhuǎn)發(fā)出去。該過(guò)程與現(xiàn)有技術(shù)中本節(jié)點(diǎn)的處理器發(fā)送其他節(jié)點(diǎn)的處理器中資源的報(bào)文的過(guò)程相同,在此不再贅述。在CC-NUMA系統(tǒng)中,節(jié)點(diǎn)內(nèi)的某節(jié)點(diǎn)控制器與某處理器之間的快速通道互聯(lián)總線 QPI可能會(huì)出現(xiàn)故障,現(xiàn)有技術(shù)中,當(dāng)節(jié)點(diǎn)控制器與某處理器之間的快速通道互聯(lián)總線QPI 出現(xiàn)故障,導(dǎo)致鏈路失效,就會(huì)無(wú)法進(jìn)行報(bào)文的發(fā)送處理,引起資源訪問(wèn)的通信中斷。為了避免QPI鏈路故障造成的通信中斷,參見(jiàn)圖5,為本發(fā)明一種基于CC-NUMA的報(bào)文處理方法的另一個(gè)實(shí)施例的流程示意圖,本實(shí)施例應(yīng)用于節(jié)點(diǎn)控制器與處理器之間的快速通道互聯(lián)總線出現(xiàn)故障的情況,與以上實(shí)施例相同,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器, 每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄。本實(shí)施例的報(bào)文處理方法包括
      步驟501 第一節(jié)點(diǎn)控制器接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)報(bào)文進(jìn)行地址解析。步驟502 當(dāng)?shù)谝还?jié)點(diǎn)控制器判斷出該報(bào)文的目的地址為本節(jié)點(diǎn)且該報(bào)文對(duì)應(yīng)的地址空間在第一節(jié)點(diǎn)控制器所維護(hù)的地址空間內(nèi)時(shí),確定該報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器。其中,步驟501和步驟502的操作與以上實(shí)施例所描述的相應(yīng)操作過(guò)程相同,在此不再贅述。步驟503 如果第一節(jié)點(diǎn)控制器與該處理器間的快速通道互聯(lián)總線的鏈路出現(xiàn)故障,第一節(jié)點(diǎn)控制器將該報(bào)文以及第一節(jié)點(diǎn)控制器所維護(hù)的、至少包含該報(bào)文對(duì)應(yīng)的地址空間的目錄發(fā)送給第二節(jié)點(diǎn)控制器,以便第二節(jié)點(diǎn)控制器維護(hù)該報(bào)文對(duì)應(yīng)的地址空間的目錄,并將該報(bào)文轉(zhuǎn)發(fā)給該報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器。為了確定鏈路故障,節(jié)點(diǎn)內(nèi)的節(jié)點(diǎn)控制器需要獲取節(jié)點(diǎn)控制器與處理器間的快速通道互聯(lián)總線QPI的鏈路故障。當(dāng)節(jié)點(diǎn)內(nèi)中任何一條連接節(jié)點(diǎn)控制器與處理器的快速互聯(lián)通道出現(xiàn)故障后,節(jié)點(diǎn)中的兩個(gè)處理器均可以獲取到該鏈路出現(xiàn)故障的信息。當(dāng)節(jié)點(diǎn)中的快速通道互聯(lián)總線出現(xiàn)故障后,故障的中斷源會(huì)將該中斷故障信息上報(bào)給處理器,處理器會(huì)將快速通道互聯(lián)總線的鏈路故障通知給本節(jié)點(diǎn)內(nèi)的節(jié)點(diǎn)控制器,節(jié)點(diǎn)控制器接收處理器發(fā)送的快速通道互聯(lián)總線的鏈路故障信息。如,當(dāng)節(jié)點(diǎn)內(nèi)的第一節(jié)點(diǎn)控制器與某處理器間的快速通道互聯(lián)總線出現(xiàn)故障后,處理器接收到的第一節(jié)點(diǎn)控制器發(fā)送的報(bào)文數(shù)據(jù)會(huì)產(chǎn)生錯(cuò)誤,當(dāng)產(chǎn)生的錯(cuò)誤數(shù)據(jù)的包數(shù)超過(guò)預(yù)設(shè)值時(shí),處理器確定第一節(jié)點(diǎn)控制器與該處理器間的快速通道互聯(lián)總線出現(xiàn)故障,該處理器會(huì)將檢測(cè)出的鏈路故障通知給第一節(jié)點(diǎn)控制器和第二節(jié)點(diǎn)控制器。當(dāng)然,當(dāng)與節(jié)點(diǎn)控制器相連的鏈路故障出現(xiàn)部題后,節(jié)點(diǎn)控制器也可以檢測(cè)與其相連的QPI鏈路故障,并將故障上報(bào)給節(jié)點(diǎn)中的某個(gè)處理器,該處理器將該鏈路故障通知其他處理器以及另一節(jié)點(diǎn)控制器。也可以由檢測(cè)出快速通道互聯(lián)總線鏈路故障的節(jié)點(diǎn)控制器將該快速通道互聯(lián)總線的鏈路故障通知給另一節(jié)點(diǎn)控制器。當(dāng)?shù)谝还?jié)點(diǎn)控制器與處理器間的鏈路出現(xiàn)故障后,處理器或第一節(jié)點(diǎn)控制器會(huì)調(diào)用基本輸入輸出系統(tǒng)BIOS程序,進(jìn)行端口路由路徑配置,更改第一節(jié)點(diǎn)控制器發(fā)送報(bào)文到該處理器的端口路由路徑,將第一節(jié)點(diǎn)控制器與該處理器間的路徑更改為通過(guò)第一節(jié)點(diǎn)控制器與第二節(jié)點(diǎn)控制器間的網(wǎng)絡(luò)接口 NI的路由路徑。例如,當(dāng)?shù)谝还?jié)點(diǎn)控制器與本節(jié)點(diǎn)內(nèi)的第一處理器間的快速通道互聯(lián)總線出現(xiàn)故障時(shí),第一節(jié)點(diǎn)控制器到第一處理器間的路由路徑會(huì)重新配置,當(dāng)?shù)谝还?jié)點(diǎn)控制器接收到報(bào)文后,確定報(bào)文對(duì)應(yīng)的地址空間的目錄由自身維護(hù)且該報(bào)文是發(fā)往第一處理器的,由于此時(shí)第一節(jié)點(diǎn)控制器與第一處理器間的快速通道互聯(lián)總線出現(xiàn)故障,第一節(jié)點(diǎn)控制器會(huì)執(zhí)行中斷處理程序,依據(jù)重新配置的端口路由路徑,通過(guò)與第二節(jié)點(diǎn)控制器間的網(wǎng)絡(luò)接口 Ni, 將該報(bào)文以及第一節(jié)點(diǎn)控制器維護(hù)的、至少包含該報(bào)文對(duì)應(yīng)的地址空間的目錄,發(fā)送給第二節(jié)點(diǎn)控制器。當(dāng)?shù)诙?jié)點(diǎn)控制器接收到第一節(jié)點(diǎn)控制器轉(zhuǎn)發(fā)報(bào)文后,第二節(jié)點(diǎn)控制器也需要對(duì)報(bào)文進(jìn)行地址解析,確定該報(bào)文的地址空間歸屬于本節(jié)點(diǎn)內(nèi)的哪個(gè)處理器,并通過(guò)與該處理器相連的快速通道互聯(lián)總線,將報(bào)文發(fā)送給該處理器,以便處理器對(duì)該報(bào)文進(jìn)行處理。當(dāng)然,該處理器完成報(bào)文處理后會(huì)將處理后的報(bào)文再返回給第二節(jié)點(diǎn)控制器,整個(gè)報(bào)文的處
      13理過(guò)程中,第二節(jié)點(diǎn)控制器都會(huì)對(duì)該報(bào)文對(duì)應(yīng)的地址空間的目錄進(jìn)行維護(hù),并最終將處理器返回的處理后的報(bào)文返回給發(fā)送數(shù)據(jù)請(qǐng)求報(bào)文的源節(jié)點(diǎn)。需要說(shuō)明的是,當(dāng)?shù)谝还?jié)點(diǎn)控制器與該處理器間的快速通道互聯(lián)總線的鏈路出現(xiàn)故障,第一節(jié)點(diǎn)控制器也可以僅將該報(bào)文發(fā)送給第二節(jié)點(diǎn)控制器,第二節(jié)點(diǎn)控制器對(duì)報(bào)文進(jìn)行地址解析,將報(bào)文發(fā)送給該對(duì)應(yīng)所請(qǐng)求訪問(wèn)的處理器。在第二節(jié)點(diǎn)控制器需要對(duì)該報(bào)文的地址空間的目錄內(nèi)容進(jìn)行讀寫修改或回寫時(shí),通過(guò)與第一節(jié)點(diǎn)控制器之間的OT接口將對(duì)目錄修改的請(qǐng)求發(fā)送給第一節(jié)點(diǎn)控制器,并由第一節(jié)點(diǎn)控制器對(duì)該報(bào)文對(duì)應(yīng)的地址空間的目錄進(jìn)行維護(hù)。本實(shí)施例中,當(dāng)節(jié)點(diǎn)內(nèi)某條QPI鏈路出現(xiàn)故障時(shí),節(jié)點(diǎn)控制器可以獲取到QPI鏈路故障信息,當(dāng)?shù)谝还?jié)點(diǎn)控制器接收到的報(bào)文,確定該報(bào)文對(duì)應(yīng)的地址空間所屬的處理器,當(dāng)該處理器與第一節(jié)點(diǎn)控制器間的QPI總線出現(xiàn)故障時(shí),第一節(jié)點(diǎn)控制器可以將該報(bào)文以及該報(bào)文對(duì)應(yīng)的地址空間的目錄信息轉(zhuǎn)發(fā)給第二節(jié)點(diǎn)控制器,由第二節(jié)點(diǎn)控制器將報(bào)文進(jìn)行地址解析,確定出該報(bào)文對(duì)應(yīng)的地址空間歸屬于本節(jié)點(diǎn)內(nèi)的哪個(gè)處理器,并通過(guò)與該處理器相連的快速通道互聯(lián)總線將該報(bào)文發(fā)送到該處理器,因此,即使節(jié)點(diǎn)內(nèi)某條QPI鏈路出現(xiàn)故障后,仍可以選擇新的路由路徑,將報(bào)文發(fā)送到對(duì)應(yīng)的處理器,避免了由于鏈路故障而導(dǎo)致的通信中斷。在現(xiàn)有技術(shù)中,當(dāng)本節(jié)點(diǎn)中的節(jié)點(diǎn)控制器出現(xiàn)故障,該節(jié)點(diǎn)控制器無(wú)法建立地址空間的目錄,如,節(jié)點(diǎn)控制器中存儲(chǔ)地址空間目錄的存儲(chǔ)器失效,該節(jié)點(diǎn)控制器不可以重新獲取地址空間的目錄。在此情況下,其他節(jié)點(diǎn)可能無(wú)法訪問(wèn)本節(jié)點(diǎn)的處理器中保存的數(shù)據(jù)資源,本節(jié)點(diǎn)也無(wú)法接收、處理或轉(zhuǎn)發(fā)其他節(jié)點(diǎn)發(fā)送的報(bào)文,進(jìn)而影響整個(gè)CC-NUMA系統(tǒng)的資源訪問(wèn)。為了解決這一問(wèn)題,參見(jiàn)圖6,為本發(fā)明一種基于CC-NUMA的報(bào)文處理方法的另一個(gè)實(shí)施例的流程示意圖,本實(shí)施例中在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄。本實(shí)施例適用于節(jié)點(diǎn)內(nèi)的某個(gè)節(jié)點(diǎn)控制器出現(xiàn)故障的情況下,本實(shí)施例的方法包括步驟601 第一節(jié)點(diǎn)控制器獲取第二節(jié)點(diǎn)控制器的故障信息;第二節(jié)點(diǎn)控制器自身的目錄丟失,或者第二節(jié)點(diǎn)控制器內(nèi)部存儲(chǔ)地址空間目錄的存儲(chǔ)器出現(xiàn)故障,導(dǎo)致第二節(jié)點(diǎn)控制器不能進(jìn)行地址空間的目錄維護(hù)時(shí),故障中斷源將第二節(jié)點(diǎn)控制器的故障信息上報(bào)給本節(jié)點(diǎn)內(nèi)的某處理器,該處理器會(huì)第二節(jié)點(diǎn)控制器的故障信息通知給節(jié)點(diǎn)內(nèi)的其他處理器以及第一節(jié)點(diǎn)控制器。該處理器還會(huì)將第二節(jié)點(diǎn)控制器的故障信息中發(fā)送給系統(tǒng)中其他節(jié)點(diǎn)。其他節(jié)點(diǎn)獲取到該第二節(jié)點(diǎn)控制器的故障信息后,會(huì)重現(xiàn)配置發(fā)往該節(jié)點(diǎn)的報(bào)文路由路徑,第二節(jié)點(diǎn)控制器將不會(huì)接收到其他節(jié)點(diǎn)發(fā)送的報(bào)文 fn息ο當(dāng)然,第二節(jié)點(diǎn)控制器檢測(cè)出自身故障,無(wú)法建立或維護(hù)地址空間的目錄時(shí),第二節(jié)點(diǎn)控制器也可以直接將自身的故障信息通知第一節(jié)點(diǎn)控制器。步驟602 第一節(jié)點(diǎn)控制器通過(guò)廣播偵聽獲取該第二節(jié)點(diǎn)控制器所維護(hù)的地址空間的目錄。為了在第二節(jié)點(diǎn)控制器出現(xiàn)故障的情況下,不影響其他節(jié)點(diǎn)的資源訪問(wèn)請(qǐng)求,第一節(jié)點(diǎn)控制器會(huì)通過(guò)廣播偵聽的方式向系統(tǒng)中的其他節(jié)點(diǎn)發(fā)送獲取第一節(jié)點(diǎn)控制器所維護(hù)的地址空間的數(shù)據(jù)信息,其他節(jié)點(diǎn)中的處理器會(huì)將相應(yīng)的數(shù)據(jù)信息返回給該第一節(jié)點(diǎn)控制器,以便第一節(jié)點(diǎn)控制器建立第二節(jié)點(diǎn)控制器原來(lái)所維護(hù)的地址空間的目錄信息。步驟603 當(dāng)?shù)谝还?jié)點(diǎn)控制器接收到其他節(jié)點(diǎn)的發(fā)送的報(bào)文時(shí),對(duì)該報(bào)文進(jìn)行地址解析。步驟604 當(dāng)該報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),第一節(jié)點(diǎn)控制器確定該報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,將該報(bào)文發(fā)送給該報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器。由于第二節(jié)點(diǎn)控制器出現(xiàn)故障后,第一節(jié)點(diǎn)控制器通過(guò)廣播偵聽的方式獲取到原來(lái)第二節(jié)點(diǎn)控制器所維護(hù)的地址空間的目錄,此時(shí),第一節(jié)點(diǎn)控制器維護(hù)著整個(gè)節(jié)點(diǎn)內(nèi)所有地址空間的目錄,當(dāng)?shù)谝还?jié)點(diǎn)控制器接收到其他節(jié)點(diǎn)發(fā)送的報(bào)文時(shí),無(wú)需判斷該報(bào)文對(duì)應(yīng)的地址空間是否由本節(jié)點(diǎn)控制器所維護(hù),第一節(jié)點(diǎn)控制器可以直接確定該報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,并通過(guò)與該處理器相連的快速通道互聯(lián)總線將該報(bào)文發(fā)送給該處理器。本實(shí)施例中,當(dāng)其中一個(gè)節(jié)點(diǎn)控制器出現(xiàn)故障后,另一節(jié)點(diǎn)控制器可以獲取該節(jié)點(diǎn)控制器故障信息,并通過(guò)廣播偵聽獲取到該節(jié)點(diǎn)控制器所維護(hù)的地址空間的數(shù)據(jù)信息, 并由另一節(jié)點(diǎn)控制器對(duì)發(fā)往本節(jié)點(diǎn)的所有報(bào)文進(jìn)行處理,避免了由于節(jié)點(diǎn)內(nèi)節(jié)點(diǎn)控制器自身故障,導(dǎo)致的整個(gè)CC-NUMA系統(tǒng)的通信中斷。參見(jiàn)圖7,為本發(fā)明一種基于CC-NUMA的報(bào)文處理裝置的一個(gè)實(shí)施例,本實(shí)施例中,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間,該報(bào)文處理裝置可以為節(jié)點(diǎn)控制器,也可以為節(jié)點(diǎn)控制器的一部分,該報(bào)文處理裝置包括報(bào)文接收單元701、地址分析單元702、處理器地址判斷單元703和報(bào)文發(fā)送單元704。報(bào)文接收單元701,用于接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)該報(bào)文進(jìn)行地址解析。地址分析單元702,用于當(dāng)報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù),如果是,則執(zhí)行處理器地址判斷單元的操作。處理器地址判斷單元703,用于確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器。報(bào)文發(fā)送單元704,用于通過(guò)與處理器相連的快速通道互聯(lián)總線將該報(bào)文發(fā)送到該處理器,以便該處理器對(duì)該報(bào)文進(jìn)行處理。在節(jié)點(diǎn)控制器中執(zhí)行報(bào)文接收單元和地址分析單元的操作的可以為節(jié)點(diǎn)控制器中的Rbox模塊或Rbox模塊的一部分。當(dāng)節(jié)點(diǎn)控制器確定接收到的報(bào)文所對(duì)應(yīng)的地址空間的目錄由本節(jié)點(diǎn)控制器所維護(hù)時(shí),就可以將報(bào)文發(fā)送到地址判斷單元,執(zhí)行處理器判斷單元和報(bào)文發(fā)送單元的操作,在節(jié)點(diǎn)控制器中執(zhí)行該處理器地址判斷單元和報(bào)文發(fā)送單元的可以為緩存一致性模塊(CCM,Cache Coherence module)也可以為該CCM模塊的一部分。 當(dāng)確定了報(bào)文對(duì)應(yīng)的處理器后就可以選擇相應(yīng)的QPI總線將報(bào)文發(fā)送到對(duì)應(yīng)的處理器,完成報(bào)文發(fā)送到相應(yīng)的處理器時(shí)需要由與處理器相連的QPI鏈路層管理模塊QPIL選擇相應(yīng)的QPI總線,將報(bào)文發(fā)送到對(duì)應(yīng)的處理器中。需要說(shuō)明的,判斷出報(bào)文對(duì)應(yīng)的地址空間的目錄是否哪個(gè)節(jié)點(diǎn)控制器所維護(hù)的具體方式有多種,對(duì)應(yīng)的,該地址分析單元702可以包括地址分析子單元,用于根據(jù)預(yù)設(shè)的地址空間的奇偶校驗(yàn)位與節(jié)點(diǎn)控制器之間的對(duì)應(yīng)關(guān)系,判斷該報(bào)文對(duì)應(yīng)的地址空間的奇偶校驗(yàn)位是否對(duì)應(yīng)本節(jié)點(diǎn)控制器,如果是,則該報(bào)文對(duì)應(yīng)的地址空間的目錄由本節(jié)點(diǎn)控制器所維護(hù)。在節(jié)點(diǎn)控制器接收到目的地址為本節(jié)點(diǎn)的報(bào)文,且確定了報(bào)文對(duì)應(yīng)的地址空間的目錄由本節(jié)點(diǎn)控制器所維護(hù)時(shí),本節(jié)點(diǎn)控制器還需要記錄發(fā)送報(bào)文以訪問(wèn)該地址空間的源節(jié)點(diǎn)地址,并進(jìn)行該地址空間的數(shù)據(jù)狀態(tài)的更新等,因此,本實(shí)施例的報(bào)文處理裝置還包括地址空間維護(hù)單元,用于維護(hù)接收到的報(bào)文對(duì)應(yīng)的地址空間的目錄。進(jìn)一步的,當(dāng)本節(jié)點(diǎn)控制器將報(bào)文發(fā)送給該報(bào)文對(duì)應(yīng)的處理器后,處理器會(huì)依據(jù)報(bào)文的請(qǐng)求信息對(duì)報(bào)文進(jìn)行處理,并將處理后的報(bào)文返回給該節(jié)點(diǎn)控制器,對(duì)應(yīng)的,該報(bào)文處理裝置還包括報(bào)文返回單元,用于接收處理器返回的處理后的報(bào)文,并將處理后的報(bào)文發(fā)送給該報(bào)文對(duì)應(yīng)的源節(jié)點(diǎn)。參見(jiàn)圖8,為本發(fā)明一種基于CC-NUMA的報(bào)文處理裝置的另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例的裝置應(yīng)用于節(jié)點(diǎn)控制器與處理器之間的快速通道互聯(lián)總線出現(xiàn)故障后, 在本實(shí)施例中節(jié)點(diǎn)在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間,該報(bào)文處理裝置包括鏈路故障獲取單元801、報(bào)文接收單元802、地址分析單元 803、處理器地址判斷單元804和故障處理單元805。其中,鏈路故障獲取單元801,用于獲取系統(tǒng)中的快速通道互聯(lián)總線的鏈路連接故障。報(bào)文接收單元802,用于接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)報(bào)文進(jìn)行地址解析。地址分析單元803,用于當(dāng)報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù),如果是,則執(zhí)行處理器地址判斷單元的操作。處理器地址判斷單元804,用于確定報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器。故障處理單元805,用于當(dāng)本節(jié)點(diǎn)控制器與所述處理器之間鏈路出現(xiàn)故障時(shí),將該報(bào)文以及本節(jié)點(diǎn)控制器所維護(hù)的、至少包含該報(bào)文對(duì)應(yīng)的地址空間的目錄,發(fā)送給另一節(jié)點(diǎn)控制器,以便該另一節(jié)點(diǎn)控制器將該報(bào)文轉(zhuǎn)發(fā)給該處理器,并維護(hù)該報(bào)文對(duì)應(yīng)的地址空間的目錄。根據(jù)獲取鏈路故障的方式的不同,鏈路故障獲取單元801,包括鏈路故障信息接收單元,用于接收處理器發(fā)送的節(jié)點(diǎn)控制器與該處理器間快速通道互聯(lián)總線的鏈路故障信息。鏈路故障檢測(cè)單元,用于檢測(cè)與處理器之間相連的快速通道總線的鏈路,獲取該快速通道互聯(lián)總線的鏈路故障。需要說(shuō)明的是,當(dāng)該另一節(jié)點(diǎn)控制器接收到本節(jié)點(diǎn)控制器轉(zhuǎn)發(fā)報(bào)文后,另一節(jié)點(diǎn)控制器也需要對(duì)報(bào)文進(jìn)行地址解析,確定該報(bào)文的地址空間所歸屬與本節(jié)點(diǎn)內(nèi)的哪個(gè)處理器,并通過(guò)與該處理器相連的快速通道互聯(lián)總線,將報(bào)文發(fā)送給該處理器,以便處理器對(duì)該報(bào)文進(jìn)行處理。當(dāng)然,該處理器完成報(bào)文處理后,會(huì)將處理后的報(bào)文再返回給該另一節(jié)點(diǎn)控制器,該另一節(jié)點(diǎn)控制器會(huì)維護(hù)該報(bào)文對(duì)應(yīng)的地址空間的目錄,并將處理后的報(bào)文返回給發(fā)送報(bào)文的源節(jié)點(diǎn)。參見(jiàn)圖9,為本發(fā)明一種基于CC-NUMA的報(bào)文處理裝置的另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖,本實(shí)施例的裝置應(yīng)用于某節(jié)點(diǎn)控制器發(fā)生故障時(shí),本實(shí)施例在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間,該報(bào)文處理裝置包括控制器故障獲取單元901、地址空間數(shù)據(jù)獲取單元902、報(bào)文接收單元903、地址分析單元904和報(bào)文發(fā)送單元905??刂破鞴收汐@取單元901,用于獲取另一節(jié)點(diǎn)控制器的故障信息。
      地址空間數(shù)據(jù)獲取單元902,用于通過(guò)廣播偵聽獲取該另一節(jié)點(diǎn)控制器所維護(hù)的地址空間的目錄。報(bào)文接收單元903,用于接收其他節(jié)點(diǎn)的發(fā)送的報(bào)文,對(duì)報(bào)文進(jìn)行地址解析。地址分析單元904,用于當(dāng)報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器。報(bào)文發(fā)送單元905,用于將報(bào)文發(fā)送給該報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器。根據(jù)獲取控制器故障的方式不同,該控制器故障獲取單元901,包括第一故障信息接收單元,用于接收某處理器發(fā)送的所述另一節(jié)點(diǎn)控制器的故障信肩、ο包括第二故障接收單元,用于接收所述另一節(jié)點(diǎn)控制器發(fā)送的故障信息。另外,本發(fā)明還提供了一種基于CC-NUMA的報(bào)文處理系統(tǒng),包括,兩個(gè)節(jié)點(diǎn)控制器,以及至少兩個(gè)處理器;每個(gè)節(jié)點(diǎn)控制器均與各個(gè)處理器之間通過(guò)快速通道互聯(lián)總線相連。兩個(gè)節(jié)點(diǎn)控制器之間通過(guò)網(wǎng)絡(luò)接口連接。每個(gè)節(jié)點(diǎn)控制器都內(nèi)置有本發(fā)明以上實(shí)施例所描述的基于CC-NUMA的報(bào)文處理
      直ο本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來(lái)實(shí)現(xiàn),為了清楚地說(shuō)明硬件和軟件的可互換性,在上述說(shuō)明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來(lái)實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。對(duì)所公開的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。
      1權(quán)利要求
      1.一種基于CC-NUMA的報(bào)文處理方法,其特征在于,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器, 每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,所述方法包括接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù);如果是,確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,通過(guò)與所述處理器相連的快速通道互聯(lián)總線將所述報(bào)文發(fā)送到所述處理器,以便所述處理器對(duì)所述報(bào)文進(jìn)行處理;如果否,則將所述報(bào)文轉(zhuǎn)發(fā)給本節(jié)點(diǎn)內(nèi)的另一節(jié)點(diǎn)控制器,以便所述另一節(jié)點(diǎn)控制器確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,將所述報(bào)文發(fā)送給該報(bào)文對(duì)應(yīng)的處理器進(jìn)行報(bào)文處理。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù),包括根據(jù)預(yù)設(shè)的地址空間的奇偶校驗(yàn)位與節(jié)點(diǎn)控制器之間的對(duì)應(yīng)關(guān)系,判斷所述報(bào)文對(duì)應(yīng)的地址空間的奇偶校驗(yàn)位是否對(duì)應(yīng)本節(jié)點(diǎn)控制器,如果是,則所述報(bào)文對(duì)應(yīng)的地址空間的目錄由本節(jié)點(diǎn)控制器所維護(hù)。
      3.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)判斷出所述報(bào)文對(duì)應(yīng)的地址空間由本節(jié)點(diǎn)控制器所維護(hù)后,還包括維護(hù)所述報(bào)文對(duì)應(yīng)的地址空間的目錄信息。
      4.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)本節(jié)點(diǎn)控制器將報(bào)文發(fā)送給所述處理器之后,還包括接收所述處理器返回的處理后的報(bào)文,并將所述處理后的報(bào)文發(fā)送給所述報(bào)文對(duì)應(yīng)的源節(jié)點(diǎn)。
      5.一種基于CC-NUMA的報(bào)文處理方法,其特征在于,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器, 每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,所述方法包括接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間是否在其所維護(hù)的地址空間內(nèi);如果是,確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器,當(dāng)本節(jié)點(diǎn)控制器與所述處理器間的快速通道互聯(lián)總線的鏈路出現(xiàn)故障時(shí),將所述報(bào)文以及本節(jié)點(diǎn)控制器所維護(hù)的、至少包含所述報(bào)文對(duì)應(yīng)的地址空間的目錄,發(fā)送給另一節(jié)點(diǎn)控制器,以便所述另一節(jié)點(diǎn)控制器將所述報(bào)文轉(zhuǎn)發(fā)給所述處理器,并維護(hù)該報(bào)文對(duì)應(yīng)的地址空間的目錄。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,獲取本節(jié)點(diǎn)控制器與所述處理器之間的快速通道互聯(lián)總線的鏈路故障,包括接收所述處理器發(fā)送的所述節(jié)點(diǎn)控制器與所述處理器間快速通道互聯(lián)總線的鏈路故障信息。
      7.根據(jù)權(quán)利要求5所述的方法,其特征在于,獲取本節(jié)點(diǎn)控制器與處理器之間的快速通道互聯(lián)總線的鏈路故障,包括檢測(cè)與所述處理器之間的快速通道總線的鏈路,獲取所述快速通道互聯(lián)總線的鏈路故障。
      8.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述另一節(jié)點(diǎn)控制器將所述報(bào)文轉(zhuǎn)發(fā)給所述處理器,包括所述另一節(jié)點(diǎn)控制器對(duì)所述報(bào)文進(jìn)行地址解析,確定所述報(bào)文的地址空間所屬的處理器,通過(guò)與所述處理器相連的快速通道互聯(lián)總線,將所述報(bào)文發(fā)送給所述處理器,以便所述處理器對(duì)所述報(bào)文進(jìn)行處理。
      9.一種基于CC-NUMA的報(bào)文處理方法,其特征在于,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器, 每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,包括獲取另一節(jié)點(diǎn)控制器的故障信息;通過(guò)廣播偵聽獲取所述另一節(jié)點(diǎn)控制器所維護(hù)的地址空間的目錄;接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器, 將所述報(bào)文發(fā)送給所述處理器。
      10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述獲取另一節(jié)點(diǎn)控制器的故障信息, 包括接收本節(jié)點(diǎn)內(nèi)某處理器發(fā)送的所述另一節(jié)點(diǎn)控制器的故障信息。
      11.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述獲取另一節(jié)點(diǎn)控制器的故障信息, 包括接收所述另一節(jié)點(diǎn)控制器發(fā)送的所述另一節(jié)點(diǎn)控制器的故障信息。
      12.一種基于CC-NUMA的報(bào)文處理裝置,其特征在于,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,該報(bào)文處理裝置包括報(bào)文接收單元,用于接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;地址分析單元,用于當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù),如果是,則執(zhí)行處理器地址判斷單元的操作;處理器地址判斷單元,用于確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器;報(bào)文發(fā)送單元,用于通過(guò)與所述處理器相連的快速通道互聯(lián)總線將所述報(bào)文發(fā)送到所述處理器,以便所述處理器對(duì)所述報(bào)文進(jìn)行處理。
      13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述地址分析單元,包括地址分析子單元,用于根據(jù)預(yù)設(shè)的地址空間的奇偶校驗(yàn)位與節(jié)點(diǎn)控制器之間的對(duì)應(yīng)關(guān)系,判斷所述報(bào)文對(duì)應(yīng)的地址空間的奇偶校驗(yàn)位是否對(duì)應(yīng)本節(jié)點(diǎn)控制器,如果是,則所述報(bào)文對(duì)應(yīng)的地址空間的目錄由本節(jié)點(diǎn)控制器所維護(hù)。
      14.根據(jù)權(quán)利要求12所述的裝置,其特征在于,還包括地址空間維護(hù)單元,用于維護(hù)所述報(bào)文對(duì)應(yīng)的地址空間的目錄。
      15.根據(jù)權(quán)利要求12所述的裝置,其特征在于,還包括報(bào)文返回單元,用于接收所述處理器返回的處理后的報(bào)文,并將所述處理后的報(bào)文發(fā)送給所述報(bào)文對(duì)應(yīng)的源節(jié)點(diǎn)。
      16.一種基于CC-NUMA的報(bào)文處理裝置,其特征在于,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,該報(bào)文處理裝置包括鏈路故障獲取單元,用于獲取系統(tǒng)中的快速通道互聯(lián)總線的鏈路連接故障;報(bào)文接收單元,用于接收其他節(jié)點(diǎn)發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析;地址分析單元,用于當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間的目錄是否由本節(jié)點(diǎn)控制器所維護(hù),如果是,則執(zhí)行處理器地址判斷單元的操作; 處理器地址判斷單元,用于確定所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器; 故障處理單元,用于當(dāng)本節(jié)點(diǎn)控制器與所述處理器之間鏈路出現(xiàn)故障時(shí),將所述報(bào)文以及本節(jié)點(diǎn)控制器所維護(hù)的、至少包含該報(bào)文對(duì)應(yīng)的地址空間的目錄,發(fā)送給另一節(jié)點(diǎn)控制器,以便所述另一節(jié)點(diǎn)控制器將所述報(bào)文轉(zhuǎn)發(fā)給所述處理器,并維護(hù)所述報(bào)文對(duì)應(yīng)的地址空間的目錄。
      17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述鏈路故障獲取單元,包括鏈路故障信息接收單元,用于接收所述處理器發(fā)送的所述節(jié)點(diǎn)控制器與所述處理器間快速通道互聯(lián)總線的鏈路故障信息。
      18.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述鏈路故障獲取單元,包括鏈路故障檢測(cè)單元,用于檢測(cè)與所述處理器之間的快速通道總線的鏈路,獲取所述快速通道互聯(lián)總線的鏈路故障。
      19.一種基于CC-NlMA的報(bào)文處理裝置,其特征在于,在節(jié)點(diǎn)內(nèi)配置有兩個(gè)節(jié)點(diǎn)控制器,每個(gè)節(jié)點(diǎn)控制器分別維護(hù)其對(duì)應(yīng)的地址空間的目錄,該報(bào)文處理裝置包括控制器故障獲取單元,用于獲取另一節(jié)點(diǎn)控制器的故障信息;地址空間數(shù)據(jù)獲取單元,用于通過(guò)廣播偵聽獲取所述另一節(jié)點(diǎn)控制器所維護(hù)的地址空間的目錄;報(bào)文接收單元,用于接收其他節(jié)點(diǎn)的發(fā)送的報(bào)文,對(duì)所述報(bào)文進(jìn)行地址解析; 地址分析單元,用于當(dāng)所述報(bào)文的目的地址為本節(jié)點(diǎn)時(shí),判斷所述報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器;報(bào)文發(fā)送單元,用于將所述報(bào)文發(fā)送給所述處理器。
      20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述控制器故障獲取單元,包括第一故障信息接收單元,用于接收某處理器發(fā)送的所述另一節(jié)點(diǎn)控制器的故障信息。
      21.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述控制器故障獲取單元,包括第二故障接收單元,用于接收所述另一節(jié)點(diǎn)控制器發(fā)送的故障信息。
      22.一種基于CC-NUMA的報(bào)文處理系統(tǒng),其特征在于,包括,兩個(gè)節(jié)點(diǎn)控制器,以及至少兩個(gè)處理器;所述節(jié)點(diǎn)控制器與所述處理器之間通過(guò)快速通道互聯(lián)總線相連; 所述兩個(gè)節(jié)點(diǎn)控制器之間通過(guò)網(wǎng)絡(luò)接口連接;所述節(jié)點(diǎn)控制器內(nèi)置有權(quán)利要求12至21任一項(xiàng)所述的基于CC-NUMA的報(bào)文處理裝置。
      全文摘要
      本發(fā)明公開了一種基于CC-NUMA的報(bào)文處理方法、裝置和系統(tǒng),本節(jié)點(diǎn)內(nèi)某節(jié)點(diǎn)控制器對(duì)其他節(jié)點(diǎn)發(fā)送的報(bào)文進(jìn)行地址解析,如果報(bào)文的目的地址為本節(jié)點(diǎn)且報(bào)文對(duì)應(yīng)的地址空間的目錄由本節(jié)點(diǎn)控制器所維護(hù),則確定報(bào)文對(duì)應(yīng)的地址空間所歸屬的處理器;如果本節(jié)點(diǎn)控制器與該處理器間的快速通道互聯(lián)總線的鏈路正常,則通過(guò)該快速通道互聯(lián)總線將報(bào)文發(fā)送到該處理器,以便該處理器對(duì)報(bào)文進(jìn)行處理;如果本節(jié)點(diǎn)控制器與該處理器間的快速通道互聯(lián)總線的鏈路存在故障,或該報(bào)文對(duì)應(yīng)的地址空間的目錄并不由本節(jié)點(diǎn)控制器所維護(hù),則將所述報(bào)文轉(zhuǎn)發(fā)給本節(jié)點(diǎn)內(nèi)的另一節(jié)點(diǎn)控制器,由另一節(jié)點(diǎn)控制器對(duì)報(bào)文進(jìn)行處理。該方法能提高系統(tǒng)資源訪問(wèn)的效率以及可靠性。
      文檔編號(hào)H04L12/24GK102318275SQ201180001573
      公開日2012年1月11日 申請(qǐng)日期2011年8月2日 優(yōu)先權(quán)日2011年8月2日
      發(fā)明者蘭可嘉, 程永波, 賀成洪 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1