[發明專利]一種實現操作系統核心代碼段多副本運行的方法無效
| 申請號: | 200910016772.3 | 申請日: | 2009-07-13 |
| 公開(公告)號: | CN101604263A | 公開(公告)日: | 2009-12-16 |
| 發明(設計)人: | 張東;吳楠;趙明;郭露 | 申請(專利權)人: | 浪潮電子信息產業股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/445 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 250014山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 操作系統 核心 代碼 副本 運行 方法 | ||
技術領域
本發明涉及計算機操作系統軟件技術領域,具體涉及一種在NUMA體系結構計算機上,實現操作系統核心代碼段多副本運行的方法。
技術背景
目前對于多處理器計算機系統的設計而言,通常有以下三種體系結構可以采用:對稱多處理器SMP模式、大規模并行處理器MPP模式和非一致存儲器訪問NUMA模式。
SMP模式將多個處理器與一個集中的存儲器相連。在SMP模式下,所有處理器都可以訪問同一個系統物理存儲器。SMP系統通常只運行操作系統的一個副本。因此SMP系統有時也被稱為一致存儲器訪問(UMA)結構體系,一致性意指無論在什么時候,處理器只能為內存的每個數據保持或共享唯一一個數值。SMP的缺點是可伸縮性有限,因為在存儲器接口達到飽和的時候,增加處理器并不能獲得更高的性能。SMP體系結構如附圖1所示。
MPP模式則是一種分布式存儲器模式,能夠將更多的處理器納入一個系統的存儲器。一個分布式存儲器模式具有多個節點,每個節點都有自己的存儲器,可以配置為SMP模式,也可以配置為非SMP模式。單個的節點相互連接起來就形成了一個總系統。與單一SMP模式相比,在SMP模式中,數據一致性是由硬件專門管理的,這樣做比較容易實現,但成本較高;在MPP模式中,節點之間的一致性是由軟件來管理,因此,它的速度相對較慢,但成本卻低得多。MMP體系結構如圖2所示。
NUMA模式也采用了分布式存儲器模式,不同的是所有節點中的處理器都可以訪問全部的系統物理存儲器。每個處理器訪問本節點內的存儲器所需要的時間,比訪問某些遠程節點內的存儲器所花的時間要少。即,訪問不同存儲器的時間是不一致的,因此這種模式被稱為“NUMA”(非一致存儲器訪問)。如附圖3所示,我們定義CPU和直接連接在其上的物理內存之間的關系為“親近的”,與需要經過其它CPU“間接”訪問的物理內存之間的關系是“非親近的”。相應的,我們定義CPU直接連接的物理內存為“本地內存”,或“局部內存”,其他的物理內存為“全局內存”。NUMA既保持了SMP模式單一操作系統副本、簡便的應用程序編程模式以及易于管理的特點,又繼承了MPP模式的可擴充性,可以有效地擴充系統的規模。因此,面向事務處理的大型計算機系統多采用NUMA模式。
在多CPU的計算機系統中,每個CPU都可以進入核心態執行。現在的計算機系統,包括X86、IA64、Power、SPARC等,都采用中斷、異常或者系統調用門的方式陷入核心。對于SMP架構的多CPU系統中,會按照負載均衡的原則將進程分布在不同的CPU上;當某個進程出現缺頁故障,或者系統調用時,需要從用戶態進入核心態,此時系統會選擇該進程當前運行的CPU來執行核心代碼;當出現硬件中斷時,系統會按照某種策略選擇一個CPU來執行核心中的中斷處理過程,譬如選擇當前最空閑的CPU。
選擇進程當前運行的CPU執行核心代碼,而不是固定某個CPU執行核心代碼的優點是:
●可以減少CPU之間進行切換的開銷;
●現代的操作系統核心都是支持重復陷入的,即可以并行運行。允許多個CPU陷入核心,可以有效提高CPU的利用率。
NUMA體系的計算機系統略微有所不同。由于在NUMA體系下,CPU訪問非親近的物理內存,和訪問親近的物理內存的時間是不一致的,而且這種時間延遲往往是比較大的(通常在幾倍)。因此,在NUMA體系計算機上運行的操作系統通常會將一個進程綁定在某個CPU上,并且盡量保證該進程所用的物理內存與該CPU親近。這樣可以最大程度避免進程出現跨CPU的物理內存訪問,降低訪存延遲,提高系統運行效率。而操作系統核心的情況與用戶進程不同。在傳統的NUMA計算機系統中,只運行一個操作系統核心副本。即,操作系統核心的代碼段在物理內存中只存在一個副本,而且這個副本通常只會在某個CPU親近的物理內存中。這是與傳統的UNIX類操作系統的體系結構設計相關的。
如附圖4所示,以只有兩個CPU的NUMA結構為例,說明了傳統情況下,分別在兩個CPU上運行的進程,其用戶態地址空間和核心態地址空間,與機器物理內存之間的映射關系。不同進程的用戶態空間(包括代碼和數據)被映射到了不同的物理地址(也有可能是相同的物理地址,譬如共享庫、共享內存等。實際上在NUMA體系下,為了降低訪存延遲,共享庫等也應盡量局部化),而核心態空間則被映射到相同的物理地址,譬如,CPU1的親近物理內存中。
當系統發生中斷、異常或者系統調用,需要從用戶態陷入到核心態的時候,傳統系統有兩種方法可以選擇:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮電子信息產業股份有限公司,未經浪潮電子信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910016772.3/2.html,轉載請聲明來源鉆瓜專利網。





