麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種批量解映射方法、裝置和異構設備與流程

文檔序號:41756516發布日期:2025-04-29 18:25閱讀:4來源:國知局
一種批量解映射方法、裝置和異構設備與流程

本發明涉及人工智能,尤其涉及一種批量解映射方法、裝置和異構設備。


背景技術:

1、異構設備是指在一個系統中集成了不同類型的組件,這些組件具有不同的架構、功能和特性。異構設備的不同類型的組件可以為處理器、加速器、芯片組等。異構設備可以將不同類型的組件集成到一個系統中,可以發揮各個組件的優勢,提供更豐富的計算能力和功能。例如,異構計算系統可以集成中央處理器(central?processing?unit,cpu)和圖形處理器(graphics?processing?unit,gpu),利用cpu執行通用計算任務,以及利用gpu執行圖形渲染和并行計算任務。

2、通常情況下,異構設備使用內存管理單元(memory?management?unit,mmu)來管理和控制其內存訪問,以支持不同類型的處理器或設備在同一個系統中協同工作,實現更高的性能和能效。異構設備使用mmu時,利用mmu中的一種旁路塊表緩存(translationlookaside?buffer,tlb)加速地址轉換速度。由于tlb的大小和容量是有限的,如果mmu訪問的虛擬地址超出tlb的范圍、或者被頻繁訪問的虛擬地址的映射項失效,就需要額外的查詢和延遲來重新獲取正確的映射,會影響異構設備的性能。


技術實現思路

1、為了解決上述的問題,本技術的實施例中提供了一種批量解映射方法,按照清理物理頁表、清理tlb的物理映射、釋放物理內存和釋放虛擬地址的順序執行批量解映射,保證異步處理的安全性,并減少發送tlb失效指令的數量,降低批量解映射的時延。另外,本技術還提供了與該批量解映射方法對應的批量解映射裝置和異構設備。

2、為此,本技術的實施例中采用如下技術方案:

3、第一方面,本技術實施例提供了一種批量解映射方法,異構設備包括主處理器和至少一個異構組件,所述方法由所述主處理器執行,所述方法包括:將解映射請求分配到目標異構組件的解映射第一隊列;所述解映射請求指示所述主處理器解除所述目標異構組件的物理映射,所述目標異構組件的物理映射為虛擬地址與所述目標異構組件的物理地址的映射關系,所述至少一個異構組件包括所述目標異構組件;在所述解映射第一隊列的長度大于或等于設定長度閾值的情況下,將所述解映射第一隊列的所有解映射請求或所述解映射第一隊列的前部的所述設定長度閾值對應數量的解映射請求提取到所述目標異構組件的解映射第二隊列中;長度表示解映射請求的數量;檢測到所述解映射第二隊列的所有解映射請求解除物理映射中的虛擬地址中存在至少兩個虛擬地址為連續的虛擬地址時,向旁路塊表緩存tlb發送第一tlb失效指令,所述第一tlb失效指令指示所述tlb將所述連續的虛擬地址對應的tlb的條目失效,所述tlb的條目記錄所述目標異構組件的物理映射。

4、在該實施方式中,異構設備將一個異構組件的解映射請求分配到一個解映射隊列后,在解映射第一隊列的解映射請求的數量達到設定長度閾值時,將設定長度閾值對應數量的解映射請求提取到另一個解映射隊列中,并對另一個解映射隊列的所有解映射請求進行批量處理,實現異步處理多個解映射請求。異構設備在另一個解映射隊列的所有解映射請求解除物理映射中的虛擬地址中存在至少兩個虛擬地址為連續的虛擬地址時,向tlb發送一個直接能失效掉多個tlb的條目的tlb失效指令,以減少發送tlb失效指令的數量,降低批量解映射的時延。

5、在一種實施方式中,在所述檢測到所述解映射第二隊列的所有解映射請求解除物理映射中的虛擬地址中存在至少兩個虛擬地址為連續的虛擬地址時,向旁路塊表緩存tlb發送第一tlb失效指令之前,所述方法還包括:向主存發送清理指令;所述主存用于存儲物理頁表,所述物理頁表記錄虛擬地址與物理地址的映射關系,所述清理指令指示所述主存清理所述解映射第二隊列的解映射請求對應的物理頁表。

