• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于NUMA架構的頁緩存讀取方法及系統技術方案

    技術編號:14235485 閱讀:110 留言:0更新日期:2016-12-21 09:17
    本發明專利技術公開了一種基于NUMA架構的頁緩存讀取方法及系統,包括:當前CPU節點接收目標頁緩存讀取指令時,根據所述讀取指令從頁高速緩存查找目標頁緩存;若其他CPU節點的本地內存中不存在所述目標頁緩存,且所述目標頁緩存未置臟,則將所述目標頁緩存復制至其他CPU節點的本地內存中,以使其他CPU節點直接從本地內存中讀取所述目標頁緩存;可見,通過將頁緩存在每個CPU的節點中都有一份拷貝,避免了當前CPU去訪問其他CPU?node節點的內存,由于頁緩存在所有的node節點的本地內存中都維持一份頁緩存的備份,因此能夠通過減少垮節點訪問的次數來提升頁緩存讀取操作的性能。

    Method and system for reading page cache based on NUMA architecture

    The invention discloses a method and system for reading, NUMA architecture which is based on the current CPU page cache node receives the target page cache read instructions, according to the instruction cache read from the page cache to search the target page; if the target page cache does not exist other CPU nodes in local memory, and the target the page cache is dirty, the target page cache is copied to the other CPU nodes in local memory, so that other CPU nodes directly read the target page from the local cache memory; visible through each CPU node page buffer has a copy of the current CPU access to avoid other CPU node node memory, because page cached in the node all the nodes in the local memory in maintaining a page cache backup, so it can reduce the number of nodes visited by down to improve the page cache read Operation performance.

    【技術實現步驟摘要】

    本專利技術涉及linux NUMA架構
    ,更具體地說,涉及一種基于NUMA架構的頁緩存讀取方法及系統
    技術介紹
    NUMA,非統一內存訪問(Non-uniform Memory Access),介于SMP(對稱多處理)和MPP(大規模并行處理)之間,各個節點自有內存(甚至IO子系統),訪問其它節點的內存則通過高速網絡通道。在這個架構中,每個處理器有其可以直接訪問其自身的“本地”內存池,使CPU和本地內存之間擁有更小的延遲和更大的帶寬。而且整個內存仍然可做為一個整體,可以接受來自任何CPU的訪問。簡言之就是CPU訪問自己領地內的內存延遲最小獨占帶寬,訪問其他的內存區域稍慢并且共享帶寬,但是跨CPU節點的內存訪問會導致性能下降。因此,如何避免跨節點內存訪問,提升頁緩存讀取操作的性能,是本領域技術人員需要解決的問題。
    技術實現思路
    本專利技術的目的在于提供一種基于NUMA架構的頁緩存讀取方法及系統,以實現避免跨節點內存訪問,提升頁緩存讀取操作的性能。為實現上述目的,本專利技術實施例提供了如下技術方案:一種基于NUMA架構的頁緩存讀取方法,包括:當前CPU節點接收目標頁緩存讀取指令時,根據所述讀取指令從頁高速緩存查找目標頁緩存;若其他CPU節點的本地內存中不存在所述目標頁緩存,且所述目標頁緩存未置臟,則將所述目標頁緩存復制至其他CPU節點的本地內存中,以使其他CPU節點直接從本地內存中讀取所述目標頁緩存。其中,若其他CPU節點的本地內存中不存在所述目標頁緩存,包括:判斷所述目標頁緩存的頁復制標志是否被置位;若被置位,則判定其他CPU節點的本地內存中存在所述目標頁緩存,并返回當前CPU節點的頁地址;若未被置位,則判定其他CPU節點的本地內存中不存在所述目標頁緩存。其中,將所述目標頁緩存復制至其他CPU節點的本地內存時,通過原生頁快速查找其他CPU節點上被復制的頁,并在原生頁的描述符中添加以其他CPU node的頁地址為節點的基樹。其中,將所述目標頁緩存復制至其他CPU節點的本地內存中之后,還包括:若檢測到所述目標頁緩存被置臟,則由回收模塊將所有CPU節點中的目標頁緩存進行回收。一種基于NUMA架構的頁緩存讀取系統,包括:目標頁緩存查找模塊,用于當前CPU節點接收目標頁緩存讀取指令時,根據所述讀取指令從頁高速緩存查找目標頁緩存;復制模塊,用于當其他CPU節點的本地內存中不存在所述目標頁緩存,且所述目標頁緩存未置臟,則將所述目標頁緩存復制至其他CPU節點的本地內存中,以使其他CPU節點直接從本地內存中讀取所述目標頁緩存。其中,所述復制模塊包括:判斷單元,用于判斷所述目標頁緩存的頁復制標志是否被置位;若被置位,則判定其他CPU節點的本地內存中存在所述目標頁緩存,并返回當前CPU節點的頁地址;若未被置位,則判定其他CPU節點的本地內存中不存在所述目標頁緩存。其中,所述復制模塊將所述目標頁緩存復制至其他CPU節點的本地內存時,通過原生頁快速查找其他CPU節點上被復制的頁,并在原生頁的描述符中添加以其他CPU node的頁地址為節點的基樹。其中,還包括:回收模塊,用于當檢測到所述目標頁緩存被置臟,則將所有CPU節點中的目標頁緩存進行回收。通過以上方案可知,本專利技術實施例提供的一種基于NUMA架構的頁緩存讀取方法及系統,包括:當前CPU節點接收目標頁緩存讀取指令時,根據所述讀取指令從頁高速緩存查找目標頁緩存;若其他CPU節點的本地內存中不存在所述目標頁緩存,且所述目標頁緩存未置臟,則將所述目標頁緩存復制至其他CPU節點的本地內存中,以使其他CPU節點直接從本地內存中讀取所述目標頁緩存;可見,在本實施例中,通過將頁緩存在每個CPU的節點中都有一份拷貝,在linux內核內存子系統查找文件的頁緩存時,避免了當前CPU去訪問其他CPU node節點的內存,由于頁緩存在所有的node節點的本地內存中都維持一份頁緩存的備份,因此能夠通過減少垮節點訪問的次數來提升頁緩存讀取操作的性能。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本專利技術實施例公開的一種基于NUMA架構的頁緩存讀取方法流程示意圖;圖2為本專利技術實施例公開的以cpu node的頁地址為節點的基樹結構示意圖;圖3為本專利技術實施例公開的一種基于NUMA架構的頁緩存讀取系統結構框圖。具體實施方式下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。本專利技術實施例公開了一種基于NUMA架構的頁緩存讀取方法及系統,以實現避免跨節點內存訪問,提升頁緩存讀取操作的性能。參見圖1,本專利技術實施例提供的一種基于NUMA架構的頁緩存讀取方法,包括:S101、當前CPU節點接收目標頁緩存讀取指令時,根據所述讀取指令從頁高速緩存查找目標頁緩存;具體的,在本方案中,當系統進程訪問文件的內容時,首先通過查找頁高速緩存,如果進程想要獲取的頁是最新的且未置臟且未被復制,則在其他所有的node節點的本地內存中都復制一份,然后返回當前CPU所在節點的本地內存頁的地址,若下次再被訪問時,如果已被復制,則直接返回當前CPU所在節點的本地內存頁的地址。S102、若其他CPU節點的本地內存中不存在所述目標頁緩存,且所述目標頁緩存未置臟,則將所述目標頁緩存復制至其他CPU節點的本地內存中,以使其他CPU節點直接從本地內存中讀取所述目標頁緩存。其中,若其他CPU節點的本地內存中不存在所述目標頁緩存,包括:判斷所述目標頁緩存的頁復制標志是否被置位;若被置位,則判定其他CPU節點的本地內存中存在所述目標頁緩存,并返回當前CPU節點的頁地址;若未被置位,則判定其他CPU節點的本地內存中不存在所述目標頁緩存。具體的,在本實施例中判斷頁緩存是否復制,是基于頁描述符的flag標志,添加頁復制的標志位;當該頁在所有的CPU節點的本地內存中都有一份時則置位。當系統在頁高速緩存中查找到該頁時,首先判斷頁復制標志是否被置位,如果被置位則返回當前CPU節點的頁地址。其中,將所述目標頁緩存復制至其他CPU節點的本地內存時,通過原生頁快速查找其他CPU節點上被復制的頁,并在原生頁的描述符中添加以其他CPU node的頁地址為節點的基樹。具體的,參見圖2,為本實施例提供的以cpu node的頁地址為節點的基樹結構示意圖,圖中虛線以上的部分是內核原有的結構,虛線以下的部分是本實施例中添加的結構,用于記錄被復制的頁在每個CPU node上是否已被復制。具體的,在本實施例中每個CPU node節點都有自己的本地內存,CPU訪問本node節點的本地內存的速度要快于訪問其他節點的內存,當頁被復制時在不影響原有頁高速緩存基樹的情況下,需要通過原生頁快速查找到其他cpu node節點上被復制的頁,包括使用當前cpu的id查找到其對應的頁地址,這里本文檔來自技高網...
    一種基于NUMA架構的頁緩存讀取方法及系統

    【技術保護點】
    一種基于NUMA架構的頁緩存讀取方法,其特征在于,包括:當前CPU節點接收目標頁緩存讀取指令時,根據所述讀取指令從頁高速緩存查找目標頁緩存;若其他CPU節點的本地內存中不存在所述目標頁緩存,且所述目標頁緩存未置臟,則將所述目標頁緩存復制至其他CPU節點的本地內存中,以使其他CPU節點直接從本地內存中讀取所述目標頁緩存。

    【技術特征摘要】
    1.一種基于NUMA架構的頁緩存讀取方法,其特征在于,包括:當前CPU節點接收目標頁緩存讀取指令時,根據所述讀取指令從頁高速緩存查找目標頁緩存;若其他CPU節點的本地內存中不存在所述目標頁緩存,且所述目標頁緩存未置臟,則將所述目標頁緩存復制至其他CPU節點的本地內存中,以使其他CPU節點直接從本地內存中讀取所述目標頁緩存。2.根據權利要求1所述頁緩存讀取方法,其特征在于,若其他CPU節點的本地內存中不存在所述目標頁緩存,包括:判斷所述目標頁緩存的頁復制標志是否被置位;若被置位,則判定其他CPU節點的本地內存中存在所述目標頁緩存,并返回當前CPU節點的頁地址;若未被置位,則判定其他CPU節點的本地內存中不存在所述目標頁緩存。3.根據權利要求2所述頁緩存讀取方法,其特征在于,將所述目標頁緩存復制至其他CPU節點的本地內存時,通過原生頁快速查找其他CPU節點上被復制的頁,并在原生頁的描述符中添加以其他CPUnode的頁地址為節點的基樹。4.根據權利要求3所述頁緩存讀取方法,其特征在于,將所述目標頁緩存復制至其他CPU節點的本地內存中之后,還包括:若檢測到所述目標頁緩存被置臟,則由回收模塊將所有CPU節點中的目標頁緩...

    【專利技術屬性】
    技術研發人員:王棟
    申請(專利權)人:浪潮北京電子信息產業有限公司
    類型:發明
    國別省市:北京;11

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲av无码乱码国产精品fc2| 免费看成人AA片无码视频吃奶| 亚洲VA中文字幕无码一二三区| 无码毛片内射白浆视频| 日韩中文无码有码免费视频| 亚洲?v无码国产在丝袜线观看| 久久久无码精品亚洲日韩蜜桃| 日韩精品无码区免费专区| 亚洲人成无码网WWW| 无码毛片AAA在线| 亚洲av中文无码乱人伦在线播放| 亚洲乱亚洲乱妇无码| 久久久久亚洲Av片无码v| 无码少妇一区二区浪潮av| 精品欧洲av无码一区二区| 综合国产在线观看无码| 免费无码国产在线观国内自拍中文字幕| 无码人妻精品一区二区三区东京热 | 亚洲av无码一区二区三区在线播放| 国产在线精品无码二区二区 | 国产精品无码无卡无需播放器| 亚洲va成无码人在线观看| 国产丝袜无码一区二区三区视频| 精品无码久久久久久国产| 亚洲精品无码久久久久APP| 久久午夜福利无码1000合集| 亚洲午夜国产精品无码| 狠狠躁夜夜躁无码中文字幕| 亚洲色无码专区一区| 亚洲爆乳AAA无码专区| 在线观看无码AV网址| 亚洲AV综合永久无码精品天堂| 色窝窝无码一区二区三区成人网站 | 国产精品无码专区AV在线播放| 中文字幕无码亚洲欧洲日韩| 无码精品国产VA在线观看| 无码专区狠狠躁躁天天躁| av无码久久久久不卡免费网站 | 亚洲AV无码专区日韩| 久久久精品人妻无码专区不卡| 国产亚洲精品无码专区|