Numa體系結構下面向容錯的作業系統內存管理方法
2023-05-13 01:50:01 2
專利名稱:Numa體系結構下面向容錯的作業系統內存管理方法
技術領域:
本發明涉及計算機作業系統領域,具體涉及一種NUMA體系結構下面向容錯的作業系統內存管理機制。
背景技術:
應用在金融、電信等關鍵領域的大型計算機,通常在硬體和軟體都提供了強大的容錯功能,以保證最高最強的系統可用性,從而能夠最大限度的持續提供關鍵可靠的服務。 軟體容錯通常是由作業系統來保證,作業系統時刻關注系統軟硬體是否正常運行,並在出現問題或者潛在出現問題的時候採取必要的措施以保證系統持續可用。熱插拔技術是作業系統容錯功能中重要的一環,它對提高整個系統的可靠性、可用性和可服務性都不可或缺。有熱插拔技術作為保障,系統管理員可以在不關機、不重啟、 不斷電的情況下更換設備,可以及時的排除、隔離和修復故障,大大提高系統的可用性。在現有技術中,NUMA體系結構下,作業系統分配內存時,可以使用多種策略,其中最常用的是本地分配策略。這種策略使得CPU多數訪問「距離」自己較近的內存,減少訪存時間,提高系統效率。但是,本地分配策略也使得系統內存散布在各個節點,過於零散從而不利於管理。更進一步的是,這種策略使得系統核心使用的內存也散布在各個節點,由於這部分內存不能被遷移和熱移除,使得擁有這部分內存的節點不能被熱移除,影響了整體系統的容錯性能,不利於提高系統的高可用性。現有的內存熱插拔技術,存在諸多限制,有平臺限制、內存模式限制以及操作大小限制。例如操作大小只能是IG內存為單位,這使得管理操作十分不便,實用性有限。
發明內容
本發明的目的是關注NUMA體系結構下的內存管理機制,採用多個技術突破現有技術限制,實現整個NUMA節點上內存的熱插拔。本發明的目的是按以下方式實現的,基於作業系統內存管理和支持作業系統的容錯功能,提供可配置的內存限定分配功能和可伸縮的整節點內存熱插拔功能,其中可配置的內存限定分配功能是在NUMA體系結構下,整個NUMA節點中包含的內存的熱移除和熱添加;可伸縮的整節點內存熱插拔功能是可伸縮的內存熱插拔,即內存熱插拔處理的內存大小最小為一頁,最大為一個內存區域中所有的內存,內存熱插拔分為熱移除和熱添加,內存熱移除首先從作業系統層面熱移除待處理的內存,再和系統固件、硬體配合,從硬體層面移除,從而使得內存設備從系統中熱移除;熱添加首先從硬體層面熱添加內存設備,再從作業系統層面開始使用熱添加的內存,管理步驟如下
1)作業系統啟動前,配置為內存限定分配功能啟用;
2)啟動作業系統,啟動過程中的內存分配受到內存限定分配功能影響,將作業系統核心使用的內存或會導致不能熱插拔的內存分配在指定節點上完成,包括如節點0 ;
3)進行內存熱插拔操作,除節點0以外,其他節點的內存均可以熱插拔;
4)內存熱插拔最小單元為一個物理頁,最大為一個節點內所有的內存;
5)熱移除和熱添加內存均以起始物理地址和內存大小為參數,內存熱移除首先從作業系統層面熱移除待處理的內存,再和系統固件、硬體配合,從硬體層面移除,從而使得內存設備從系統中熱移除;熱添加首先從硬體層面熱添加內存設備,再從作業系統層面開始使用熱添加的內存;
6)在作業系統運行時關閉內存限定分配功能,此後的核心內存分配便不會限制在節點 0完成。可配置內存限定分配功能,針對作業系統的內存分配策略,NUMA體系結構下,將系統核心使用的內存和會導致不能被熱移除的內存分配到指定的同一個節點上,使得系統中其它節點的內存中沒有不能被熱移除的內存,從而使得系統中其它節點能夠被熱移除,以系統中只有一個節點不能被熱移除的代價,保證了其它節點都能被熱移除以提高系統的可用性。
可配置的內存限定分配功能,在作業系統啟動和運行時均可配置,在啟動時的配置影響在作業系統啟動過程中內存的分配,運行時的配置影響配置之後的內存分配,要使得除了某一指定節點,其它節點均能夠熱移除,需要在系統啟動的時候配置。本發明的方法和現有技術相比,有益效果是NUMA體系結構下面向容錯的作業系統內存管理機制,基於傳統作業系統內存管理,重點支持作業系統的容錯功能,提供了可配置的內存限定分配功能,和可伸縮的整節點內存熱插拔功能。可配置內存限定分配功能,針對作業系統的內存分配策略。NUMA體系結構下,將系統核心使用的內存和會導致不能被熱移除的內存分配到指定的同一個節點上,使得系統中其它節點的內存中沒有不能被熱移除的內存,從而使得系統其它節點能夠被熱移除。如此,以系統中只有一個節點不能被熱移除的代價,保證了其它節點都能被熱移除,大大提高系統的可用性。
圖1是作業系統內存管理的系統架構圖。
具體實施例方式參照說明書附圖對本發明的方法作以下詳細地說明。本發明的NUMA體系結構下面向容錯的作業系統內存管理方法是基於傳統作業系統內存管理,重點支持作業系統的容錯功能,提供了可配置的內存限定分配功能,和可伸縮的整節點內存熱插拔功能。可配置內存限定分配功能,針對作業系統的內存分配策略。NUMA體系結構下,將系統核心使用的內存和會導致不能被熱移除的內存分配到指定的同一個節點上,使得系統中其它節點的內存中沒有不能被熱移除的內存,從而使得系統其它節點能夠被熱移除。如此,以系統中只有一個節點不能被熱移除的代價,保證了其它節點都能被熱移除,大大提高系統的可用性。
可配置的內存限定分配功能,在作業系統啟動和運行時均可配置。在啟動時的配置影響在作業系統啟動過程中內存的分配,運行時的配置影響配置之後的內存分配。要使得除了某一指定節點,其它節點均能夠熱移除,需要在系統啟動的時候配置。可伸縮的整節點內存熱插拔功能,包含兩個具體功能一個是在NUMA體系結構下,整個NUMA節點中包含的內存的熱移除和熱添加;另一個是可伸縮的內存熱插拔,即內存熱插拔處理的內存大小最小為一頁,最大為一個內存區域中所有的內存。內存熱插拔分為熱移除和熱添加,內存熱移除首先從作業系統層面熱移除待處理的內存,再和系統固件、 硬體配合,從硬體層面移除,從而使得內存設備從系統中熱移除;熱添加首先從硬體層面熱添加內存設備,再從作業系統層面開始使用熱添加的內存。
實施例操作步驟如下
1)作業系統啟動前,配置為內存限定分配功能啟用;
2)啟動作業系統,啟動過程中的內存分配受到內存限定分配功能影響,將作業系統核心使用的內存,即會導致不能熱插拔的內存分配在指定節點(如節點0)上完成;
3)進行內存熱插拔操作,除節點0以外,其他節點的內存均可以熱插拔;
4)內存熱插拔最小單元為一個物理頁,最大為一個節點內所有的內存;
5)熱移除和熱添加內存均以起始物理地址和內存大小為參數,內存熱移除首先從作業系統層面熱移除待處理的內存,再和系統固件、硬體配合,從硬體層面移除,從而使得內存設備從系統中熱移除;熱添加首先從硬體層面熱添加內存設備,再從作業系統層面開始使用熱添加的內存。6)在作業系統運行時關閉內存限定分配功能,此後的核心內存分配便不會限制在節點0完成。除說明書所述的技術特徵外,均為本專業技術人員的已知技術。
權利要求
1.NUMA體系結構下面向容錯的作業系統內存管理方法,其特徵在於,基於作業系統內存管理和支持作業系統的容錯功能,提供可配置的內存限定分配功能和可伸縮的整節點內存熱插拔功能,其中可配置的內存限定分配功能是在NUMA體系結構下,整個NUMA節點中包含的內存的熱移除和熱添加;可伸縮的整節點內存熱插拔功能是可伸縮的內存熱插拔,即內存熱插拔處理的內存大小最小為一頁,最大為一個內存區域中所有的內存,內存熱插拔分為熱移除和熱添加,內存熱移除首先從作業系統層面熱移除待處理的內存,再和系統固件、硬體配合,從硬體層面移除,從而使得內存設備從系統中熱移除;熱添加首先從硬體層面熱添加內存設備,再從作業系統層面開始使用熱添加的內存,管理步驟如下1)作業系統啟動前,配置為內存限定分配功能啟用;2)啟動作業系統,啟動過程中的內存分配受到內存限定分配功能影響,將作業系統核心使用的內存或會導致不能熱插拔的內存分配在指定節點上完成,包括如節點0 ;3)進行內存熱插拔操作,除節點0以外,其他節點的內存均可以熱插拔;4)內存熱插拔最小單元為一個物理頁,最大為一個節點內所有的內存;5)熱移除和熱添加內存均以起始物理地址和內存大小為參數,內存熱移除首先從作業系統層面熱移除待處理的內存,再和系統固件、硬體配合,從硬體層面移除,從而使得內存設備從系統中熱移除;熱添加首先從硬體層面熱添加內存設備,再從作業系統層面開始使用熱添加的內存;6)在作業系統運行時關閉內存限定分配功能,此後的核心內存分配便不會限制在節點 0完成。
2.根據權利要求1所述的方法,其特徵在於,可配置內存限定分配功能,針對作業系統的內存分配策略,NUMA體系結構下,將系統核心使用的內存和會導致不能被熱移除的內存分配到指定的同一個節點上,使得系統中其它節點的內存中沒有不能被熱移除的內存, 從而使得系統中其它節點能夠被熱移除,以系統中只有一個節點不能被熱移除的代價,保證了其它節點都能被熱移除以提高系統的可用性。
3.根據權利要求1所述的方法,其特徵在於,可配置的內存限定分配功能,在作業系統啟動和運行時均可配置,在啟動時的配置影響在作業系統啟動過程中內存的分配,運行時的配置影響配置之後的內存分配,要使得除了某一指定節點,其它節點均能夠熱移除,需要在系統啟動的時候配置。
全文摘要
本發明提供一種NUMA體系結構下面向容錯的作業系統內存管理方法是基於作業系統內存管理和支持作業系統的容錯功能,提供可配置的內存限定分配功能和可伸縮的整節點內存熱插拔功能,其中可配置的內存限定分配功能是在NUMA體系結構下,整個NUMA節點中包含的內存的熱移除和熱添加;可伸縮的整節點內存熱插拔功能是可伸縮的內存熱插拔,即內存熱插拔處理的內存大小最小為一頁,最大為一個內存區域中所有的內存,內存熱插拔分為熱移除和熱添加,內存熱移除首先從作業系統層面熱移除待處理的內存,再和系統固件、硬體配合,從硬體層面移除,從而使得內存設備從系統中熱移除;熱添加首先從硬體層面熱添加內存設備,再從作業系統層面開始使用熱添加的內存。
文檔編號G06F11/00GK102323899SQ20111025979
公開日2012年1月18日 申請日期2011年9月5日 優先權日2011年9月5日
發明者吳楠, 周雄, 張東 申請人:浪潮電子信息產業股份有限公司