Numa系統(tǒng)的內(nèi)存測試方法及系統(tǒng)的制作方法
【專利摘要】一種NUMA系統(tǒng)的內(nèi)存測試方法及系統(tǒng),該系統(tǒng)包括:獲取模塊,用于獲取NUMA系統(tǒng)內(nèi)存控制器的數(shù)量;復(fù)制模塊,用于將內(nèi)存測試程序的執(zhí)行線程復(fù)制為多個執(zhí)行線程,每個復(fù)制的執(zhí)行線程對應(yīng)一個內(nèi)存控制器;分割模塊,用于將NUMA系統(tǒng)每個節(jié)點(diǎn)的本地內(nèi)存分割為多份,每份本地內(nèi)存對應(yīng)一個該節(jié)點(diǎn)處理器內(nèi)置的內(nèi)存控制器;執(zhí)行模塊,用于將多個復(fù)制的執(zhí)行線程綁定到NUMA系統(tǒng)每個節(jié)點(diǎn)的每個處理器上執(zhí)行,每個復(fù)制的執(zhí)行線程對應(yīng)每個節(jié)點(diǎn)中每個處理器的一個內(nèi)存控制器,且每個復(fù)制的執(zhí)行線程對應(yīng)測試每個內(nèi)存控制器對應(yīng)的一份本地內(nèi)存。本發(fā)明通過復(fù)制多份內(nèi)存測試程序的執(zhí)行線程,每份并行測試每個節(jié)點(diǎn)的本地內(nèi)存,不用去訪問遠(yuǎn)端內(nèi)存,提高了內(nèi)存測試的效率。
【專利說明】NUMA系統(tǒng)的內(nèi)存測試方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種內(nèi)存測試系統(tǒng)及方法,尤其涉及一種NUMA系統(tǒng)的內(nèi)存測試方法及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有NUMA (Non-Uniform Memory Access,非統(tǒng)一內(nèi)存訪問)系統(tǒng)擁有多條內(nèi)存總線,幾個處理器通過每個內(nèi)存總線與一塊內(nèi)存相連構(gòu)成一個組,這樣NUMA系統(tǒng)被分為若干個組,每個組被稱為一個節(jié)點(diǎn)(node)。處于該節(jié)點(diǎn)中的內(nèi)存被稱為本地內(nèi)存(localmemory),處于其它節(jié)點(diǎn)中的內(nèi)存對于該組而言被稱為遠(yuǎn)程內(nèi)存(foreign memory)。通常NUMA系統(tǒng)的內(nèi)存測試方法是通過一個內(nèi)存測試線程來遍歷測試所有的內(nèi)存,這種檢測方法有諸多缺陷,特別是:存儲器測試線程始終綁定在一個處理器上,當(dāng)測試遠(yuǎn)端內(nèi)存時,訪問和存取速度會大幅降低,嚴(yán)重影響測試效率。
【發(fā)明內(nèi)容】
[0003]鑒于以上內(nèi)容,有必要提供一種NUMA系統(tǒng)的內(nèi)存測試方法及系統(tǒng)。
[0004]所述NUMA系統(tǒng)的內(nèi)存測試方法包括:獲取非統(tǒng)一內(nèi)存訪問NUMA系統(tǒng)中內(nèi)存控制器的數(shù)量;根據(jù)獲取的NUMA系統(tǒng)中內(nèi)存控制器的數(shù)量,將內(nèi)存測試程序的執(zhí)行線程復(fù)制為多個執(zhí)行線程,每個復(fù)制的執(zhí)行線程對應(yīng)一個內(nèi)存控制器;將NUMA系統(tǒng)每個節(jié)點(diǎn)的本地內(nèi)存分割為多份,每份本地內(nèi)存對應(yīng)一個該節(jié)點(diǎn)處理器內(nèi)置的內(nèi)存控制器;將多個復(fù)制的執(zhí)行線程綁定到NUMA系統(tǒng)每個節(jié)點(diǎn)的每個處理器上執(zhí)行,每個復(fù)制的執(zhí)行線程對應(yīng)每個節(jié)點(diǎn)中每個處理器的一個內(nèi)存控制器,且每個復(fù)制的執(zhí)行線程對應(yīng)測試上述每個內(nèi)存控制器對應(yīng)的一份本地內(nèi)存。
[0005]所述NUMA系統(tǒng)的內(nèi)存測試系統(tǒng)包括:獲取模塊,用于獲取非統(tǒng)一內(nèi)存訪問NUMA系統(tǒng)中內(nèi)存控制器的數(shù)量;復(fù)制模塊,用于根據(jù)獲取的NUMA系統(tǒng)中內(nèi)存控制器的數(shù)量,將內(nèi)存測試程序的執(zhí)行線程復(fù)制為多個執(zhí)行線程,每個復(fù)制的執(zhí)行線程對應(yīng)一個內(nèi)存控制器;分割模塊,用于將NUMA系統(tǒng)每個節(jié)點(diǎn)的本地內(nèi)存分割為多份,每份本地內(nèi)存對應(yīng)一個該節(jié)點(diǎn)處理器內(nèi)置的內(nèi)存控制器;執(zhí)行模塊,用于將多個復(fù)制的執(zhí)行線程綁定到NUMA系統(tǒng)每個節(jié)點(diǎn)的每個處理器上執(zhí)行,每個復(fù)制的執(zhí)行線程對應(yīng)每個節(jié)點(diǎn)中每個處理器的一個內(nèi)存控制器,且每個復(fù)制的執(zhí)行線程對應(yīng)測試上述每個內(nèi)存控制器對應(yīng)的一份本地內(nèi)存。
[0006]本發(fā)明通過復(fù)制多份內(nèi)存測試程序的執(zhí)行線程,每份執(zhí)行線程并行測試每個節(jié)點(diǎn)的本地內(nèi)存,不用去訪問遠(yuǎn)端內(nèi)存,提高了內(nèi)存測試的效率。
【專利附圖】
【附圖說明】
[0007]圖1是本發(fā)明NUMA系統(tǒng)的內(nèi)存測試系統(tǒng)的較佳實(shí)施方式的運(yùn)行環(huán)境圖。
[0008]圖2是本發(fā)明NUMA系統(tǒng)的內(nèi)存測試系統(tǒng)的較佳實(shí)施方式的功能模塊圖。
[0009]圖3是本發(fā)明NUMA系統(tǒng)的內(nèi)存測試方法的較佳實(shí)施方式的流程圖。
[0010]主要元件符號說明
【權(quán)利要求】
1.一種NUMA系統(tǒng)的內(nèi)存測試方法,其特征在于,該方法包括: 獲取非統(tǒng)一內(nèi)存訪問NUMA系統(tǒng)中內(nèi)存控制器的數(shù)量; 根據(jù)獲取的NUMA系統(tǒng)中內(nèi)存控制器的數(shù)量,將內(nèi)存測試程序的執(zhí)行線程復(fù)制為多個執(zhí)行線程,每個復(fù)制的執(zhí)行線程對應(yīng)一個內(nèi)存控制器; 將NUMA系統(tǒng)每個節(jié)點(diǎn)的本地內(nèi)存分割為多份,每份本地內(nèi)存對應(yīng)一個該節(jié)點(diǎn)處理器內(nèi)置的內(nèi)存控制器; 將多個復(fù)制的執(zhí)行線程綁定到NUMA系統(tǒng)每個節(jié)點(diǎn)的每個處理器上執(zhí)行,每個復(fù)制的執(zhí)行線程對應(yīng)每個節(jié)點(diǎn)中每個處理器的一個內(nèi)存控制器,且每個復(fù)制的執(zhí)行線程對應(yīng)測試上述每個內(nèi)存控制器對應(yīng)的一份本地內(nèi)存。
2.根據(jù)權(quán)利要求1所述的NUMA系統(tǒng)內(nèi)存測試方法,所述內(nèi)存測試程序的執(zhí)行線程用于測試NUMA系統(tǒng)的內(nèi)存。
3.根據(jù)權(quán)利要求1所述的NUMA系統(tǒng)內(nèi)存測試方法,所述獲取NUMA系統(tǒng)內(nèi)存控制器數(shù)量的方法為: 獲取NUMA系統(tǒng)處理器的數(shù)量; 獲取NUMA系統(tǒng)每個處理器內(nèi)置的內(nèi)存控制器的數(shù)量; 根據(jù)NUMA系統(tǒng)處理器的數(shù)量和NUMA系統(tǒng)每個處理器內(nèi)置的內(nèi)存控制器的數(shù)量,計算NUMA系統(tǒng)內(nèi)存控制器的數(shù)量。
4.根據(jù)權(quán)利要求1所述的NUMA系統(tǒng)內(nèi)存測試方法,所述將每個節(jié)點(diǎn)的本地內(nèi)存分割為多份的方法為: 獲取NUMA系統(tǒng)每個節(jié)點(diǎn)中處理器的數(shù)量; 根據(jù)獲取的每個節(jié)點(diǎn)中處理器的數(shù)量,將每個節(jié)點(diǎn)對應(yīng)的本地內(nèi)存分割為多份,每份本地內(nèi)存對應(yīng)每個節(jié)點(diǎn)中的一個處理器; 將上述每個處理器對應(yīng)的每份本地內(nèi)存再次分割為多份,其中,每份再次分割得到的本地內(nèi)存對應(yīng)每個節(jié)點(diǎn)中每個處理器內(nèi)置的一個內(nèi)存控制器。
5.—種NUMA系統(tǒng)的內(nèi)存測試系統(tǒng),其特征在于,該系統(tǒng)包括: 獲取模塊,用于獲取非統(tǒng)一內(nèi)存訪問NUMA系統(tǒng)中內(nèi)存控制器的數(shù)量; 復(fù)制模塊,用于根據(jù)獲取的NUMA系統(tǒng)中內(nèi)存控制器的數(shù)量,將內(nèi)存測試程序的執(zhí)行線程復(fù)制為多個執(zhí)行線程,每個復(fù)制的執(zhí)行線程對應(yīng)一個內(nèi)存控制器; 分割模塊,用于將NUMA系統(tǒng)每個節(jié)點(diǎn)的本地內(nèi)存分割為多份,每份本地內(nèi)存對應(yīng)一個該節(jié)點(diǎn)處理器內(nèi)置的內(nèi)存控制器; 執(zhí)行模塊,用于將多個復(fù)制的執(zhí)行線程綁定到NUMA系統(tǒng)每個節(jié)點(diǎn)的每個處理器上執(zhí)行,每個復(fù)制的執(zhí)行線程對應(yīng)每個節(jié)點(diǎn)中每個處理器的一個內(nèi)存控制器,且每個復(fù)制的執(zhí)行線程對應(yīng)測試上述每個內(nèi)存控制器對應(yīng)的一份本地內(nèi)存。
6.根據(jù)權(quán)利要求5所述的NUMA系統(tǒng)內(nèi)存測試方法,所述內(nèi)存測試程序的執(zhí)行線程用于測試NUMA系統(tǒng)的內(nèi)存。
7.根據(jù)權(quán)利要求5所述的NUMA系統(tǒng)內(nèi)存測試系統(tǒng),所述獲取NUMA系統(tǒng)內(nèi)存控制器數(shù)量的方法為: 獲取NUMA系統(tǒng)處理器的數(shù)量; 獲取NUMA系統(tǒng)每個處理器內(nèi)置的內(nèi)存控制器的數(shù)量; 根據(jù)NUMA系統(tǒng)處理器的數(shù)量和NUMA系統(tǒng)每個處理器內(nèi)置的內(nèi)存控制器的數(shù)量,計算NUMA系統(tǒng)內(nèi)存控制器的數(shù)量。
8.根據(jù)權(quán)利要求5所述的NUMA系統(tǒng)內(nèi)存測試系統(tǒng),所述將每個節(jié)點(diǎn)的本地內(nèi)存分割為多份的方法為: 獲取NUMA系統(tǒng)每個節(jié)點(diǎn)中處理器的數(shù)量; 根據(jù)獲取的每個節(jié)點(diǎn)中處理器的數(shù)量,將每個節(jié)點(diǎn)對應(yīng)的本地內(nèi)存分割為多份,每份本地內(nèi)存對應(yīng)每個節(jié)點(diǎn)中的一個處理器; 將上述每個處理器對應(yīng)的每份本地內(nèi)存再次分割為多份,其中,每份再次分割得到的本地內(nèi)存對應(yīng)每個節(jié)點(diǎn)中每個處理器內(nèi)置的一個內(nèi)存控制器。
【文檔編號】G06F11/36GK104182334SQ201310196556
【公開日】2014年12月3日 申請日期:2013年5月24日 優(yōu)先權(quán)日:2013年5月24日
【發(fā)明者】王光建 申請人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司