6、在該實施方式中,異構設備清理主存中的物理頁表之后,需要清理tlb中的物理映射,避免清理主存中的物理頁表后,tlb中的緩存頁表仍存在,導致異構設備通過訪問tlb中緩存的應該過期的頁表映射來非法訪問不該訪問的物理地址,存在被攻擊的安全風險。

7、在一種實施方式中,所述方法還包括:釋放所述解映射第二隊列的解映射請求對應的物理地址;釋放所述解映射第二隊列的解映射請求對應的虛擬地址。

8、在該實施方式中,異構設備將需要釋放的物理內存標記為可用或釋放回內存池,使得該物理內存可以被其它進程或任務使用,以及將需要釋放的虛擬地址標記為可用或無效,使得該虛擬地址可以被其它進程或任務重新分配和使用。

9、在一種實施方式中,在所述將解映射請求分配到目標異構組件的解映射第一隊列之前,所述方法還包括:向所述目標異構組件寫入數據;在觸發缺頁故障時,修改當前虛擬地址的邏輯映射,將所述當前虛擬地址指向自身的物理地址;所述缺頁故障是指所述主處理器基于虛擬地址不能訪問到物理地址;在完成寫入數據操作后,清除所述修改后的邏輯映射。

10、在該實施方式中,異構設備在進行讀寫數據時觸發缺頁故障時,更新當前虛擬地址對應的邏輯映射,實現通過邏輯映射追蹤當前虛擬地址所映射的設備和物理內存。異構設備在完成讀寫數據操作后,可以清除當前虛擬地址對應的邏輯映射,使上層應用程序或操作系統能夠重新建立新的映射關系或釋放相關資源。

11、在一種實施方式中,所述方法還包括:檢測剩余內存;所述剩余內存為所述異構設備為所述目標異構組件分配到內存中處于空閑狀態的內存;在所述剩余內存小于或等于設定內存閾值的情況下,減小所述設定長度閾值;在所述剩余內存大于所述設定內存閾值的情況下,增大所述設定長度閾值。

12、在該實施方式中,異構設備確定剩余內存比較多時,可以緩慢地增大設定長度閾值,從而逐漸增多批量處理的解映射請求的數量,實現提高批量處理的吞吐量。異構設備確定剩余內存比較少時,可以減小設定長度閾值,從而減少批量處理的解映射請求的數量,實現短時間提高批量解映射處理速度,緩解剩余內存不足的問題。

13、在一種實施方式中,所述方法還包括:檢測解映射的頻率;所述解映射的頻率是指單位時間內所述異構設備產生所述目標異構組件的解映射請求的數量;在所述解映射的頻率大于設定頻率閾值的情況下,增加后臺守護進程的睡眠時間;所述后臺守護進程是指自動處理解映射第一隊列的解映射請求的進程;在所述解映射的頻率小于或等于所述設定頻率閾值的情況下,減小所述后臺守護進程的睡眠時間。

14、在該實施方式中,異構設備確定解映射的頻率比較頻繁時,可以增加后臺守護進程的睡眠時間,通過犧牲個別尾時延,可以提高批量處理的吞吐量。異構設備確定解映射的頻率不頻繁時,可以減小后臺守護進程的睡眠時間,在吞吐量不變的情況下保證時延。

15、在一種實施方式中,所述方法還包括:檢測到所述解映射第二隊列的所有解映射請求的數量小于設定數量的情況下,向所述tlb發送第二tlb失效指令;所述第二tlb失效指令指示所述tlb將單個虛擬地址對應的tlb的條目失效。

