一種numa系統(tǒng)內(nèi)存鏡像配置方法、解除方法、系統(tǒng)和主節(jié)點(diǎn)的制作方法
【專利摘要】本發(fā)明實(shí)施例提供了NUMA系統(tǒng)中的內(nèi)存鏡像配置方法、解除方法、系統(tǒng)和主節(jié)點(diǎn),其中,NUMA系統(tǒng)中的內(nèi)存鏡像配置方法包括:NUMA系統(tǒng)的主節(jié)點(diǎn)接收節(jié)點(diǎn)內(nèi)存鏡像指令,節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息;主節(jié)點(diǎn)根據(jù)目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息配置目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的,實(shí)現(xiàn)以單個(gè)節(jié)點(diǎn)為粒度的內(nèi)存鏡像,有效解決NUMA系統(tǒng)中內(nèi)存鏡像損耗過(guò)多內(nèi)存空間的問(wèn)題。
【專利說(shuō)明】—種NUMA系統(tǒng)內(nèi)存鏡像配置方法、解除方法、系統(tǒng)和主節(jié)點(diǎn)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息【技術(shù)領(lǐng)域】,尤其涉及一種非統(tǒng)一內(nèi)存訪問(wèn)NUMA系統(tǒng)內(nèi)存鏡像配置方法、解除方法、系統(tǒng)和主節(jié)點(diǎn)。
【背景技術(shù)】
[0002]非統(tǒng)一內(nèi)存訪問(wèn)(Non-Uniform Memory Access, NUMA)系統(tǒng)既保持了對(duì)稱多處理器架構(gòu)(Sy_etric Mult1-Processor)模式單一操作系統(tǒng)拷貝、簡(jiǎn)便的應(yīng)用程序編程模式以及易于管理的特點(diǎn),又繼承了大規(guī)模并行處理計(jì)算機(jī)(Massive Parallel Processing)模式的可擴(kuò)充性,可以有效地?cái)U(kuò)充系統(tǒng)的規(guī)模。在NUMA系統(tǒng)中,穩(wěn)定性、可用性和可服務(wù)性成了競(jìng)爭(zhēng)力的關(guān)鍵。內(nèi)存鏡像作為內(nèi)存穩(wěn)定性、可用性和可服務(wù)性的重要保障,可以實(shí)現(xiàn)內(nèi)存錯(cuò)誤的恢復(fù),是最強(qiáng)大的內(nèi)存容錯(cuò)手段。但是內(nèi)存鏡像后,NUMA系統(tǒng)內(nèi)存數(shù)量減半,使NUMA系統(tǒng)中內(nèi)存鏡像損耗過(guò)多內(nèi)存空間。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實(shí)施例提供了一種非統(tǒng)一內(nèi)存訪問(wèn)NUMA系統(tǒng)內(nèi)存鏡像配置方法、解除方法、系統(tǒng)和主節(jié)點(diǎn)。
[0004]第一方面,本發(fā)明實(shí)施例提供了一種NUMA系統(tǒng)內(nèi)存鏡像配置方法,所述方法包括:
[0005]所述NUMA系統(tǒng)的主節(jié)點(diǎn)接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息;
[0006]所述主節(jié)點(diǎn)根據(jù)所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置
[0007]所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
[0008]根據(jù)第一方面,在第一種可能的實(shí)施方式中,所述內(nèi)存鏡像模式信息用于指7]^將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
[0009]根據(jù)第一方面,在第二種可能的實(shí)施方式中,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
[0010]根據(jù)第一方面、第一方面的第一種或第二種可能的實(shí)施方式,在第三種可能的實(shí)施方式中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址編址模式為交叉編址。
[0011]根據(jù)第一方面、第一方面的第一種、第二種或第三種可能的實(shí)施方式,在第四種可能的實(shí)施方式中,所述根據(jù)所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像后,還包括:
[0012]向所述NUMA系統(tǒng)的操作系統(tǒng)發(fā)送所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址信息。
[0013]第二方面,本發(fā)明實(shí)施例提供了一種NUMA系統(tǒng)內(nèi)存鏡像解除方法,所述方法包括:
[0014]所述NUMA系統(tǒng)的主節(jié)點(diǎn)接收解除節(jié)點(diǎn)內(nèi)存鏡像指令;[0015]所述主節(jié)點(diǎn)根據(jù)所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述解除鏡像節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
[0016]根據(jù)第二方面,在第一種可能的實(shí)施方式中,所述主節(jié)點(diǎn)根據(jù)所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的內(nèi)存鏡像后,還包括:
[0017]所述主節(jié)點(diǎn)向所述NUMA系統(tǒng)的操作系統(tǒng)發(fā)送所述每個(gè)節(jié)點(diǎn)的內(nèi)存地址信息。
[0018]第三方面,本發(fā)明實(shí)施例提供了一種NUMA系統(tǒng),所述NUMA系統(tǒng)包括主節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn);所述主節(jié)點(diǎn)用于接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息;
[0019]所述主節(jié)點(diǎn)用于根據(jù)所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
[0020]根據(jù)第三方面,在第一種可能的實(shí)施方式中,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
[0021]根據(jù)第三方面,在第二種可能的實(shí)施方式中,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
[0022]根據(jù)第三方面、第三方面的第一種或第二種可能的實(shí)施方式,在第三種可能的實(shí)施方式中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址編址模式為交叉編址。
[0023]根據(jù)第三方面,在第四種可能的實(shí)施方式中,所述主節(jié)點(diǎn)還用于接收解除節(jié)點(diǎn)內(nèi)存鏡像指令;
[0024]所述主節(jié)點(diǎn)還用于根據(jù)所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述解除鏡像節(jié)點(diǎn)為所述目標(biāo)節(jié)點(diǎn)中的至少一個(gè)。
[0025]第四方面,本發(fā)明實(shí)施例提供了一種NUMA系統(tǒng)的主節(jié)點(diǎn),所述主節(jié)點(diǎn)包括接收單元和配置單元;
[0026]所述接收單元用于接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息;
[0027]所述配置單元用于根據(jù)所述接收單元接收的所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
[0028]根據(jù)第四方面,在第一種可能的實(shí)施方式中,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
[0029]根據(jù)第四方面,在第二種可能的實(shí)施方式中,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
[0030]根據(jù)第四方面、第四方面的第一種或第二種可能的實(shí)施方式,在第三種可能的實(shí)施方式中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址編址模式為交叉編址。
[0031]根據(jù)第四方面,在第四種可能的實(shí)施方式中,所述主節(jié)點(diǎn)還包括解除單元;所述接收單元還用于接收解除節(jié)點(diǎn)內(nèi)存鏡像指令;
[0032]所述解除單元用于根據(jù)所述接收單元接收的所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述解除鏡像節(jié)點(diǎn)為所述目標(biāo)節(jié)點(diǎn)中的至少一個(gè)。
[0033]第五方面,本發(fā)明實(shí)施例提供了一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,當(dāng)NUMA系統(tǒng)的主節(jié)點(diǎn)執(zhí)行所述計(jì)算機(jī)指令時(shí),實(shí)現(xiàn):
[0034]接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息;
[0035]根據(jù)所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
[0036]根據(jù)第五方面,在第一種可能的實(shí)施方式中,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
[0037]根據(jù)第五方面,在第二種可能的實(shí)施方式中,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
[0038]本發(fā)明實(shí)施例提供的NUMA系統(tǒng)中的內(nèi)存鏡像配置方法、解除方法、NUMA系統(tǒng)及非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),主節(jié)點(diǎn)接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息,所述主節(jié)點(diǎn)根據(jù)所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像,實(shí)現(xiàn)以單個(gè)節(jié)點(diǎn)為粒度的內(nèi)存鏡像,有效解決NUMA系統(tǒng)中內(nèi)存鏡像損耗過(guò)多內(nèi)存空間的問(wèn)題。
【專利附圖】
【附圖說(shuō)明】
[0039]為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0040]圖1為一種NUMA系統(tǒng)結(jié)構(gòu)示意圖;
[0041]圖2為NUMA節(jié)點(diǎn)結(jié)構(gòu)示意圖;
[0042]圖3為NUMA系統(tǒng)節(jié)點(diǎn)內(nèi)存鏡像方法流程圖;
[0043]圖4為NUMA系統(tǒng)節(jié)點(diǎn)中央處理器間內(nèi)存鏡像模式示意圖;
[0044]圖5為NUMA系統(tǒng)節(jié)點(diǎn)中央處理器內(nèi)內(nèi)存鏡像模式示意圖;
[0045]圖6為NUMA系統(tǒng)節(jié)點(diǎn)中央處理器內(nèi)內(nèi)存交叉編址示意圖;
[0046]圖7為NUMA系統(tǒng)節(jié)點(diǎn)中央處理器間內(nèi)存交叉編址示意圖;
[0047]圖8為NUMA系統(tǒng)節(jié)點(diǎn)選擇界面示意圖;
[0048]圖9為節(jié)點(diǎn)控制器結(jié)構(gòu)示意圖;
[0049]圖10為NUMA系統(tǒng)節(jié)點(diǎn)解除內(nèi)存鏡像方法流程圖;
[0050]圖11為NUMA系統(tǒng)的主節(jié)點(diǎn)結(jié)構(gòu)示意圖;
[0051]圖12為NUMA系統(tǒng)的主節(jié)點(diǎn)另一結(jié)構(gòu)示意圖。
具體實(shí)施例
[0052]下面將結(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ù)的范圍。[0053]非統(tǒng)一內(nèi)存訪問(wèn)(Non-Uniform Memory Access, NUMA)系統(tǒng)的內(nèi)存訪問(wèn)方式是一種不均衡式內(nèi)存訪問(wèn)方式,任一節(jié)點(diǎn)的任一中央處理器可以訪問(wèn)本節(jié)點(diǎn)和非本地節(jié)點(diǎn)的所有內(nèi)存地址,從而大幅度提聞并行性。
[0054]NUMA系統(tǒng)中,中央處理器被劃分成多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)分配有本地內(nèi)存。所有節(jié)點(diǎn)中的中央處理器都可以訪問(wèn)NUMA系統(tǒng)全部的物理內(nèi)存。如圖1所示,NUMA系統(tǒng)包括四個(gè)節(jié)點(diǎn),分別為10、11、12和13。每個(gè)節(jié)點(diǎn)上包括兩個(gè)中央處理器和一個(gè)節(jié)點(diǎn)控制器。其中,節(jié)點(diǎn)上的兩個(gè)中央處理器之間通過(guò)快速通道互聯(lián)(Quick Path Interconnect, QPI)鏈路直接連接,節(jié)點(diǎn)上兩個(gè)中央處理器通過(guò)節(jié)點(diǎn)控制器與其他節(jié)點(diǎn)相連。圖1所示的NUMA系統(tǒng),作為一種示例性說(shuō)明,節(jié)點(diǎn)數(shù)量及節(jié)點(diǎn)上中央處理器的數(shù)量并不是對(duì)本發(fā)明的限定,中央處理器之間連接的鏈路也不限于QPI鏈路。
[0055]為了圖示的清晰,節(jié)點(diǎn)10、11、12和13上省略了內(nèi)存等組件,節(jié)點(diǎn)更詳細(xì)的結(jié)構(gòu)將在下面詳細(xì)描述。NUMA系統(tǒng)中的節(jié)點(diǎn)中,通常存在一個(gè)主節(jié)點(diǎn),也稱為零號(hào)節(jié)點(diǎn),可以加載運(yùn)行NUMA操作系統(tǒng)等。在本發(fā)明實(shí)施例圖1所示的NUMA系統(tǒng)中,以節(jié)點(diǎn)10作為主節(jié)點(diǎn),具體地,節(jié)點(diǎn)10包括中央處理器101和102,中央處理器101和102通過(guò)QPI鏈路連接,同時(shí)中央處理器101和102與節(jié)點(diǎn)控制器103連接,節(jié)點(diǎn)控制器103通過(guò)網(wǎng)絡(luò)接口(NetworkingInterface, NI)分別與節(jié)點(diǎn)11、節(jié)點(diǎn)12和節(jié)點(diǎn)13的節(jié)點(diǎn)控制器的NI連接。
[0056]圖2提供了圖1所示的節(jié)點(diǎn)11的詳細(xì)結(jié)構(gòu)圖。節(jié)點(diǎn)11包括中央處理器111和中央處理器112,中央處理器111和中央處理器112通過(guò)QPI鏈路連接。中央處理器111和中央處理器112分別與節(jié)點(diǎn)控制器113鏈接,節(jié)點(diǎn)控制器113通過(guò)NI分別與節(jié)點(diǎn)10、節(jié)點(diǎn)12和節(jié)點(diǎn)13的節(jié)點(diǎn)控制器的NI連接。中央處理器111分別與內(nèi)存控制器1111和內(nèi)存控制器1112連接。在具體實(shí)際中,內(nèi)存控制器1111和內(nèi)存控制器1112可集成在中央處理器111中。中央處理器112分別與內(nèi)存控制器1121和內(nèi)存控制器1122連接。在具體實(shí)際中,內(nèi)存控制器1121和內(nèi)存控制器1122可集成在中央處理器112中。內(nèi)存控制器1111、1112、1121和1122分別通過(guò)內(nèi)存緩沖器與內(nèi)存相連。圖1所示的NUMA系統(tǒng)中節(jié)點(diǎn)10、12和13的結(jié)構(gòu)可參照?qǐng)D2,不再贅述。
[0057]如圖1所示的NUMA系統(tǒng),總的內(nèi)存空間為256GB。以節(jié)點(diǎn)IO、11、12和13的順序,節(jié)點(diǎn)10的內(nèi)存地址范圍為O至(64GB-1字節(jié)),節(jié)點(diǎn)11的內(nèi)存地址范圍為64GB至(128GB-1字節(jié)),節(jié)點(diǎn)12的內(nèi)存地址范圍為128GB至(192GB-1字節(jié)),節(jié)點(diǎn)13的內(nèi)存地址范圍為192GB至(256GB-1字節(jié))。即節(jié)點(diǎn)10、11、12和13的內(nèi)存地址是連續(xù)的。因此,當(dāng)從圖1所示的NUMA系統(tǒng)中選擇節(jié)點(diǎn)進(jìn)行內(nèi)存鏡像時(shí),由于每個(gè)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的,因此,可以通過(guò)被選擇的節(jié)點(diǎn)控制器進(jìn)行內(nèi)存鏡像配置,從而實(shí)現(xiàn)以節(jié)點(diǎn)為粒度的內(nèi)存鏡像。
[0058]以圖1所示的NUMA系統(tǒng)為例,選擇節(jié)點(diǎn)11為目標(biāo)節(jié)點(diǎn),即對(duì)節(jié)點(diǎn)11進(jìn)行內(nèi)存鏡像配置。如圖3所示,具體步驟包括:
[0059]步驟301:所述NUMA系統(tǒng)的主節(jié)點(diǎn)接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息。
[0060]步驟302:所述主節(jié)點(diǎn)根據(jù)所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
[0061]內(nèi)存鏡像是在同一節(jié)點(diǎn)內(nèi)的兩個(gè)內(nèi)存控制器之間維護(hù)兩份完全相同的數(shù)據(jù)。當(dāng)遇到寫操作請(qǐng)求時(shí),兩個(gè)內(nèi)存控制器會(huì)進(jìn)行相同的寫操作,即將數(shù)據(jù)分別寫入兩個(gè)內(nèi)存控制器控制的內(nèi)存中;而對(duì)于讀操作請(qǐng)求,則只會(huì)在主內(nèi)存控制器上進(jìn)行,即只讀取主內(nèi)存控制器控制的內(nèi)存中的數(shù)據(jù)。
[0062]內(nèi)存鏡像模式包括中央處理器間內(nèi)存鏡像模式(Inter Socket Mirroring)和中央處理器內(nèi)內(nèi)存鏡像模式(Intra Socket Mirroring)。
[0063]具體地,中央處理器間內(nèi)存鏡像模式是指維護(hù)兩份完全相同的數(shù)據(jù)的兩個(gè)內(nèi)存控制器位于同一節(jié)點(diǎn)的兩個(gè)不同的中央處理器上。如圖4所示,在中央處理器間內(nèi)存鏡像模式中,構(gòu)成中央處理器間內(nèi)存鏡像關(guān)系的內(nèi)存控制器1111位于中央處理器111上,內(nèi)存控制器1121位于中央處理器112上;同時(shí),構(gòu)成中央處理器間內(nèi)存鏡像關(guān)系的內(nèi)存控制器1112位于中央處理器111上,內(nèi)存控制器1122位于中央處理器112上。當(dāng)所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式,則所述NUMA系統(tǒng)的主節(jié)點(diǎn)根據(jù)所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像,具體包括:所述主節(jié)點(diǎn)根據(jù)所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
[0064]具體地,中央處理器內(nèi)內(nèi)存鏡像模式是指維護(hù)兩份完全相同的數(shù)據(jù)的兩個(gè)內(nèi)存控制器位于同一節(jié)點(diǎn)的同一個(gè)中央處理器上。如圖5所示,在中央處理器內(nèi)內(nèi)存鏡像模式中,構(gòu)成中央處理器內(nèi)內(nèi)存鏡像關(guān)系的內(nèi)存控制器1111位于中央處理器111上,內(nèi)存控制器1112位于中央處理器111上;同時(shí),構(gòu)成中央處理器間內(nèi)存鏡像關(guān)系的內(nèi)存控制器1121位于中央處理器112上,內(nèi)存控制器1122位于中央處理器112上。當(dāng)所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式,則所述NUMA系統(tǒng)的主節(jié)點(diǎn)根據(jù)所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像,具體包括:
[0065]所述主節(jié)點(diǎn)根據(jù)所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
[0066]無(wú)論是中央處理器間內(nèi)存鏡像模式還是中央處理器內(nèi)內(nèi)存鏡像模式,在配置為內(nèi)存鏡像的節(jié)點(diǎn),在本發(fā)明實(shí)施例中為節(jié)點(diǎn)11,配置成為鏡像關(guān)系的兩個(gè)內(nèi)存控制器進(jìn)行相同的內(nèi)存數(shù)據(jù)寫入操作。為了提高內(nèi)存讀寫帶寬,可以將節(jié)點(diǎn)11的內(nèi)存地址編址方式設(shè)置為交叉編址(interleave)方式。具體地,一種交叉編址方式如圖6所示,為同一中央處理器內(nèi)部的內(nèi)存控制器的內(nèi)存地址的交叉編址,即將中央處理器111的內(nèi)存控制器1111和內(nèi)存控制器1112的內(nèi)存地址進(jìn)行交叉編址,將中央處理器112的內(nèi)存控制器1121和內(nèi)存控制器1122的內(nèi)存地址進(jìn)行交叉編址。以節(jié)點(diǎn)11的內(nèi)存空間為64GB為例,本發(fā)明實(shí)施例中,節(jié)點(diǎn)11的內(nèi)存地址范圍為64GB至(128GB-1字節(jié)),每個(gè)內(nèi)存控制器的內(nèi)存空間為16GB,中央處理器111上內(nèi)存控制器1111和內(nèi)存控制器1112的內(nèi)存地址范圍為64GB至(96GB-1字節(jié)),以256字節(jié)進(jìn)行內(nèi)存地址的交叉編址,中央處理器112上內(nèi)存控制器1121和內(nèi)存控制器1122的內(nèi)存地址范圍為96GB至(128GB-1字節(jié)),以256字節(jié)進(jìn)行內(nèi)存地址的交叉編址。另一種交叉編址方式如圖7所示,為同一節(jié)點(diǎn)內(nèi)中央處理器間的內(nèi)存控制器的內(nèi)存地址的交叉編址,即將中央處理器111和中央處理器112的內(nèi)存控制器1111、1112、1121和1122的內(nèi)存地址均進(jìn)行交叉編址。以節(jié)點(diǎn)11的內(nèi)存空間為64GB為例,本發(fā)明實(shí)施中,節(jié)點(diǎn)11的內(nèi)存地址范圍為64GB至(128GB-1字節(jié)),在64GB至(128GB-1字節(jié))的內(nèi)存地址范圍內(nèi),內(nèi)存控制器1111、1112、1121和1122依次以256字節(jié)進(jìn)行內(nèi)存地址的交叉編址。[0067]本發(fā)明實(shí)施例NUMA系統(tǒng)內(nèi)存鏡像配置的一種實(shí)現(xiàn)方式,如圖8所示,從用戶界面中選擇需要進(jìn)行內(nèi)存鏡像配置的節(jié)點(diǎn),以選擇節(jié)點(diǎn)11進(jìn)行內(nèi)存鏡像配置為例。選擇節(jié)點(diǎn)11,確定節(jié)點(diǎn)11的內(nèi)存鏡像模式。選擇節(jié)點(diǎn)11后,通過(guò)基板管理控制器(BaseboardManagement Controller)、基本輸出輸出系統(tǒng)(Basic Input Output System, BIOS)或者操作系統(tǒng)(operating system, OS)發(fā)出內(nèi)存鏡像指令,主節(jié)點(diǎn)10接收節(jié)點(diǎn)內(nèi)存鏡像指令。其中,節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息。目標(biāo)節(jié)點(diǎn)是指進(jìn)行內(nèi)存鏡像的節(jié)點(diǎn),在本發(fā)明實(shí)施例中,即節(jié)點(diǎn)U。內(nèi)存鏡像模式信息用于指示對(duì)目標(biāo)節(jié)點(diǎn),即節(jié)點(diǎn)11,進(jìn)行哪一種內(nèi)存鏡像模式配置。內(nèi)存鏡像模式包括中央處理器間內(nèi)存鏡像模式和中央處理器內(nèi)內(nèi)存鏡像模式。主節(jié)點(diǎn)10根據(jù)所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像。其中一種實(shí)現(xiàn)方式為主節(jié)點(diǎn)10接收內(nèi)存鏡像指令,確定節(jié)點(diǎn)11為目標(biāo)節(jié)點(diǎn),并且確定節(jié)點(diǎn)11的內(nèi)存鏡像模式為中央處理器內(nèi)內(nèi)存鏡像,則主節(jié)點(diǎn)10對(duì)節(jié)點(diǎn)11的中央處理器111、112和節(jié)點(diǎn)控制器113進(jìn)行配置,以實(shí)現(xiàn)節(jié)點(diǎn)11內(nèi)存鏡像。主節(jié)點(diǎn)10節(jié)點(diǎn)根據(jù)內(nèi)存鏡像指令攜帶的目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息,對(duì)中央處理器111和中央處理器112中的內(nèi)存地址交叉寄存器進(jìn)行配置。對(duì)內(nèi)存地址交叉寄存器進(jìn)行配置包括對(duì)源地址解析(Source Address Decode)和目標(biāo)地址解析(Target Address Decode)進(jìn)行配置。以節(jié)點(diǎn)11采用中央處理器內(nèi)內(nèi)存鏡像配置模式為例,如圖5所示,將內(nèi)存控制器1111和內(nèi)存控制器1112配置成中央處理器內(nèi)內(nèi)存鏡像模式,并且將內(nèi)存控制器1111指定為主內(nèi)存控制器,將內(nèi)存控制器1112指定為從內(nèi)存控制器;將內(nèi)存控制器1121和內(nèi)存控制器1122配置成中央處理器內(nèi)內(nèi)存鏡像模式,并且將內(nèi)存控制器1121指定為主內(nèi)存控制器,將內(nèi)存控制器1122指定為從內(nèi)存控制器。將主內(nèi)存控制器1111的標(biāo)識(shí)保存在中央處理器111的鏡像寄存器中,將主內(nèi)存控制器1121的標(biāo)識(shí)保存在中央處理器112的鏡像寄存器中。將源地址解析和目標(biāo)地址解析的目標(biāo)列表中各表項(xiàng)均配置成1111,1121,1111,1121,依次循環(huán),循環(huán)次數(shù)取決于目標(biāo)列表的表項(xiàng)數(shù),例如,通常Intel中央處理器中目標(biāo)列表有16項(xiàng)表項(xiàng),每次循環(huán)需要占用2個(gè)表項(xiàng),則循環(huán)次數(shù)為8次。其中目標(biāo)列表可以為一個(gè)數(shù)組,保存在內(nèi)存地址交叉寄存器中,目標(biāo)列表各表項(xiàng)中的1111和1121分別為主內(nèi)存控制器1111和1121的標(biāo)識(shí),主內(nèi)存控制器的標(biāo)識(shí)具體表示形式在此不做限定。這樣配置后,內(nèi)存控制器1112和1122作為從內(nèi)存控制器,在NUMA系統(tǒng)中,節(jié)點(diǎn)11上面的內(nèi)存空間只包括內(nèi)存控制器1111和1121的內(nèi)存空間。節(jié)點(diǎn)11的內(nèi)存空間為64GB,進(jìn)行內(nèi)存鏡像配置后成為32GB。
[0068]當(dāng)對(duì)節(jié)點(diǎn)11進(jìn)行內(nèi)存鏡像配置時(shí),還需要對(duì)節(jié)點(diǎn)控制器113進(jìn)行配置,節(jié)點(diǎn)控制器113的一種結(jié)構(gòu)如圖9所示,包括系統(tǒng)接口 1131-0和1131-1,用于分別與中央處理器111和中央處理器112連接。報(bào)文調(diào)度器(Packet Dispatcher)用于轉(zhuǎn)發(fā)報(bào)文。遠(yuǎn)端流水線(Remote Pipeline) 1133為用于處理遠(yuǎn)端的協(xié)議事務(wù)的引擎,這里遠(yuǎn)端的協(xié)議事務(wù)是指從NI1136-0、1136-1和1136-2進(jìn)入的協(xié)議事務(wù),其中NI是指本發(fā)明實(shí)施例中前面所述的網(wǎng)絡(luò)接口。本地流水線(Local Pipeline)1134為用于處理本地的協(xié)議事務(wù)的引擎,本地的協(xié)議事務(wù)是指中央處理器111和112發(fā)出的協(xié)議事務(wù)。片上網(wǎng)絡(luò)(Network On Chip) 1135是一個(gè)交換網(wǎng)絡(luò),用于遠(yuǎn)端流水線1133、本地流水線1134與NI 1136-0、1136-1和1136-2的連接。
[0069]在圖9所示的節(jié)點(diǎn)控制器113中,需要配置本地流水線1134的內(nèi)存地址交叉寄存器。如圖7所示,當(dāng)本發(fā)明實(shí)施例在節(jié)點(diǎn)11開啟中央處理器間的內(nèi)存鏡像之前,內(nèi)存地址在節(jié)點(diǎn)11的中央處理器間交叉編址,即內(nèi)存地址在內(nèi)存控制器1111、1112、1121和1122之間進(jìn)行交叉編址,以每個(gè)內(nèi)存控制器需要I條本地流水線為例,需要4條本地流水線,節(jié)點(diǎn)11設(shè)置內(nèi)存鏡像后,由于內(nèi)存控制器1111和1121為主內(nèi)存控制器,因此,只需要開啟兩條本地流水線,分別對(duì)應(yīng)內(nèi)存控制器1111和1121,將1111,1121,1111,1121的循環(huán)隊(duì)列寫入節(jié)點(diǎn)控制器113的目標(biāo)列表中,完成對(duì)內(nèi)存地址交叉寄存器的修改。其中目標(biāo)列表可以為一個(gè)數(shù)組,保存在內(nèi)存地址交叉寄存器中,目標(biāo)列表各表項(xiàng)中的1111和1121分別為主內(nèi)存控制器1111和1121的標(biāo)識(shí),主內(nèi)存控制器的標(biāo)識(shí)具體表示形式在此不做限定。由于在節(jié)點(diǎn)11的四個(gè)內(nèi)存控制器間進(jìn)行內(nèi)存交叉編址,需要使用4條本地流水線來(lái)分別對(duì)應(yīng)節(jié)點(diǎn)11上的4個(gè)內(nèi)存控制器。當(dāng)節(jié)點(diǎn)11的內(nèi)存鏡像配置完成后,只有兩個(gè)內(nèi)存控制器接受內(nèi)存訪問(wèn)事務(wù),此時(shí)可以修改本地流水線,只開啟2條本地流水線分別對(duì)應(yīng)內(nèi)存控制器1111和1121,當(dāng)然,內(nèi)存控制器1111和1121也可以分別使用多條本地流水線,可以得到更好的性能。節(jié)點(diǎn)內(nèi)存鏡像配置完成后,向NUMA的操作系統(tǒng)上報(bào)有鏡像保護(hù)的內(nèi)存地址范圍,一種實(shí)現(xiàn)方式為通過(guò)高級(jí)配置和電源管理接口(Advanced Configuration and PowerManagement Interface)向操作系統(tǒng)上報(bào)有鏡像保護(hù)的內(nèi)存地址范圍,即節(jié)點(diǎn)11主節(jié)點(diǎn)控制器1111和1121的內(nèi)存地址范圍,從而可以將重要數(shù)據(jù)放置在該有鏡像保護(hù)的內(nèi)存空間中。
[0070]由于現(xiàn)有技術(shù)中NUMA系統(tǒng)進(jìn)行節(jié)點(diǎn)內(nèi)存鏡像配置時(shí),一旦對(duì)節(jié)點(diǎn)進(jìn)行內(nèi)存鏡像配置,則所有節(jié)點(diǎn)都需要進(jìn)行內(nèi)存鏡像配置,從而使NUMA系統(tǒng)的內(nèi)存空間減半,影響了NUMA系統(tǒng)性能,而本發(fā)明實(shí)施例提供的NUMA系統(tǒng)節(jié)點(diǎn)內(nèi)存鏡像方法,可以根據(jù)需要,選擇需要的節(jié)點(diǎn)進(jìn)行內(nèi)存鏡像,實(shí)現(xiàn)以節(jié)點(diǎn)為粒度的內(nèi)存鏡像,有效解決NUMA系統(tǒng)中內(nèi)存鏡像損耗過(guò)多內(nèi)存空間的問(wèn)題,增加了 NUMA系統(tǒng)內(nèi)存鏡像配置的靈活度。
[0071]NUMA系統(tǒng)的主節(jié)點(diǎn)通常存儲(chǔ)系統(tǒng)重要信息,因此,通常將主節(jié)點(diǎn)默認(rèn)進(jìn)行內(nèi)存鏡像設(shè)置,本發(fā)明對(duì)此不作限定。
[0072]本發(fā)明實(shí)施例提供了 NUMA系統(tǒng)內(nèi)存鏡像配置方法,當(dāng)對(duì)NUMA系統(tǒng)節(jié)點(diǎn)進(jìn)行內(nèi)存鏡像配置后,根據(jù)需要還可以解除節(jié)點(diǎn)的內(nèi)存鏡像,如圖10所示,具體包括:
[0073]1001:所述NUMA系統(tǒng)的主節(jié)點(diǎn)接收解除節(jié)點(diǎn)內(nèi)存鏡像指令;
[0074]1002:所述主節(jié)點(diǎn)根據(jù)所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述解除鏡像節(jié)點(diǎn)為所述目標(biāo)節(jié)點(diǎn)中的至少一個(gè)。
[0075]仍以上述節(jié)點(diǎn)11作為解除鏡像節(jié)點(diǎn)為例,節(jié)點(diǎn)11作為內(nèi)存鏡像節(jié)點(diǎn),仍以圖8所示界面為例,當(dāng)選擇解除節(jié)點(diǎn)11的內(nèi)存鏡像后,通過(guò)基板管理控制器或者操作系統(tǒng)發(fā)出解除節(jié)點(diǎn)內(nèi)存鏡像指令,主節(jié)點(diǎn)10接收解除節(jié)點(diǎn)內(nèi)存鏡像指令。其中,解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)。解除鏡像節(jié)點(diǎn)是指需要解除內(nèi)存鏡像的節(jié)點(diǎn),在本發(fā)明實(shí)施例中,即節(jié)點(diǎn)11。當(dāng)配置為內(nèi)存鏡像的節(jié)點(diǎn)有多個(gè)時(shí),可以從其中選擇至少一個(gè)節(jié)點(diǎn)作為解除鏡像節(jié)點(diǎn)。主節(jié)點(diǎn)10根據(jù)解除內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的鏡像。當(dāng)解除節(jié)點(diǎn)11的內(nèi)存鏡像時(shí),主節(jié)點(diǎn)10配置節(jié)點(diǎn)11的中央處理器111、112和節(jié)點(diǎn)控制器113。具體包括:取消鏡像寄存器中主內(nèi)存控制器1111和1121的標(biāo)識(shí),修改節(jié)點(diǎn)11的源地址解析和目標(biāo)地址解析,將在內(nèi)存鏡像模式下的從內(nèi)存控制器1112和1122的內(nèi)存空間重新配置到節(jié)點(diǎn)11的內(nèi)存空間。由于節(jié)點(diǎn)11被配置為中央處理器間節(jié)點(diǎn)鏡像模式,在解除鏡像之前,源地址解析和目標(biāo)地址解析的目標(biāo)列表配置為1111,1121,1111,1121,依次循環(huán)。解除鏡像后,將源地址解析和目標(biāo)地址解析的目標(biāo)列表配置為1111,1112,1121,1122,1111,1112,1121,1122,依次循環(huán),循環(huán)次數(shù)取決于目標(biāo)列表的表項(xiàng)數(shù),例如,通常Intel中央處理器中目標(biāo)列表有16項(xiàng)表項(xiàng),每次循環(huán)需要占用4個(gè)表項(xiàng),則循環(huán)次數(shù)為4次。其中目標(biāo)列表可以為一個(gè)數(shù)組,保存在內(nèi)存地址交叉寄存器中,目標(biāo)列表各表項(xiàng)中的1111、1112、1121和1122分別為內(nèi)存控制器1111、1112、1121和1122的標(biāo)識(shí),內(nèi)存控制器的標(biāo)識(shí)具體表示形式在此不做限定。這樣,內(nèi)存控制器1112和內(nèi)存控制器1122的內(nèi)存空間就可以重新納入節(jié)點(diǎn)11的內(nèi)存空間,從而增加NUMA系統(tǒng)的內(nèi)存空間。
[0076]另外,解除節(jié)點(diǎn)11的內(nèi)存鏡像,還需要修改節(jié)點(diǎn)11的節(jié)點(diǎn)控制器113的本地流水線的內(nèi)存地址寄存器。如節(jié)點(diǎn)11進(jìn)行內(nèi)存鏡像配置時(shí)所述,通常節(jié)點(diǎn)11進(jìn)行內(nèi)存鏡像后,主內(nèi)存控制器1111和1121分別開啟I條本地流水線,對(duì)從內(nèi)存控制器1112和1122,則不開啟本地流水線。解除鏡像后,節(jié)點(diǎn)11內(nèi)四個(gè)內(nèi)存控制器1111、1112、1121和1122的內(nèi)存空間全部進(jìn)入NUMA系統(tǒng)的內(nèi)存空間。因此,需要開啟4條本地流水線,將1111、1112、1121、1122、1111、1112、1121、1122的循環(huán)隊(duì)列寫入節(jié)點(diǎn)控制器113的內(nèi)存地址交叉寄存器的目標(biāo)列表中,其中目標(biāo)列表可以為一個(gè)數(shù)組,保存在內(nèi)存地址交叉寄存器中,1111、1112、1121和1122分別為內(nèi)存控制器1111、1112、1121和1122的標(biāo)識(shí),內(nèi)存控制器的標(biāo)識(shí)具體表示形式在此不做限定。解除節(jié)點(diǎn)11的內(nèi)存鏡像后,向NUMA的操作系統(tǒng)上報(bào)節(jié)點(diǎn)的內(nèi)存空間,即內(nèi)存容量,一種實(shí)現(xiàn)方式為通過(guò)高級(jí)配置和電源管理接口向操作系統(tǒng)上報(bào)每個(gè)節(jié)點(diǎn)的內(nèi)存空間。
[0077]本發(fā)明實(shí)施例提供的NUMA系統(tǒng)內(nèi)存鏡像解除方法,可以根據(jù)需要對(duì)NUMA系統(tǒng)以單個(gè)節(jié)點(diǎn)為粒度進(jìn)行內(nèi)存鏡像解除,可以靈活釋放內(nèi)存空間。
[0078]本發(fā)明上述實(shí)施例NUMA系統(tǒng)內(nèi)存鏡像的方法,也可以使用中央處理器間內(nèi)存鏡像模式,節(jié)點(diǎn)內(nèi)內(nèi)存地址的編址方式也可以使用中央處理器間交叉編址方式。即節(jié)點(diǎn)內(nèi)存鏡像模式與節(jié)點(diǎn)內(nèi)存地址的編址方式可以自由組合,同時(shí)節(jié)點(diǎn)內(nèi)內(nèi)存地址也可以不使用交叉編址方式,對(duì)中央處理器內(nèi)內(nèi)存鏡像模式的配置和解除不再贅述。本發(fā)明實(shí)施例僅僅給出一種示例性說(shuō)明,配置節(jié)點(diǎn)內(nèi)存鏡像的節(jié)點(diǎn)數(shù)量可以根據(jù)實(shí)際需要具體進(jìn)行確定,解除節(jié)點(diǎn)內(nèi)存鏡像的節(jié)點(diǎn)數(shù)也可以根據(jù)需要具體進(jìn)行確定。
[0079]本發(fā)明另一實(shí)施例提供了 NUMA系統(tǒng)的主節(jié)點(diǎn)111,如圖11所示,主節(jié)點(diǎn)111包括接收單元1110和配置單元1111。所述接收單元1110用于接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息;所述配置單元1111用于根據(jù)所述接收單元1111接收的所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
[0080]如圖11所示的NUMA系統(tǒng)的主節(jié)點(diǎn),當(dāng)所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式,則所述配置單元1111用于根據(jù)所述接收單元1110接收的所述所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像,具體包括:
[0081]所述配置單元1111用于根據(jù)所述接收單元接收的所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
[0082]如圖11所示的NUMA系統(tǒng)的主節(jié)點(diǎn),當(dāng)所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式,則所述配置單元1111用于根據(jù)所述接收單元1110接收的所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像,具體包括:
[0083]所述配置單元1111用于根據(jù)所述接收單元1110接收的所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
[0084]如圖11所示的NUMA系統(tǒng),所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址編址模式可以為交叉編址。
[0085]本發(fā)明實(shí)施例提供的NUMA系統(tǒng)可以參照前述實(shí)施例對(duì)節(jié)點(diǎn)內(nèi)存鏡像配置的方法描述來(lái)實(shí)現(xiàn)節(jié)點(diǎn)內(nèi)存鏡像配置,在此不再贅述。
[0086]本發(fā)明實(shí)施例提供的NUMA系統(tǒng),目標(biāo)節(jié)點(diǎn)的個(gè)數(shù)可以根據(jù)系統(tǒng)節(jié)點(diǎn)個(gè)數(shù)以及具體需求來(lái)確定,可以為一個(gè),也可以為多個(gè)。由于現(xiàn)有技術(shù)中NUMA系統(tǒng)進(jìn)行節(jié)點(diǎn)內(nèi)存鏡像配置時(shí),一旦對(duì)節(jié)點(diǎn)進(jìn)行內(nèi)存鏡像配置,則所有節(jié)點(diǎn)都需要進(jìn)行內(nèi)存鏡像配置,從而使NUMA系統(tǒng)的內(nèi)存空間減半,影響了 NUMA系統(tǒng)性能,而本發(fā)明實(shí)施例提供的NUMA系統(tǒng)節(jié)點(diǎn)內(nèi)存鏡像方法,可以根據(jù)需要,選擇需要的節(jié)點(diǎn)進(jìn)行內(nèi)存鏡像,實(shí)現(xiàn)以單個(gè)節(jié)點(diǎn)為粒度的內(nèi)存鏡像,有效解決NUMA系統(tǒng)中內(nèi)存鏡像損耗過(guò)多內(nèi)存空間的問(wèn)題,增加了 NUMA系統(tǒng)內(nèi)存鏡像配置的靈活度。
[0087]主節(jié)點(diǎn)110還包括解除單元1112,如圖12所示,所述接收單元1110還用于接收解除節(jié)點(diǎn)內(nèi)存鏡像指令;
[0088]所述解除單元1112用于根據(jù)所述接收單元1110接收的所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述除鏡像節(jié)點(diǎn)的內(nèi)存鏡像。其中,所述解除鏡像節(jié)點(diǎn)為所述目標(biāo)節(jié)點(diǎn)中的至少一個(gè)。即當(dāng)目標(biāo)節(jié)點(diǎn)為多個(gè)時(shí),解除單元1112可以根據(jù)解除節(jié)點(diǎn)內(nèi)存鏡像指令解除目標(biāo)節(jié)點(diǎn)中部分節(jié)點(diǎn)的內(nèi)存鏡像,當(dāng)目標(biāo)節(jié)點(diǎn)為一個(gè)時(shí),解除鏡像節(jié)點(diǎn)即為目標(biāo)節(jié)點(diǎn)。
[0089]本發(fā)明實(shí)施例提供的NUMA系統(tǒng)可以參照前述實(shí)施例對(duì)節(jié)點(diǎn)內(nèi)存鏡像解除的方法描述來(lái)實(shí)現(xiàn)節(jié)點(diǎn)內(nèi)存鏡像解除,在此不再贅述。
[0090]本發(fā)明實(shí)施例提供的NUMA系統(tǒng)內(nèi)存鏡像解除方法,可以根據(jù)需要對(duì)NUMA系統(tǒng)以單個(gè)節(jié)點(diǎn)為粒度,解除節(jié)點(diǎn)的內(nèi)存鏡像,釋放節(jié)點(diǎn)內(nèi)存空間。
[0091]本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(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ā)明的范圍。
[0092]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
[0093]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所公開的系統(tǒng)、方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0094]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0095]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
[0096]所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取非易失性存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的非易失性存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(R0M,Read-Only Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0097]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種非統(tǒng)一內(nèi)存訪問(wèn)NUMA系統(tǒng)中的內(nèi)存鏡像配置方法,其特征在于,所述方法包括: 所述NUMA系統(tǒng)的主節(jié)點(diǎn)接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息; 所述主節(jié)點(diǎn)根據(jù)所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
2.如權(quán)利要求1所述的方法,其特征在于,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
3.如權(quán)利要求1所述的方法,其特征在于,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
4.如權(quán)利要求1至3任一所述的方法,其特征在于,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址編址模式為交叉編址。
5.如權(quán)利要求1至4任一所述的方法,其特征在于,所述根據(jù)所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像后,還包括: 向所述NUMA系統(tǒng)的操作系統(tǒng)發(fā)送所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址信息。
6.一種非統(tǒng)一內(nèi)存訪問(wèn)NUMA系統(tǒng)中的內(nèi)存鏡像解除方法,其特征在于,所述方法包括: 所述NUMA系統(tǒng)的主節(jié)點(diǎn)接收解除節(jié)點(diǎn)內(nèi)存鏡像指令; 所述主節(jié)點(diǎn)根據(jù)所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述解除鏡像節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
7.如權(quán)利要求6所述的方法,其特征在于,所述主節(jié)點(diǎn)根據(jù)所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的內(nèi)存鏡像后,還包括: 所述主節(jié)點(diǎn)向所述NUMA系統(tǒng)的操作系統(tǒng)發(fā)送所述NUMA系統(tǒng)每個(gè)節(jié)點(diǎn)的內(nèi)存地址信肩、O
8.一種非統(tǒng)一內(nèi)存訪問(wèn)NUMA系統(tǒng),其特征在于,所述NUMA系統(tǒng)包括主節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn);所述主節(jié)點(diǎn)用于接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息; 所述主節(jié)點(diǎn)用于根據(jù)所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
10.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
11.如權(quán)利要求8至10任一所述的系統(tǒng),其特征在于,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址編址模式為交叉編址。
12.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述主節(jié)點(diǎn)還用于接收解除節(jié)點(diǎn)內(nèi)存鏡像指令; 所述主節(jié)點(diǎn)還用于根據(jù)所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述解除鏡像節(jié)點(diǎn)為所述目標(biāo)節(jié)點(diǎn)中的至少一個(gè)。
13.—種非統(tǒng)一內(nèi)存訪問(wèn)NUMA系統(tǒng)的主節(jié)點(diǎn),其特征在于,所述主節(jié)點(diǎn)包括接收單元和配置單元; 所述接收單元用于接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息; 所述配置單元用于根據(jù)所述接收單元接收的所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
14.如權(quán)利要求13所述的主節(jié)點(diǎn),其特征在于,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
15.如權(quán)利要求13所述的主節(jié)點(diǎn),其特征在于,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
16.如權(quán)利要求13至15任一所述的主節(jié)點(diǎn),其特征在于,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址編址模式為交叉編址。
17.如權(quán)利要求13所述的主節(jié)點(diǎn),其特征在于,所述主節(jié)點(diǎn)還包括解除單元;所述接收單元還用于接收解除節(jié)點(diǎn)內(nèi)存鏡像指令; 所述解除單元用于根據(jù)所述接收單元接收的所述解除節(jié)點(diǎn)內(nèi)存鏡像指令攜帶的解除鏡像節(jié)點(diǎn)的標(biāo)識(shí)解除所述解除鏡像節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述解除鏡像節(jié)點(diǎn)為所述目標(biāo)節(jié)點(diǎn)中的至少一個(gè)。
18.一種非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)計(jì)算機(jī)指令,當(dāng)非統(tǒng)一內(nèi)存訪問(wèn)NUMA系統(tǒng)的主節(jié)點(diǎn)執(zhí)行所述計(jì)算機(jī)指令時(shí),實(shí)現(xiàn): 接收節(jié)點(diǎn)內(nèi)存鏡像指令,所述節(jié)點(diǎn)內(nèi)存鏡像指令攜帶目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和內(nèi)存鏡像模式信息; 根據(jù)所述目標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)和所述內(nèi)存鏡像模式信息配置所述目標(biāo)節(jié)點(diǎn)的內(nèi)存鏡像;其中,所述目標(biāo)節(jié)點(diǎn)的內(nèi)存地址是連續(xù)的。
19.如權(quán)利要求18所述的非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器間內(nèi)存鏡像模式。
20.如權(quán)利要求18所述的非易失性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述內(nèi)存鏡像模式信息用于指示將所述目標(biāo)節(jié)點(diǎn)配置為中央處理器內(nèi)內(nèi)存鏡像模式。
【文檔編號(hào)】G06F11/07GK103649923SQ201380000684
【公開日】2014年3月19日 申請(qǐng)日期:2013年6月29日 優(yōu)先權(quán)日:2013年6月29日
【發(fā)明者】張斌, 盧廣 申請(qǐng)人:華為技術(shù)有限公司