[發(fā)明專利]一種基于內(nèi)存親和性的hpl測試優(yōu)化方法在審
| 申請?zhí)枺?/td> | 201711069543.9 | 申請日: | 2017-11-03 |
| 公開(公告)號: | CN107832213A | 公開(公告)日: | 2018-03-23 |
| 發(fā)明(設(shè)計)人: | 劉長生 | 申請(專利權(quán))人: | 鄭州云海信息技術(shù)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/50 |
| 代理公司: | 濟南信達專利事務(wù)所有限公司37100 | 代理人: | 高經(jīng) |
| 地址: | 450000 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 內(nèi)存 親和性 hpl 測試 優(yōu)化 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體提供一種基于內(nèi)存親和性的hpl測試優(yōu)化方法。
背景技術(shù)
計算機具有存儲信息量大,使用者獲取信息方便快捷等優(yōu)點,受到廣泛的應(yīng)用。在SMP(Symmetrical Multi-Processing )即多對稱處理器環(huán)境的hpl (high performance computing linpack benchmark) 高性能計算linpack基準(zhǔn)測試中,會根據(jù)測試環(huán)境的內(nèi)存配置設(shè)置測試的矩陣大小,而在SMP環(huán)境下跨節(jié)點的訪存的性能要低于訪問本地內(nèi)存的性能,因此跨節(jié)點的訪存會影響hpl測試。目前在進行hpl測試過程中,使用系統(tǒng)的auto_numabalaning機制可以在測試過程中對進程及內(nèi)存進行動態(tài)遷移使進程盡量訪問本地內(nèi)存。但是auto_numabalaning機制對進程的運行會有一定的影響,因為在進程及內(nèi)存遷移過程中會有大量的開銷,而在進程及內(nèi)存遷移過程中所消耗的開銷會大幅度降低系統(tǒng)的訪存性能,有待進一步的改進。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是針對上述存在的問題,提供一種能夠避免進程或者內(nèi)存遷移所消耗的開銷,從而大幅提升系統(tǒng)的訪存性能的基于內(nèi)存親和性的hpl測試優(yōu)化方法。
為實現(xiàn)上述目的,本發(fā)明提供了如下技術(shù)方案:
一種基于內(nèi)存親和性的hpl測試優(yōu)化方法,該hpl測試優(yōu)化方法具體包括以下步驟:
S1:通過系統(tǒng)文件自動收集測試環(huán)境的CPU配置;
S2:根據(jù)CPU配置,設(shè)置測試運行時使用的并行進程數(shù);
S3:加載設(shè)置進程親和性的內(nèi)核模塊,通過內(nèi)存親和性設(shè)置算法設(shè)置進程的調(diào)度掩碼,將進程綁定在某個節(jié)點中,并設(shè)置進程為本地申請內(nèi)存,最終將hpl進程平均綁定在系統(tǒng)的各個節(jié)點中。
本發(fā)明中通過linux系統(tǒng)的profs文件系統(tǒng)自動收集測試環(huán)境的CPU配置。
通過在進程創(chuàng)建時將hpl進程均勻的綁定在系統(tǒng)的各個節(jié)點中,并從本地申請內(nèi)存,提升了內(nèi)存的訪存效率,從而提升了hpl測試結(jié)果。
本發(fā)明的方法可以擴展到其他對跨節(jié)點訪存比較敏感的測試環(huán)境中,提升訪存性能。
作為優(yōu)選,步驟S1中所述CPU配置包括節(jié)點數(shù)及核數(shù)。
作為優(yōu)選,步驟S2中,并行進程數(shù)與CPU配置的核數(shù)相等。
作為優(yōu)選,步驟S3中,內(nèi)存親和性設(shè)置算法包括以下過程:
1)獲取hpl進程的進程名;
2)清空節(jié)點掩碼;
3)判斷進程名與hpl進程名是否一致,若一致執(zhí)行4),否則執(zhí)行8);
4)從節(jié)點掩碼中找到空閑的節(jié)點;
5)將進程綁定到對應(yīng)的節(jié)點中,并將對應(yīng)的掩碼置位;
6)判斷系統(tǒng)所有節(jié)點的掩碼是否均設(shè)置為1,若是,執(zhí)行7),否則執(zhí)行8);
7)清空節(jié)點掩碼;
8)結(jié)束。
hpl進程名為xhpl。
作為優(yōu)選,所述節(jié)點掩碼為32位節(jié)點掩碼。
與現(xiàn)有技術(shù)相比,本發(fā)明的基于內(nèi)存親和性的hpl測試優(yōu)化方法具有以下突出的有益效果:所述基于內(nèi)存親和性的hpl測試優(yōu)化方法根據(jù)hpl的訪存特性,在進程啟動時指定內(nèi)存運行的節(jié)點,并設(shè)置進程從本地申請內(nèi)存,解決了使用系統(tǒng)默認(rèn)的auto_numabalancing機制時,對進程及內(nèi)存進行遷移所產(chǎn)生的系統(tǒng)開銷,提升了進程的訪存性能,從而提升hpl測試結(jié)果,具有良好的推廣應(yīng)用價值。
附圖說明
圖1是本發(fā)明所述基于內(nèi)存親和性的hpl測試優(yōu)化方法的流程圖;
圖2是本發(fā)明所述基于內(nèi)存親和性的hpl測試優(yōu)化方法的內(nèi)存親和性設(shè)置算法示意圖。
具體實施方式
下面將結(jié)合附圖和實施例,對本發(fā)明的基于內(nèi)存親和性的hpl測試優(yōu)化方法作進一步詳細說明。
實施例
如圖1所示,本發(fā)明的基于內(nèi)存親和性的hpl測試優(yōu)化方法,具體包括以下步驟:
S1:通過系統(tǒng)文件自動收集測試環(huán)境的CPU配置。
通過linux系統(tǒng)的profs文件系統(tǒng)自動收集測試環(huán)境的CPU配置,CPU配置包括節(jié)點數(shù)及核數(shù)。
S2:根據(jù)CPU配置,設(shè)置測試運行時使用的并行進程數(shù),并行進程數(shù)與CPU配置的核數(shù)相等。
S3:加載設(shè)置進程親和性的內(nèi)核模塊,通過內(nèi)存親和性設(shè)置算法設(shè)置進程的調(diào)度掩碼,將進程綁定在某個節(jié)點中,并設(shè)置進程為本地申請內(nèi)存,最終將hpl進程平均綁定在系統(tǒng)的各個節(jié)點中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于鄭州云海信息技術(shù)有限公司,未經(jīng)鄭州云海信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711069543.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





