1.一種基于NUMA架構(gòu)的頁緩存讀取方法,其特征在于,包括:
當(dāng)前CPU節(jié)點接收目標(biāo)頁緩存讀取指令時,根據(jù)所述讀取指令從頁高速緩存查找目標(biāo)頁緩存;
若其他CPU節(jié)點的本地內(nèi)存中不存在所述目標(biāo)頁緩存,且所述目標(biāo)頁緩存未置臟,則將所述目標(biāo)頁緩存復(fù)制至其他CPU節(jié)點的本地內(nèi)存中,以使其他CPU節(jié)點直接從本地內(nèi)存中讀取所述目標(biāo)頁緩存。
2.根據(jù)權(quán)利要求1所述頁緩存讀取方法,其特征在于,若其他CPU節(jié)點的本地內(nèi)存中不存在所述目標(biāo)頁緩存,包括:
判斷所述目標(biāo)頁緩存的頁復(fù)制標(biāo)志是否被置位;
若被置位,則判定其他CPU節(jié)點的本地內(nèi)存中存在所述目標(biāo)頁緩存,并返回當(dāng)前CPU節(jié)點的頁地址;若未被置位,則判定其他CPU節(jié)點的本地內(nèi)存中不存在所述目標(biāo)頁緩存。
3.根據(jù)權(quán)利要求2所述頁緩存讀取方法,其特征在于,
將所述目標(biāo)頁緩存復(fù)制至其他CPU節(jié)點的本地內(nèi)存時,通過原生頁快速查找其他CPU節(jié)點上被復(fù)制的頁,并在原生頁的描述符中添加以其他CPUnode的頁地址為節(jié)點的基樹。
4.根據(jù)權(quán)利要求3所述頁緩存讀取方法,其特征在于,將所述目標(biāo)頁緩存復(fù)制至其他CPU節(jié)點的本地內(nèi)存中之后,還包括:
若檢測到所述目標(biāo)頁緩存被置臟,則由回收模塊將所有CPU節(jié)點中的目標(biāo)頁緩存進(jìn)行回收。
5.一種基于NUMA架構(gòu)的頁緩存讀取系統(tǒng),其特征在于,包括:
目標(biāo)頁緩存查找模塊,用于當(dāng)前CPU節(jié)點接收目標(biāo)頁緩存讀取指令時,根據(jù)所述讀取指令從頁高速緩存查找目標(biāo)頁緩存;
復(fù)制模塊,用于當(dāng)其他CPU節(jié)點的本地內(nèi)存中不存在所述目標(biāo)頁緩存,且所述目標(biāo)頁緩存未置臟,則將所述目標(biāo)頁緩存復(fù)制至其他CPU節(jié)點的本地內(nèi)存中,以使其他CPU節(jié)點直接從本地內(nèi)存中讀取所述目標(biāo)頁緩存。
6.根據(jù)權(quán)利要求5所述頁緩存讀取系統(tǒng),其特征在于,所述復(fù)制模塊包括:
判斷單元,用于判斷所述目標(biāo)頁緩存的頁復(fù)制標(biāo)志是否被置位;若被置位,則判定其他CPU節(jié)點的本地內(nèi)存中存在所述目標(biāo)頁緩存,并返回當(dāng)前CPU節(jié)點的頁地址;若未被置位,則判定其他CPU節(jié)點的本地內(nèi)存中不存在所述目標(biāo)頁緩存。
7.根據(jù)權(quán)利要求6所述頁緩存讀取系統(tǒng),其特征在于,
所述復(fù)制模塊將所述目標(biāo)頁緩存復(fù)制至其他CPU節(jié)點的本地內(nèi)存時,通過原生頁快速查找其他CPU節(jié)點上被復(fù)制的頁,并在原生頁的描述符中添加以其他CPU node的頁地址為節(jié)點的基樹。
8.根據(jù)權(quán)利要求7所述頁緩存讀取系統(tǒng),其特征在于,還包括:
回收模塊,用于當(dāng)檢測到所述目標(biāo)頁緩存被置臟,則將所有CPU節(jié)點中的目標(biāo)頁緩存進(jìn)行回收。