16、第二方面,本技術實施例提供了一種批量解映射裝置,包括:第一處理單元,用于將解映射請求分配到目標異構組件的解映射第一隊列;所述解映射請求指示所述主處理器解除所述目標異構組件的物理映射,所述目標異構組件的物理映射為虛擬地址與所述目標異構組件的物理地址的映射關系,所述至少一個異構組件包括所述目標異構組件;第二處理單元,用于在所述解映射第一隊列的長度大于或等于設定長度閾值的情況下,將所述解映射第一隊列的所有解映射請求或所述解映射第一隊列的前部的所述設定長度閾值對應數量的解映射請求提取到所述目標異構組件的解映射第二隊列中;長度表示解映射請求的數量;第一處理單元,用于檢測到所述解映射第二隊列的所有解映射請求解除物理映射中的虛擬地址中存在至少兩個虛擬地址為連續的虛擬地址時,向旁路塊表緩存tlb發送第一tlb失效指令,所述第一tlb失效指令指示所述tlb將所述連續的虛擬地址對應的tlb的條目失效,所述tlb的條目記錄所述目標異構組件的物理映射。

17、在一種實施方式中,所述第三處理單元,還用于向主存發送清理指令;所述主存用于存儲物理頁表,所述物理頁表記錄虛擬地址與物理地址的映射關系,所述清理指令指示所述主存清理所述解映射第二隊列的解映射請求對應的物理頁表。

18、在一種實施方式中,所述第三處理單元,還用于釋放所述解映射第二隊列的解映射請求對應的物理地址;釋放所述解映射第二隊列的解映射請求對應的虛擬地址。

19、在一種實施方式中,所述第一處理單元,還用于向所述目標異構組件寫入數據;在觸發缺頁故障時,修改當前虛擬地址的邏輯映射,將所述當前虛擬地址指向自身的物理地址;所述缺頁故障是指所述主處理器基于虛擬地址不能訪問到物理地址;在完成寫入數據操作后,清除所述修改后的邏輯映射。

20、在一種實施方式中,所述第三處理單元,還用于檢測剩余內存;所述剩余內存為所述異構設備為所述目標異構組件分配到內存中處于空閑狀態的內存;在所述剩余內存小于或等于設定內存閾值的情況下,減小所述設定長度閾值;在所述剩余內存大于所述設定內存閾值的情況下,增大所述設定長度閾值。

21、在一種實施方式中,所述第三處理單元,還用于檢測解映射的頻率;所述解映射的頻率是指單位時間內所述異構設備產生所述目標異構組件的解映射請求的數量;在所述解映射的頻率大于設定頻率閾值的情況下,增加后臺守護進程的睡眠時間;所述后臺守護進程是指自動處理解映射第一隊列的解映射請求的進程;在所述解映射的頻率小于或等于所述設定頻率閾值的情況下,減小所述后臺守護進程的睡眠時間。

22、在一種實施方式中,所述第三處理單元,還用于檢測到所述解映射第二隊列的所有解映射請求的數量小于設定數量的情況下,向所述tlb發送第二tlb失效指令;所述第二tlb失效指令指示所述tlb將單個虛擬地址對應的tlb的條目失效。

23、第三方面,本技術實施例提供了一種異構設備,包括:至少一個存儲器;至少一個異構組件,主處理器,所述主處理器用于執行存儲器中存儲的指令,以使得所述異構設備執行如第一方面各個可能實現的實施例。

24、第四方面,本技術實施例提供一種計算機可讀存儲介質,包括計算機程序指令,當所述計算機程序指令由異構設備執行時,所述異構設備執行如第一方面各個可能實現的實施例。

25、第五方面,本技術實施例提供一種包含指令的計算機程序產品,其特征在于,所述計算機程序產品存儲有指令,所述指令在由異構設備執行時,使得所述異構設備實施第一方面各個可能實現的實施例。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 高平市| 永修县| 石泉县| 乐清市| 永丰县| 凌源市| 漠河县| 嘉善县| 廉江市| 长宁县| 台江县| 麻江县| 龙门县| 中卫市| 兖州市| 藁城市| 青阳县| 潮州市| 无锡市| 固安县| 蓬溪县| 鄯善县| 镇安县| 长武县| 根河市| 乌审旗| 深圳市| 宝清县| 望奎县| 岑溪市| 龙江县| 浦北县| 南漳县| 专栏| 连江县| 南靖县| 滕州市| 古浪县| 丹东市| 新密市| 花莲县|