本發(fā)明專利技術為使用連續(xù)排序的交換文件的工作集合交換。描述了使得能夠通過使用往來于次級存儲中連續(xù)排序位置的大型頁面寫入和讀取而往來于用于處理的頁面的工作集合進行高效的存儲器頁面交換的技術。當從處理的工作集合將頁面寫入次級存儲時,該頁面可以根據(jù)虛擬地址順序或其它順序而被寫入專用交換文件中所保留的連續(xù)位置中。這樣寫入連續(xù)排序的位置使得能夠在大的連續(xù)存儲器塊中讀取頁面集群,提供了更為高效的將頁面返回物理存儲器的讀取操作。
【技術實現(xiàn)步驟摘要】
使用連續(xù)排序的交換文件的工作集合交換
技術介紹
計算系統(tǒng)采用主存儲器(經常稱作物理存儲器)來執(zhí)行包括軟件程序或應用來內的處理。在現(xiàn)代系統(tǒng)中,該主存儲器通常包括諸如隨機訪問存儲器(RAM)的易失性存儲器。操作系統(tǒng)(OS)可以向每個處理指定多個存儲器頁面以便該處理在物理存儲器中執(zhí)行時使用。然而,活動的處理可能會使用比系統(tǒng)上可用的更多的物理存儲器。在這樣的情況下,可以采用虛擬存儲器來補充活動處理所使用的物理存儲器,而不是在物理存儲器中維持所有處理頁面。虛擬存儲器可以通過將用于處理的一個或多個頁面寫入次級存儲(例如,硬盤驅動器)中的非易失性存儲器中,并且按照需要將頁面讀回物理存儲器來實施。例如,當數(shù)據(jù)沒有被處理主動使用時,包含這樣的數(shù)據(jù)的頁面可以被寫入次級存儲因此釋放物理存儲器中的空間。這種在物理存儲器和虛擬存儲器之間讀取和寫入頁面的處理通常被稱作頁式調度(paging),并且次級存儲中用于寫入頁面的空間通常被稱作頁面文件。針對處理發(fā)生的該頁式調度的速度和效率會影響到系統(tǒng)性能和用戶體驗。
技術實現(xiàn)思路
傳統(tǒng)的頁式調度操作趨于基于當前活動的處理的存儲器要求將單獨頁面從物理存儲器頁出(page out)到次級存儲,并且這可能會導致次級存儲的破碎。本申請描述了通過使用往來于次級存儲中連續(xù)排序位置的大型頁面寫入和讀取而往來于用于處理的頁面的工作集合高效地交換一個或多個頁面的技術。由于讀取和寫入在它們能夠在連續(xù)排序的和/或較大的存儲器塊上執(zhí)行的情況下趨于更為高效,所以這里所描述的技術在交換操作期間往來于物理存儲器中連續(xù)排序的位置而采用了大型頁面讀取和寫入。當將頁面從物理存儲器交換至次級存儲中時,頁面可以根據(jù)其虛擬地址順序而被寫入專用交換文件中所保留的連續(xù)位置。這樣的寫入可以使得能夠在把頁面交換到大的連續(xù)排序的存儲器塊中,提供了更為高效的換入(inswapping)。提供該
技術實現(xiàn)思路
而以簡化形式引入以下在具體實施方式中進一步描述的一系列概念。該
技術實現(xiàn)思路
并非意在標識出所請求保護主題的關鍵特征或必要特征,也并非意在被用來對所請求保護主題的范圍進行限制。附圖說明參考附圖對具體實施方式進行描述。在圖中,附圖標記最左側的(多個)數(shù)位標識出該附圖標記在其中首次出現(xiàn)的示圖。相同的附圖標記在不同示圖中指示相似或相同的項目。圖1A和IB圖示了依據(jù)實施例的用于將頁面從處理的工作集合寫入交換文件的連續(xù)排序的位置的示例。圖2是描繪依據(jù)實施例的示例計算系統(tǒng)的示意圖。圖3是依據(jù)實施例的示例操作系統(tǒng)組件的示意圖。圖4A描繪了依據(jù)實施例的用于將頁面從工作集合交換出去的說明性處理的流程圖。圖4B描繪了依據(jù)實施例的用于將交換出來的頁面寫入交換文件的說明性處理的流程圖。圖5描繪了依據(jù)實施例的用于將頁面從交換文件交換出至工作集合的說明性處理的流程圖。圖6描繪了依據(jù)實施例的動態(tài)管理交換文件的說明性處理的流程圖。具體實施方式概述這里所描述的實施例使得能夠通過使用往來于次級存儲中連續(xù)排序位置的大的存儲器塊的寫入和讀取而從處理的工作集合進行更為高效的存儲器頁面交換。在諸如隨機訪問存儲器(RAM)的物理存儲器中執(zhí)行的處理可能需要比系統(tǒng)上可用的更多的物理存儲器。在這樣的情況下,傳統(tǒng)配置的存儲器管理器或操作系統(tǒng)的其它組件可以實施頁式調度以通過將處理的一個或多個存儲器頁面寫入次級存儲上的頁面文件而釋放一些物理存儲器。在傳統(tǒng)的頁式調度中,處理的單獨頁面可以在需要時被寫入(即,頁出)以釋放物理存儲器,并且頁面可以在處理想要訪問它們時(例如,發(fā)生頁面錯誤時)按照需要被頁面返回至物理存儲器中。這種單獨頁面按照需要進行的傳統(tǒng)頁式調度經常被稱作按需頁式調度,并且會導致隨機并小型的次級存儲輸入/輸出(I/O)操作,其中各個頁面被存儲在非連續(xù)存儲空間中且并非以任何特定順序進行存儲。此外,計算系統(tǒng)中的I/O操作(例如,讀和寫)通常在以連續(xù)排序且大型的請求執(zhí)行時更為高效。例如,在采用固態(tài)磁盤的系統(tǒng)中,與針對隨機位置的請求相比,連續(xù)排序的I/O操作會導致兩至三倍的效率增益。在許多情況下,大小較大的連續(xù)請求與大小較小的連續(xù)請求相比可以產生類似的增益。此外,在采用旋轉磁盤的系統(tǒng)中,效率增益可能高達50倍。假定如此,這里所描述的實施例能夠通過往來于交換文件中連續(xù)排序的位置使用針對讀取和寫入更大頁面集群的I/O操作而使得能夠進行高效交換。如這里所使用的,術語頁面可以是指處理在其執(zhí)行時所使用的存儲器塊。當處理活動時,頁面可以處于可由處理可以訪問的物理存儲器中。存儲器管理器或操作系統(tǒng)(OS)的其它組件可以移出物理存儲器的一個或多個頁面并且將它們寫入次級存儲。可以通過從次級存儲復制回頁面而將它們讀回物理存儲器中。在一個或多個實施例中,頁面可以包括處理的私有頁面。如這里所使用的,私有頁面可以是指特定處理所擁有或專用而不被其它處理所使用的那些頁面,諸如為處理所分配的堆(heap)。其它類型的頁面可以包括多個處理所使用的可共享頁面,諸如文件映射。一些實施例支持私有頁面的高效交換。此外,一些實施例還可以支持頁面文件所返回的共享頁面的交換。這些類型的頁面可以存儲在單一位置中(例如,在頁面文件中),并且可以通過句柄或指針進行引用。處理可以將這樣的頁面文件所返回的共享頁面的句柄送至另一個處理,并且該頁面只要處理保留針對其的句柄就可以存留在存儲器中。如這里所使用的,術語工作集合可以是指用于處理的頁面集合。實施例支持各種類型的工作集合。例如,工作集合可以包括處理在特定時間間隔期間所訪問和/或引用的數(shù)據(jù)的頁面。這樣的工作集合可以提供可能由處理在近期(例如,下一個時間段期間)所訪問的頁面集合的近似估計以使得可能期望將該頁面保持在物理存儲器中以備由處理訪問。然而,實施例并不局限于此并且可以支持作為工作集合的其它類型的頁面匯總。例如,用于處理的工作集合可以是可不通過OS而從處理器直接訪問的那些頁面。如這里所使用的,術語交換文件可以是指在次級存儲(例如,硬盤驅動器)上保留并且用于將頁面換入換出物理存儲器的空間。在一些實施例中,交換文件是與用于傳統(tǒng)頁式調度操作的頁面文件相分離的專用交換文件。在一些實施例中,交換文件可以是頁面文件的一部分。在一些實施例中,交換文件可以由存儲器管理器或其它OS組件初始化,并且其大小可以如這里關于圖6所描述的進行動態(tài)管理。實施例提供了從處理的工作集合進行頁面換出(outswapping)并且將一個或多個換出頁面從工作集合寫入次級存儲中的交換文件。如以上所討論的,實施例通過往來于交換文件中連續(xù)排序的位置以大的集群提供頁面的讀取和/或寫入而使得能夠進行高效交換。圖1A和IB圖示了一個或多個實施例的換出和寫入的示例。圖1A示出了特定處理(處理X)的工作集合102以及次級存儲中的交換文件104。可以確定來從物理存儲器換出工作集合102的一個或多個頁面。諸如存儲器管理器的OS組件隨后可以標識出工作集合102中作為用于換出的候選頁面的一個或多個頁面,諸如工作集合的私有頁面。可以計算所標識的候選頁面的總體大小。隨后,在操作108中可以在交換文件104中保留出保留空間106,所保留空間足以存儲候選頁面。另外,每個候選頁面的位置可以被保留在保留空間106中,該位置根據(jù)候選頁面的虛擬地址順序進行連續(xù)排序。此時,在一些實施例中,即使本文檔來自技高網...
【技術保護點】
一種計算機實施的方法,包括:從用于處理的頁面的工作集合標識出用于交換的一個或多個候選頁面(404);在次級存儲的交換文件中保留空間,所保留的空間對應于所述一個或多個候選頁面的總體大小(406);并且將所述一個或多個候選頁面寫入所述交換文件中所保留空間中的連續(xù)排序的位置(416,106)。
【技術特征摘要】
2011.12.14 US 13/326,1821.一種計算機實施的方法,包括 從用于處理的頁面的工作集合標識出用于交換的一個或多個候選頁面(404); 在次級存儲的交換文件中保留空間,所保留的空間對應于所述一個或多個候選頁面的總體大小(406);并且 將所述一個或多個候選頁面寫入所述交換文件中所保留空間中的連續(xù)排序的位置(416,106)。2.根據(jù)權利要求1的方法,進一步包括以連續(xù)地址順序從所述工作集合中去除要被寫入的一個或多個候選頁面。3.根據(jù)權利要求1的方法,其中所述連續(xù)排序的位置被連續(xù)并且以連續(xù)虛擬地址順序分配給所述一個或多個候選頁面(408,106)。4.根據(jù)權利要求1的方法,進一步包括以連續(xù)地址順序將至少一些所寫入的候選頁面的集群從所述交換文件的所保留空間讀入用于處理的工作集合(508)。5.根據(jù)權利要求1的方法,進一步包括在所述交換文件中連續(xù)保留位置(408,106)。6.根據(jù)權利要求1的方法,其中以虛擬地址順序連續(xù)執(zhí)行所述一個或多個候選頁面的寫入(416,112)。7.一種系統(tǒng),包括 至少一個處理器(202); 存儲器(204);和 存儲器管理器(304),其由所述至少一個處理器執(zhí)行并且進行操作以 從用于在存儲器中執(zhí)行的處理的頁面的工作集合標識出用于交換的一個或多個候選頁面(404); 在系統(tǒng)的次級存儲的交換文件...
【專利技術屬性】
技術研發(fā)人員:M萊根,Y貝克,L王,AU基尚,
申請(專利權)人:微軟公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。