[發(fā)明專利]高性能計算機NUMA感知的線程和內(nèi)存資源優(yōu)化方法與系統(tǒng)有效
| 申請?zhí)枺?/td> | 201410677736.2 | 申請日: | 2014-11-21 |
| 公開(公告)號: | CN104375899A | 公開(公告)日: | 2015-02-25 |
| 發(fā)明(設計)人: | 莫則堯;張愛清;楊章;田鴻運 | 申請(專利權(quán))人: | 北京應用物理與計算數(shù)學研究所 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京三友知識產(chǎn)權(quán)代理有限公司 11127 | 代理人: | 王天堯 |
| 地址: | 100088*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 性能 計算機 numa 感知 線程 內(nèi)存 資源 優(yōu)化 方法 系統(tǒng) | ||
1.一種高性能計算機非一致內(nèi)存訪問NUMA感知的線程和內(nèi)存資源優(yōu)化系統(tǒng),其特征在于,包括:
運行時環(huán)境探測模塊,用于探測并行程序所在計算結(jié)點的硬件資源及所述硬件資源的分布情況,探測并行程序分布在當前計算結(jié)點上的并行進程數(shù);
計算資源分配管理模塊,用于根據(jù)所述硬件資源的分布情況及所述并行進程數(shù),為各并行進程分配處理器和內(nèi)存計算資源,建立各并行進程及并行進程的子線程與實際處理器核和物理內(nèi)存區(qū)域的映射關系;其中,由每個并行進程開啟的并行區(qū)內(nèi)的執(zhí)行線程在該進程所屬的處理器核上調(diào)度,各線程的內(nèi)存資源分配請求在線程所屬進程的內(nèi)存資源區(qū)域內(nèi)劃分;
并行編程接口及線程綁定模塊,用于向并行程序提供相應的并行編程接口,在并行程序調(diào)用相應的并行編程接口后,根據(jù)所述映射關系,獲取并行區(qū)內(nèi)各線程的綁定位置掩碼,將執(zhí)行線程綁定到相應的CPU核上。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,運行時環(huán)境探測模塊具體用于:
探測當前計算結(jié)點包含的對稱多處理器共享存儲結(jié)構(gòu)SMP模塊數(shù)量,每個SMP模塊的CPU數(shù)量,每塊CPU的處理器核數(shù)量,每塊CPU下掛載的內(nèi)存容量及空閑內(nèi)存信息統(tǒng)計;其中,SMP模塊是由多個CPU以及掛載在該SMP模塊上的內(nèi)存所組成的計算資源模塊,在SMP模塊內(nèi)部的處理器核對該SMP模塊上的內(nèi)存訪問具有相同的訪存性能;
采用共享內(nèi)存通信計數(shù)的方式獲知以消息傳遞接口MPI并行方式運行于當前計算結(jié)點上的并行進程數(shù)。
3.一種高性能計算機NUMA感知的線程和內(nèi)存資源優(yōu)化方法,其特征在于,包括:
探測并行程序所在計算結(jié)點的硬件資源及所述硬件資源的分布情況;
探測并行程序分布在當前計算結(jié)點上的并行進程數(shù);
根據(jù)所述硬件資源的分布情況及所述并行進程數(shù),為各并行進程分配處理器和內(nèi)存計算資源,建立各并行進程及并行進程的子線程與實際處理器核和物理內(nèi)存區(qū)域的映射關系;其中,由每個并行進程開啟的并行區(qū)內(nèi)的執(zhí)行線程在該進程所屬的處理器核上調(diào)度,各線程的內(nèi)存資源分配請求在線程所屬進程的內(nèi)存資源區(qū)域內(nèi)劃分;
向并行程序提供相應的并行編程接口,在并行程序調(diào)用相應的并行編程接口后,根據(jù)所述映射關系,獲取并行區(qū)內(nèi)各線程的綁定位置掩碼,將執(zhí)行線程綁定到相應的CPU核上。
4.如權(quán)利要求3所述的方法,其特征在于,探測并行程序所在計算結(jié)點的硬件資源及所述硬件資源的分布情況,包括:
探測當前計算結(jié)點包含的對稱多處理器共享存儲結(jié)構(gòu)SMP模塊數(shù)量,每個SMP模塊的CPU數(shù)量,每塊CPU的處理器核數(shù)量,每塊CPU下掛載的內(nèi)存容量及空閑內(nèi)存信息統(tǒng)計;其中,SMP模塊是由多個CPU以及掛載在該SMP模塊上的內(nèi)存所組成的計算資源模塊,在SMP模塊內(nèi)部的處理器核對該SMP模塊上的內(nèi)存訪問具有相同的訪存性能;
探測并行程序分布在當前計算結(jié)點上的并行進程數(shù),包括:
采用POSIX共享內(nèi)存寫入的方式統(tǒng)計當前計算結(jié)點上的并行進程數(shù),對運行于當前計算結(jié)點上的各個并行進程按如下流程執(zhí)行統(tǒng)計操作:
初始化進程間信號量;
并行進程搶占信號量鎖資源,若未搶占到則執(zhí)行等待操作;
并行進程獲得信號量鎖資源,嘗試創(chuàng)建共享內(nèi)存;
并行進程歸還信號量鎖資源,讓當前計算結(jié)點上的其它并行進程繼續(xù)搶占信號量鎖資源;
執(zhí)行全局進程同步,確保當前計算結(jié)點內(nèi)的并行進程已更新完自己的信息;
將共享內(nèi)存中的信息拷貝回當前進程并排序,將排序后的進程號對應的序號作為該并行進程在計算結(jié)點內(nèi)的ID號;
回收共享內(nèi)存和信號量。
該專利技術(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/201410677736.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于NUMA高性能網(wǎng)絡緩存資源親和度的虛擬處理器的調(diào)度方法
- 一種信息更新的方法、裝置及系統(tǒng)
- 一種節(jié)點熱插拔的方法和NUMA節(jié)點裝置
- 一種NUMA芯片帶寬監(jiān)測的方法、裝置及系統(tǒng)
- 報文轉(zhuǎn)發(fā)方法和裝置
- 一種資源池調(diào)度方法、系統(tǒng)、服務器和存儲介質(zhì)
- 一種虛擬機的NUMA節(jié)點調(diào)度方法、裝置、設備及介質(zhì)
- 一種數(shù)據(jù)管理方法、相關裝置及系統(tǒng)
- 虛擬機的NUMA節(jié)點綁定方法、裝置、設備及存儲介質(zhì)
- NUMA系統(tǒng)和系統(tǒng)中的頁面遷移方法





