国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      在異構(gòu)處理器之間共享基于虛擬存儲器的多版本數(shù)據(jù)的制作方法

      文檔序號:6339616閱讀:276來源:國知局
      專利名稱:在異構(gòu)處理器之間共享基于虛擬存儲器的多版本數(shù)據(jù)的制作方法
      在異構(gòu)處理器之間共享基于虛擬存儲器的多版本數(shù)據(jù)
      背景技術(shù)
      計算機(jī)系統(tǒng)可以包括支持異構(gòu)處理器(諸如中央處理單元(CPU)與圖形處理單元 (GPU)以及對稱與非對稱處理器)的平臺。單版本數(shù)據(jù)可以駐留在與CPU-GPU平臺的第一側(cè) (例如,CPU)相關(guān)聯(lián)的第一存儲器中??梢允沟诙?cè)(GPU側(cè))能夠調(diào)用駐留在與CPU-GPU 平臺的第一側(cè)(CPU側(cè))相關(guān)聯(lián)的第一存儲器中的單版本數(shù)據(jù)。而且,可以不使第一側(cè)能夠 調(diào)用駐留在第二側(cè)(GPU側(cè))上的第二存儲器中的單版本數(shù)據(jù)。由于單版本數(shù)據(jù)可以存儲 在不同的地址空間中,所以現(xiàn)有的通信機(jī)制僅可以允許異構(gòu)處理器(CPU和GPU)之間的單 向通信以調(diào)用該單版本數(shù)據(jù)。


      在附圖中,通過示例而非限制性的方式示出了本文描述的發(fā)明。出于說明簡化和 清楚的目的,附圖中所示的元件不是必須按照比例進(jìn)行繪制。例如,為清楚起見,一些元件 的尺寸可以相對于其它元件而被放大。此外,在認(rèn)為合適的情況中,可以將附圖標(biāo)記在各圖 之間重復(fù)使用以指示相應(yīng)或相似的元件。圖1根據(jù)一個實施方式示出了平臺100,該平臺100可以支持在異構(gòu)處理器(諸如 CPU和GPU)之間共享基于虛擬存儲器的多版本數(shù)據(jù)。圖2是根據(jù)一個實施方式示出了平臺100所執(zhí)行的操作的流程圖。圖3是根據(jù)一個實施方式示出了平臺100的產(chǎn)生者和使用者所執(zhí)行的、用于支持 在異構(gòu)處理器(諸如CPU和GPU)之間共享基于虛擬存儲器的多版本數(shù)據(jù)的操作的流程圖。圖4是根據(jù)一個實施方式示出了產(chǎn)生者所執(zhí)行的、用于跟蹤共享虛擬存儲空間中 的更新存儲頁的操作的流程圖。圖5是根據(jù)第一實施方式示出了平臺100的產(chǎn)生者所執(zhí)行的、用于提供使用者能 夠獲取的多版本數(shù)據(jù)的“diff”操作的線路圖示。圖6根據(jù)一個實施方式示出了可以包括平臺的計算機(jī)系統(tǒng),該平臺可以支持在平 臺的異構(gòu)處理器之間共享基于虛擬存儲器的多版本數(shù)據(jù)。
      具體實施例方式下面的說明描述了用于在計算機(jī)平臺的異構(gòu)處理器(例如CPU和GPU)之間共享 基于虛擬存儲器的多版本數(shù)據(jù)的技術(shù)。在下面的描述中,闡述了許多具體細(xì)節(jié),諸如邏輯實 現(xiàn)、資源劃分或共享、或復(fù)制實現(xiàn)、系統(tǒng)部件的類型與相互關(guān)系、以及邏輯劃分或集成選擇, 以便提供對本發(fā)明的更透徹的理解。然而,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)意識到,可以在沒有這些具 體細(xì)節(jié)的情況下實現(xiàn)本發(fā)明。在其他實例中,沒有詳細(xì)示出控制結(jié)構(gòu)、門級電路和全軟件指 令序列,以便不模糊本發(fā)明。采用所包含的描述,本領(lǐng)域普通技術(shù)人員將能夠在不進(jìn)行過度 實驗的情況下實現(xiàn)適當(dāng)?shù)墓δ?。本說明書中對“一個實施方式”、“實施方式”或“示例性實施方式”的引用表示所 描述的實施方式可以包括特定的特征、結(jié)構(gòu)或特性,但是每個實施方式可以不是必須地包括這些特定的特征、結(jié)構(gòu)或特性。而且,這些短語不是必然地指代相同的實施方式。此外, 當(dāng)結(jié)合實施方式描述特定的特征、結(jié)構(gòu)或特性時,應(yīng)當(dāng)認(rèn)為,不論是否明確地進(jìn)行說明,結(jié) 合其它實施方式來實現(xiàn)這些特征、結(jié)構(gòu)或特性都在本領(lǐng)域技術(shù)人員的知識范圍內(nèi)。本發(fā)明的實施方式可用硬件、固件、軟件或它們的任意組合來實現(xiàn)。還可以將本發(fā) 明的實施方式實現(xiàn)為存儲在機(jī)器可讀介質(zhì)上的指令,這些指令可由一個或多個處理器讀取 并執(zhí)行。機(jī)器可讀存儲介質(zhì)可以包括用于以機(jī)器(例如,計算設(shè)備)可讀的形式來存儲或 傳輸信息的任何機(jī)制。例如,機(jī)器可讀存儲介質(zhì)可以包括只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、磁 盤存儲媒介、光存儲媒介、閃存設(shè)備、電或光形式的信號。此外,本文中可將固件、軟件、例程 以及指令描述為執(zhí)行特定的動作。然而,應(yīng)當(dāng)意識到,這些描述僅是出于方便的目的,并且 這些動作實際上源自計算設(shè)備、處理器、控制器以及執(zhí)行固件、軟件、例程和指令的其他設(shè)備。在一個實施方式中,計算機(jī)平臺可以支持一種或多種技術(shù)來在異構(gòu)處理器(例 如,CPU和GPU)之間共享基于虛擬存儲器的多版本數(shù)據(jù)。在一個實施方式中,共享存儲器 語義(semantics)可以提供原語(primitive),諸如可以使CPU或GPU的存儲“邏輯提交” 給共享存儲器的發(fā)布操作以及可以使CPU或GPU存儲器與共享存儲器“邏輯同步”的獲取 操作。在一個實施方式中,發(fā)布操作可以跟蹤可被更新(或修改)的共享存儲器中的頁。 在一個實施方式中,可以執(zhí)行頁的之前版本與當(dāng)前版本的“差(diff)”運算,并且diff運算 的結(jié)果與相關(guān)聯(lián)的新版本號可以被存儲在分離的存儲區(qū)中。在一個實施方式中,為了能夠 跟蹤更新(或修改或臟)頁,可以在發(fā)布時將共享虛擬存儲頁設(shè)置為“寫保護(hù)”模式,以便 可以在對頁進(jìn)行寫入時導(dǎo)致創(chuàng)建對處理程序的俘獲。在一個實施方式中,該處理程序可以 用于創(chuàng)建頁的備份副本(孿生頁)。在一個實施方式中,可以使用輔助存儲器來標(biāo)記存儲單 元(或特定比特),以表明頁被更新或頁是臟的。因此,對于在產(chǎn)生者(例如,CPU)方發(fā)布 并在使用者(例如,GPU)方獲取的數(shù)據(jù)結(jié)構(gòu)而言,可以僅傳送每個版本的修改的字節(jié)。雖 然使用者執(zhí)行對特定版本號的獲取操作,但是可將存儲的diff順序地合并到使用者的私 有地址空間中。在一個實施方式中,共享虛擬存儲器可由異構(gòu)處理器的物理私有存儲空間 或異構(gòu)處理器所共享的物理共享存儲器來支持。圖1示出了在異構(gòu)處理器(諸如CPU和GPU)之間提供共享多版本數(shù)據(jù)的平臺100 的實施方式。在一個實施方式中,平臺100可以包括中央處理器(CPU)llO、與CPU 110相關(guān) 聯(lián)的操作系統(tǒng)(OS) 112、CPU私有空間115、CPU編譯器118、共享虛擬存儲器(或者多版本 共享存儲器)130、圖形處理單元(GPU) 180、與GPU 180相關(guān)聯(lián)的操作系統(tǒng)(OS) 182、GPU私 有空間185以及GPU編譯器188。在一個實施方式中,OS 112可以管理CPU 110和CPU私 有空間115、GPU 180和GPU私有空間185的資源。在一個實施方式中,為了支持共享虛擬 存儲器130,CPU私有空間115和GPU私有空間185可以包括多版本數(shù)據(jù)的副本。在一個實 施方式中,為了保持存儲器的一致性,諸如對象131之類的元數(shù)據(jù)可以用于同步存儲在CPU 私有空間115和GPU私有空間185中的副本。在其他實施方式中,多版本數(shù)據(jù)可以存儲在 諸如共享存儲器650(見圖6,下文進(jìn)行描述)之類的物理共享存儲器中。在一個實施方式中,CPU編譯器118和GPU編譯器188可以分別耦合到CPU 110和GPU 180,或者也可以被遠(yuǎn)程地提供在其他平臺或計算機(jī)系統(tǒng)上。與CPU 110相關(guān)聯(lián)的編譯 器118可以為CPU 110生成編譯代碼,以及與GPU 180相關(guān)聯(lián)的編譯器188可以為GPU 180 生成編譯代碼。在一個實施方式中,CPU編譯器118和GPU編譯器188可以通過用高級語言(諸如 面向?qū)ο蟮恼Z言)對用戶所提供的對象的一個或多個成員函數(shù)進(jìn)行編譯來生成編譯代碼。 在一個實施方式中,編譯器118和188可以使對象131被產(chǎn)生者的共享虛擬存儲器130所 支持并由使用者從共享虛擬存儲器130中獲取,該對象131可以包括共享多版本數(shù)據(jù)132。 在一個實施方式中,共享虛擬存儲器130所支持的對象131可以包括共享多版本數(shù)據(jù)132 以及一個或多個成員函數(shù)(諸如,虛擬函數(shù)VF 133-A至133-K以及非虛擬函數(shù)NVF 136-A 至136-L)。在一個實施方式中,CPU 110與GPU 180之間的通信可由成員函數(shù)(諸如共享 對象131的VF 133和NVF 136)來提供。用于支持基于共享虛擬存儲器的多版本數(shù)據(jù)的平臺100的操作的實施方式如圖 2的流程圖所示。在框210中,CPU 110(產(chǎn)生者)可以創(chuàng)建諸如共享多版本數(shù)據(jù)132這樣 的多版本數(shù)據(jù),該多版本數(shù)據(jù)在共享虛擬存儲器130中得到支持。在一個實施方式中,CPU 110可以使用VersionDataCommit過程來創(chuàng)建共享多版本數(shù)據(jù)132。在一個實施方式中,CPU 110可以計算新的版本號。在一個實施方式中,可以通過遞增當(dāng)前版本號(CuVerNo)來生成 該新的版本號。在一個實施方式中,該新的版本號可以等于(CuVerNo+1)。在一個實施方式中,如果當(dāng)前版本號所識別的當(dāng)前頁被更新,則CPUllO可以確定 之前版本頁與當(dāng)前版本頁之間的差異內(nèi)容(diff)。在一個實施方式中,CPU 110可以構(gòu)建 diff節(jié)點(或者更新版本節(jié)點),該diff節(jié)點可以包括差異內(nèi)容和新的版本號。在一個實 施方式中,CPU 110可以向diff列表中插入diff節(jié)點。在一個實施方式中,共享多版本數(shù) 據(jù)132可以包括包含之前版本頁、當(dāng)前版本頁以及更新版本存儲頁的頁。在一個實施方式 中,對當(dāng)前版本頁的更新可以創(chuàng)建更新版本存儲頁。在一個實施方式中,共享多版本數(shù)據(jù) 132可由產(chǎn)生者(CPU 110)創(chuàng)建并由使用者(GPU 180)來訪問。在框250中,可以使得使用者(GPU 180)能夠獲取共享虛擬存儲器130所支持的 共享多版本數(shù)據(jù)132。在一個實施方式中,GPU 180可以使用VersionDataAcquire過程來獲 取或訪問共享虛擬存儲器130所支持的共享多版本數(shù)據(jù)132。在一個實施方式中,GPU 180 可以檢索diff列表來獲得當(dāng)前版本頁并將之前版本頁與當(dāng)前版本頁的內(nèi)容相合并。在一 個實施方式中,合并操作可以開始于起始頁,并且diff列表中的所有節(jié)點(從起始頁的版 本到版本號)都可以被合并到起始頁中,其由VersionDataAcquire操作指定。在一個實施 方式中,可以將從包含起始頁的之前版本頁到當(dāng)前版本頁所合并的內(nèi)容合并到更新版本存 儲頁中,該更新版本存儲頁可由GPU 180所訪問或獲取。產(chǎn)生者和使用者執(zhí)行用于支持存儲在共享存儲器中的多版本數(shù)據(jù)的共享的功能 的實施方式如圖3的流程圖所示。在框310中,CPU 110(共享多版本數(shù)據(jù)對象131的產(chǎn)生 者)可以跟蹤共享虛擬存儲器130中的更新(或修改)版本存儲頁。在框320中,CPU 110可以對之前版本頁和當(dāng)前版本頁執(zhí)行diff運算,以生成更新 版本存儲頁。在一個實施方式中,CPU 110可以通過對之前版本頁PVP 137(版本號=Vl) 和當(dāng)前版本頁CVP 138(版本號=V2)執(zhí)行“diff”運算來生成更新版本頁UVP 139(版本 號=V3)。在一個實施方式中,CPUllO可以提供與UVP 139相關(guān)聯(lián)的新的版本號(V3)。
      在框340中,CPU 110可以在共享(或虛擬)存儲區(qū)中邏輯地存儲diff運算的 結(jié)果(即,UVP 139和新的版本號V3),例如,其可以被物理地存儲在CPU私有空間115中。 在框360中,CPU 110可以允許GPU 180獲取每個版本的修改的字節(jié)。在一個實施方式 中,CPU 110可以發(fā)布修改的字節(jié)以及相關(guān)聯(lián)的版本號,以便GPU 180可以通過使用上述的 VersionDataAcquire過程來獲取該修改的字節(jié)。產(chǎn)生者跟蹤共享虛擬存儲器130中的更新(或修改)頁的實施方式如圖4中的流 程圖所示。在框410中,CPU 110(產(chǎn)生者)可以在發(fā)布時以“寫保護(hù)”模式來共享更新版本 存儲頁。在一個實施方式中,由于以“寫保護(hù),,模式共享更新版本存儲頁,所以當(dāng)可以對更 新版本存儲頁寫入時,可以產(chǎn)生對處理程序的俘獲。在框450中,CPU 110可以在處理程序中創(chuàng)建更新版本存儲頁的備份副本。在一 個實施方式中,為了能夠跟蹤諸如UVP 139這樣的更新(或修改或臟)頁,CPU 110可以將 UVP 139設(shè)置為“寫保護(hù)”模式。在一個實施方式中,CPU 110可以使用處理程序來創(chuàng)建UVP 139的備份副本(孿生頁)。在框480中,CPU 110可以標(biāo)記輔助存儲器以表明更新版本存儲頁或許被修改(或 臟)了。在一個實施方式中,標(biāo)記輔助存儲器可以允許CPU 110記住更新版本存儲頁是臟 的。在一個實施方式中,CPU 110可以在輔助存儲器(諸如PCI縫隙區(qū))中標(biāo)記存儲單元 (或者特定比特),以表明UVP 139是更新頁或修改頁或臟頁。CPU 110執(zhí)行作為發(fā)布操作的至少一部分的diff運算以及GPU 180執(zhí)行獲取操作 的實施方式如圖5所示。在一個實施方式中,CPU 110可以執(zhí)行VersionDataCommitO函 數(shù)(發(fā)布操作的一部分),以將更新版本存儲頁邏輯地提交給共享虛擬存儲器130。在一個 實施方式中,使用者(GPU 180)可以訪問或獲取具有版本號V2的頁“Π40的數(shù)據(jù)。在一 個實施方式中,當(dāng)執(zhí)行GetDataReleaseO函數(shù)時,CPU 110可以執(zhí)行由差異生成器570所 表示的、對頁“i”540和孿生頁550的diff運算,孿生頁550可以是頁“i”的更新版本。在 一個實施方式中,頁“i” 540可以表示當(dāng)前版本頁的未修改版本,并且孿生頁550可以表示 頁“i”540的更新(或修改)版本。在一個實施方式中,差異生成器570所生成的結(jié)果(其可以僅包括修改的字節(jié)) 可以被存儲在Diff-3字段581中。在一個實施方式中,當(dāng)GPU 180正在獲取使用直到版本 2(V2)的多版本數(shù)據(jù)所生成的版本3數(shù)據(jù)時,diff字段581可以包括Diff-3。在一個實施 方式中,諸如V3這樣的新版本號可以被存儲在版本識別符字段582中。在一個實施方式 中,可以將Diff-3字段581以及版本識別符字段582中的相關(guān)聯(lián)的新版本號(=插入 diff列表中。在一個實施方式中,當(dāng)執(zhí)行VersionDataAcquireO過程時,GPU 180可以檢索 diff列表以獲取頁“i”540直到版本V2。在一個實施方式中,用于頁“i”540直到版本V2的 diff列表520可以包括Diff-I字段511與相關(guān)聯(lián)的等于Vl的版本號字段512以及Diff-2 字段521與相關(guān)聯(lián)的等于V2的版本號字段522。在一個實施方式中,GPU 180可以將diff 列表520和與等于Vl的版本號字段502相關(guān)聯(lián)的起始頁501相合并。在一個實施方式中, 該合并操作可由合并生成器530來表示。在一個實施方式中,合并生成器530的結(jié)果輸出 可與頁“i” MO的內(nèi)容相合并。在一個實施方式中,可將共享多版本數(shù)據(jù)結(jié)構(gòu)應(yīng)用于許多編程領(lǐng)域中,諸如游戲應(yīng)用程序。在一個實施方式中,在不導(dǎo)致相干業(yè)務(wù)的情況下,對共享多版本數(shù)據(jù)的更新可以 邏輯地創(chuàng)建新版本的數(shù)據(jù)。除了優(yōu)化相干業(yè)務(wù)之外,使用共享多版本數(shù)據(jù)還可以避免耗時 的操作,例如,作為到共享存儲器的指針的明確的編組和不編組數(shù)據(jù)在CPU和GPU側(cè)的不同 物理地址空間中會是有意義的。而且,這種方式可以簡化CPU 110與GPU 180之間的流水線數(shù)據(jù)。在一個實施方 式中,用戶可以不保持和實現(xiàn)通常是故障源的流水線。在一個實施方式中,包含CPU-GPU平 臺的共享虛擬存儲器系統(tǒng)可以提供對可編程性的支持并可以將多版本結(jié)構(gòu)擴(kuò)展到共享存 儲器系統(tǒng)。在一個實施方式中,下面描述的共享多版本數(shù)據(jù)技術(shù)可以應(yīng)用在離散和集成GPU 配置中,從而對跨越不同GPU配置的API的編程進(jìn)行統(tǒng)一。包含異構(gòu)處理器的、支持存儲在共享虛擬存儲器中的多版本數(shù)據(jù)的共享的計算機(jī) 系統(tǒng)600的實施方式如圖6所示。參考圖6,計算機(jī)系統(tǒng)600可以包括包含單指令多數(shù)據(jù) (SIMD)處理器的通用處理器(或CPU) 602以及圖形處理單元(GPU) 605。在一個實施方式 中,CPU 602可以執(zhí)行除了執(zhí)行各種其他任務(wù)之外的增強(qiáng)操作或者存儲一系列的指令,以在 機(jī)器可讀存儲介質(zhì)625中提供增強(qiáng)操作。然而,這一系列的指令也可以存儲在CPU私有空 間620中或存儲在任何其他適當(dāng)?shù)拇鎯橘|(zhì)中。在一個實施方式中,CPU 602可以與CPU傳 統(tǒng)編譯器603以及CPU鏈接器/加載器604相關(guān)聯(lián)。在一個實施方式中,GPU 605可以與 GPU外圍編譯器606以及GPU鏈接器/加載器607相關(guān)聯(lián)。雖然圖6中示出了分離的圖形處理單元GPU 605,但是在一些實施方式中,作為另 一示例,處理器602可以用于執(zhí)行增強(qiáng)操作。操作計算機(jī)系統(tǒng)600的處理器602可以是耦 合到邏輯630的一個或多個處理器核。邏輯630可以耦合到一個或多個I/O設(shè)備660,I/ 0設(shè)備660可以提供接口到計算機(jī)系統(tǒng)600。在一個實施方式中,邏輯630例如可以是芯片 組邏輯。邏輯630耦合到存儲器620,存儲器620可以是任何類型的存儲器,包括光、磁或者 半導(dǎo)體存儲器。圖形處理單元605通過幀緩沖器耦合到顯示器640。在一個實施方式中,CPU 602(這里為產(chǎn)生者)和GPU 605(這里為使用者)可以 支持共享存儲在共享存儲器650中的多版本數(shù)據(jù)結(jié)構(gòu)。在一個實施方式中,如上所述,CPU 602可以支持諸如VersionDataReleaseO之類的過程或函數(shù),以創(chuàng)建共享多版本數(shù)據(jù)并將 這些數(shù)據(jù)存儲在共享存儲器650中。在其他實施方式中,共享多版本數(shù)據(jù)可以存儲在私有 CPU存儲器620和/或私有GPU存儲器630中。在一個實施方式中,如上所述,GPU 605 (使 用者)可以支持諸如VersionDataAcquireO之類的過程或函數(shù),以獲取共享多版本數(shù)據(jù)。本文描述的圖形處理技術(shù)可以在各種硬件結(jié)構(gòu)中實現(xiàn)。例如,可以將圖形功能集 成到芯片組中??商鎿Q地,可以使用分離的圖形處理器。作為再一實施方式,圖形功能可以 由包含多核處理器的通用處理器來實現(xiàn),或者被實現(xiàn)為存儲在機(jī)器可讀介質(zhì)中的軟件指令 集。
      權(quán)利要求
      1.一種計算機(jī)平臺中的方法,包括使用第一處理器在多版本共享虛擬存儲器中創(chuàng)建共享多版本數(shù)據(jù),在所述第一處理器的物理私有存儲空間中存儲所述共享多版本數(shù)據(jù),以及至少部分地使用第二處理器來獲取所述共享多版本數(shù)據(jù),其中,所述計算機(jī)平臺包括 包含所述第一處理器和所述第二處理器的多個異構(gòu)的處理器。
      2.根據(jù)權(quán)利要求1所述的方法,其中,創(chuàng)建所述共享多版本數(shù)據(jù)包括生成更新版本存 儲頁,其中,所述更新版本存儲頁包括使用當(dāng)前版本頁和之前版本頁所生成的差異內(nèi)容。
      3.根據(jù)權(quán)利要求2所述的方法,其中,創(chuàng)建所述共享多版本數(shù)據(jù)包括在所述第一處理 器的物理存儲空間中的分離的存儲單元中存儲所述差異內(nèi)容。
      4.根據(jù)權(quán)利要求3所述的方法,還包括生成新版本號,并將所述新版本號與所述差異內(nèi)容存儲在所述第一處理器的物理存儲 空間中的所述共享虛擬存儲器中的所述分離的存儲單元中。
      5.根據(jù)權(quán)利要求2所述的方法,其中,創(chuàng)建所述共享多版本數(shù)據(jù)包括跟蹤存儲在所述 第一處理器的物理存儲空間中的所述共享虛擬存儲器中的所述更新版本存儲頁。
      6.根據(jù)權(quán)利要求5所述的方法,其中,跟蹤所述更新版本存儲頁包括在發(fā)布時以寫保 護(hù)模式共享所述更新版本存儲頁。
      7.根據(jù)權(quán)利要求6所述的方法,其中,跟蹤所述更新版本存儲頁包括在處理程序中創(chuàng) 建所述更新版本存儲頁的備份副本,其中,通過在發(fā)布時以只讀模式共享所述更新版本存 儲頁來生成所述處理程序。
      8.根據(jù)權(quán)利要求7所述的方法,其中,跟蹤所述更新版本存儲頁包括標(biāo)記輔助存儲器 以表明所述更新版本存儲頁被修改。
      9.根據(jù)權(quán)利要求1所述的方法,其中,獲取所述共享多版本數(shù)據(jù)包括通過將diff列表 中從起始頁的版本到最近版本號的節(jié)點合并到所述起始頁中來生成第一合并內(nèi)容。
      10.根據(jù)權(quán)利要求9所述的方法,還包括獲取所述第一合并內(nèi)容以獲取所述共享多版 本數(shù)據(jù)。
      11.一種計算機(jī)平臺,包括第一處理器,其中,所述第一處理器用于創(chuàng)建共享多版本數(shù)據(jù),共享虛擬存儲器,以及第二處理器,其中,所述第二處理器用于至少部分地通過使用第二處理器來獲取所述 共享多版本數(shù)據(jù),其中,所述第二處理器的私有存儲器的至少一部分用于存儲支持所述共享多版本數(shù)據(jù) 的所述共享虛擬存儲器,其中,所述計算機(jī)平臺包括包含所述第一處理器和所述第二處理器的多個異構(gòu)的處理器。
      12.根據(jù)權(quán)利要求11所述的計算機(jī)平臺,其中,所述第一處理器用于生成更新版本存 儲頁,其中,所述更新版本存儲頁包括使用當(dāng)前版本頁和之前版本頁所生成的差異內(nèi)容。
      13.根據(jù)權(quán)利要求12所述的計算機(jī)平臺,其中,所述第一處理器用于在所述第一處理 器和所述第二處理器所共享的物理共享存儲器中的分離的存儲單元中存儲所述差異內(nèi)容。
      14.根據(jù)權(quán)利要求13所述的計算機(jī)平臺,其中,所述第一處理器還用于生成新版本號,并用于將所述新版本號與所述差異內(nèi)容存儲在所述物理共享存儲器中的所述分離的存儲 單元中。
      15.根據(jù)權(quán)利要求12所述的計算機(jī)平臺,其中,所述第一處理器用于跟蹤存儲在所述 物理共享存儲器中的所述更新版本存儲頁。
      16.根據(jù)權(quán)利要求15所述的計算機(jī)平臺,其中,所述第一處理器用于在發(fā)布時以寫保 護(hù)模式共享所述更新版本存儲頁。
      17.根據(jù)權(quán)利要求16所述的計算機(jī)平臺,其中,所述第一處理器用于在處理程序中創(chuàng) 建所述更新版本存儲頁的備份副本,其中,通過在發(fā)布時以寫保護(hù)模式共享所述更新版本 存儲頁來生成所述處理程序。
      18.根據(jù)權(quán)利要求17所述的計算機(jī)平臺,其中,所述第一處理器用于標(biāo)記輔助存儲器 以表明所述更新版本存儲頁被修改。
      19.根據(jù)權(quán)利要求1所述的計算機(jī)平臺,其中,所述第二處理器用于通過將diff列表中 從起始頁的版本到最近版本號的節(jié)點合并到所述起始頁中來生成第一合并內(nèi)容。
      20.根據(jù)權(quán)利要求19所述的計算機(jī)平臺,其中,所述第二處理器用于獲取所述第一合 并內(nèi)容以獲取所述共享多版本數(shù)據(jù)。
      全文摘要
      一種計算機(jī)系統(tǒng)可以包括計算機(jī)平臺和輸入-輸出設(shè)備。所述計算機(jī)平臺可以包括包含中央處理單元(CPU)和圖形處理單元(GPU)的多個異構(gòu)處理器、以及由至少一個異構(gòu)處理器的物理私有存儲空間所支持的共享虛擬存儲器或者由異構(gòu)處理器所共享的物理共享存儲器。CPU(產(chǎn)生者)可以創(chuàng)建共享多版本數(shù)據(jù)并將該共享多版本數(shù)據(jù)存儲在物理私有存儲空間或者物理共享存儲器中。GPU(使用者)可以獲取或訪問該共享多版本數(shù)據(jù)。
      文檔編號G06F15/167GK102103567SQ201010601559
      公開日2011年6月22日 申請日期2010年12月20日 優(yōu)先權(quán)日2009年12月21日
      發(fā)明者B·薩哈, H·陳, S·嚴(yán), S·羅, X·周, Y·高 申請人:英特爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1