新四季網

一種內存資源管理方法與系統與流程

2023-05-20 13:42:26


本發明涉及內存管理技術領域,尤其涉及計算組件的內存資源管理方法與系統。



背景技術:

現場可編程門陣列(fieldprogrammablegatearray,fpga)是在可編程陣列邏輯(programmablearraylogic,pal)、門陣列邏輯(gatearraylogic,gal)、可編程邏輯器件(programmablelogicdevice,pld)等可編程器件的基礎上進一步發展的產物。fpga具有邏輯資源、存儲資源、算法模塊和嵌入式硬核模塊等豐富的資源,並具備高性能、高靈活性等特點。基於以上特點,利用fpga實現快速準確的計算已經成為研究熱點。除了fpga,顯卡上的圖形處理器(graphicprocessingunit,gpu)因其內部分布可應對並行高運算密度大問題的算術邏輯單元,已經被用來解決複雜的計算問題。

這些fpga、顯卡或專用高性能計算卡等計算組件都會配備一定容量的存儲器為計算、邏輯處理等過程提供內存資源。上述存儲容量通常是受限的,如何合理高效地進行內存資源的管理以滿足大存儲量的計算是上述計算組件面臨的問題。

在現有技術中,內存資源管理多以字節(byte)為單位進行分配與釋放,且計算與結果公用內存資源。以字節為單位進行內存資源管理容易出現內存資源碎片,無形中降低了內存資源的使用效率。而計算使用內存資源與結果使用內存資源公用內存資源使得內存資源不能得到合理的管理和使用。



技術實現要素:

針對上述問題,本發明的目的在於提高內存資源的使用效率,以及解決計算與結果公用內存資源的問題。

為達到上述發明目的,本發明提供的技術方案如下:

一種內存資源管理方法,所述方法由一個計算設備執行,所述計算設備包括至少一個處理器和至少一個存儲媒介,其特徵在於,所述方法包括:將計算內存資源劃分為一個或多個內存塊;接收使用所述計算內存資源的請求;根據所述請求確定請求內存資源的大小;以及根據所述請求內存資源的大小分配所述計算內存資源。

一種內存資源管理系統,其特徵在於,所述內存資源管理系統包括:處理模塊,用於作計算或邏輯處理;內存模塊,用於為所述處理模塊的所述計算或所述邏輯處理提供計算內存資源;內存管理模塊,用於對所述內存模塊的所述計算內存資源進行管理,所述對所述內存模塊的所述計算內存資源進行管理包括:將所述計算內存資源劃分為一個或多個內存塊;接收使用所述計算內存資源的請求;根據所述請求確定請求內存資源的大小;以及根據所述請求內存資源的大小分配所述計算內存資源。

在本發明中,所述內存塊大小為2n個兆字節,且n為大於或等於1的整數。

在本發明中,所述根據所述請求分配所述計算內存資源包括:確定所述計算內存資源中可用內存資源的大小大於或等於所述請求內存資源的大小,得到第一確定結果;根據所述第一確定結果,修改所述可用內存資源的大小;根據所述請求內存資源的大小以及所述可用內存資源,確定分配內存資源;以及發送所述分配內存資源地址。

在本發明中,所述內存資源管理方法進一步包括:確定所述分配內存資源已被釋放,得到第二確定結果;以及根據所述第二確定結果,修改所述可用內存資源的大小。

在本發明中,所述根據所述請求分配所述計算內存資源包括:確定所述計算內存資源中的可用內存資源的大小小於所述請求內存資源的大小,得到第三確定結果;以及根據所述第三確定結果,發送請求失敗通知。

在本發明中,所述請求內存資源的大小為所述內存塊大小的整數倍。

在本發明中,所述計算設備包括現場可編輯邏輯門陣列(field-programmablegatearray,fpga)。

與現有技術相比,本發明的有益效果表現如下:

一、內存資源管理以大字節(例如,2n兆字節,n為大於或等於1的整數)為單位進行分配與釋放,減少了以單個字節為單位進行內存資源管理容易出現內存資源碎片的情況;

二、計算使用內存資源與結果使用資源採用分離管理方式,避免了計算使用內存資源與結果使用內存資源公用內存資源的情況;

三、一次釋放使用完畢的內存資源,使得可用內存資源可以得到即時的更新,大幅度提高了內存資源的使用效率。

附圖說明

圖1為本發明實施例的內存資源管理系統結構示意圖;

圖2為本發明實施例的內存分配示例流程圖;

圖3為本發明實施例的內存釋放示例流程圖;以及

圖4為本發明實施例內存資源管理系統的一種計算機設備的架構示例圖。

具體實施方式

下面通過具體實施例並結合附圖對本發明做進一步描述。

如圖1所示,所述內存資源管理系統可以包括處理模塊110、內存模塊120和內存管理模塊130。

所述處理模塊110可以用於計算、邏輯處理等過程。

所述內存模塊120可以包括計算內存資源。所述計算內存資源可以為計算過程提供內存資源。在一些實施例中,所述內存模塊120中還可以包括結果內資源,所述結果內存資源可以為計算結果提供內存資源。在一些實施例中,計算內存資源與結果內存資源也可以分別存在於兩個存儲模塊中。計算內存資源與結果內存資源採用分離管理方式,避免了計算內存資源與結果內存資源公用內存資源的情況。

所述內存管理模塊130可用於管理所述內存模塊120的計算內存資源。

圖2為本發明的內存分配示例流程圖。

在步驟210,內存管理模塊130可以將內存模塊120中的計算內存資源劃分為一個或多個內存塊。所述內存塊的大小可以為256位元組(byte)的整數倍,例如,一個內存塊的大小可以為512兆字節(megabyte,m)。在一些實施例中,每個內存塊的大小可以相等,也可以不等。

在步驟220,內存管理模塊130可以接收使用計算內存資源的請求。所述使用計算內存資源的請求可以來自於處理模塊110。

在步驟230,內存管理模塊130可以根據所述請求,確定請求內存資源的大小。所述請求內存資源可以只處理模塊110在進行計算時所需的內存資源。所述請求內存資源的大小可以為所述內存塊大小的整數倍。

在步驟240,內存管理模塊130可以判斷計算內存資源中的可用內存資源的大小是否小於所述請求內存資源的大小。所述可用內存資源可以指沒有被佔用的空閒內存資源。如果內存管理模塊130判斷可用內存資源的大小小於所述請求內存資源的大小,則執行步驟250。如果內存管理模塊130判斷可用內存資源的大小大於或等於請求內存資源的大小,則執行步驟260。

在步驟250,內存資源管理模塊130可以向處理模塊110發送請求失敗通知。

在步驟260,內存資源管理模塊130可以根據請求內存資源的大小和可用內存資源,確定分配內存資源。所述分配內存資源可以包括從可用內存資源中確定的分配給處理模塊110的內存資源。

在步驟270,內存資源管理模塊130可以修改可用內存資源的大小。所述修改可用內存資源的大小可以包括將所述可用內存資源的大小減去分配內存資源的大小。例如,可用內存資源的大小為2g(gigabyte),當2g的可用內存資源被分配佔用1g後,可用內存資源的大小會被內存資源管理模塊130修改為1g。

在步驟280,內存資源管理模塊130可以向處理模塊110發送分配內存資源地址。所述分配內存資源地址可以用於表示分配內存資源的位置。

在一些實施例中,內存資源管理模塊130可以在步驟260之前執行步驟270,也可以在步驟260之後執行步驟270。在一些實施例中,內存資源管理模塊130也可以同時執行步驟260和步驟270。

圖3為本發明的內存釋放示例流程圖。

在步驟310,內存資源管理模塊130可以確定分配內存資源已被釋放。所述釋放分配內存資源可以包括處理模塊110在使用完畢分配內存資源後,將所述分配內存資源進行釋放。

在步驟320,內存資源管理模塊130可以修改可用內存資源的大小。所述修改可用內存資源的大小可以包括在可用內存資源的基礎上加上釋放的內存資源的大小。例如,可用內存資源的大小修為1g,當處理模塊110將佔用的1g的內存資源使用完畢釋放後,內存資源管理模塊130可以將可用內存資源的大小修改為2g。

圖4為本發明內存資源管理系統的一種計算機設備的架構示例圖。

所述計算機400可以是一個通用目的的計算機,或是一個有特定目的的計算機。本發明中的內存資源管理系統能夠被所述計算機設備架構通過其硬體設備、軟體程序、固件以及它們的組合所實現。為了方便起見,圖4中只繪製了一臺計算機設備的架構,但是內存資源管理系統所需要的信息的相關計算機功能是可以以分布的方式、由一組相似的平臺所實施的,分散系統的處理負荷。

所述計算機設備架構可以包括通信埠440,與之相連的可以是實現數據通信的網絡。所述計算機設備架構還可以包括一個處理器470用於執行程序指令。所述計算機設備架構包括一個內部通信總線410,不同形式的程序儲存單元以及數據儲存單元,例如硬碟420,只讀存儲器(rom)460,隨機存取存儲器(ram)450,能夠被配置為存儲所述計算機設備架構處理和/或通信使用的各種數據文件,以及處理器470所執行的可能的程序指令。所述計算機設備架構還可以包括一個輸入/輸出組件430,支持所述計算機設備架構與外部(例如,鍵盤)之間的數據和/或信息交互。所述計算機設備架構也可以通過通信網絡接受程序及數據。

在一些實施例中,本發明中的內存資源管理系統可以包括fpga。在一些實施例中,內存資源管理系統中的處理模塊110和/或內存管理模塊130可以由處理器470實現,存儲模塊120可以由硬碟420,只讀存儲器(rom)460,或隨機存取存儲器(ram)450實現。

在一些實施例中,fpga內存資源總共12g內存,其中8g用於數據處理使用,4g用於存儲生成的ct圖像。將內存資源設為允許兩個計算任務同時運行,每一個計算任務可以使用的內存資源為6g,其中4g用於數據處理,2g用於存儲。在處理數據量較大時(超過1g時),該方式與現有技術常用的臨時動態申請資源方式相比,性能有大幅提高,可減少大量資源申請和釋放的操作。該方式可以減少的內存動態操作數量是非常可觀的。其性能提升可以達到提升100%。

以上所述僅為本發明的優選實施而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