[發明專利]內存管理的方法及內存管理系統有效
| 申請號: | 201611241110.2 | 申請日: | 2016-12-29 |
| 公開(公告)號: | CN106844041B | 公開(公告)日: | 2020-06-16 |
| 發明(設計)人: | 黃福堂 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 北京龍雙利達知識產權代理有限公司 11329 | 代理人: | 孫濤;毛威 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 管理 方法 系統 | ||
本申請公開了一種內存管理的方法及內存管理系統,該方法應用于內存管理系統中,該內存管理系統包括內存管理模塊和多個第一線程模塊,該內存管理模塊用于管理多個內存空間,且該多個內存空間中的第一內存空間包括多個第一內存,該第一內存的容量為定值,該第一線程模塊用于管理第二內存空間,該第二內存空間包括至少一個該第一內存,該方法包括:該第一線程模塊接收業務數據;該第一線程模塊確定該第二內存空間是否滿足該業務數據的內存需求;該第一線程模塊在該第二內存空間滿足該業務數據的內存需求時,該第一線程模塊使用該第二內存空間中的內存,處理該業務數據。本申請實施例能夠減少鎖沖突,以及提高系統的并發能力。
技術領域
本申請實施例涉及計算機存儲領域,并且更具體地,涉及內存管理的方法及內存管理系統。
背景技術
內存管理是存儲系統中一項重要的系統基礎服務,能夠管理系統輸入/輸出(Input/Output,IO)模塊和業務模塊的內存申請和釋放,以及對高性能的系統提供基礎的服務,避免系統在IO路徑中因內存資源緊張導致存儲業務異常,最終影響為上層的業務提供服務。
內存管理是通過一系列算法對系統的內存進行管理,如linux內存中的內存的管理算法有內存管理伙伴算法(buddy)算法、分配機制算法(slab)等。此外,存儲系統可以作為大型系統中的核心的部分,且當前業界主流的趨向是存儲云化,因而出現了各種基于X86服務器的分布式存儲,如開源的分布式存儲(Ceph)等產品。這些存儲的特點是把它們的核心進程部署在Linux的用戶態,以及對系統的資源進行預申請分配,這樣系統在運行過程中,避免動態的向Linux系統中分配和釋放資源,保證它們的系統運行正常的同時,避免在IO的過程中因為業務的需求頻繁的向系統申請和釋放內存,給系統帶來大量的CPU的開銷。更重要的是,如果底層存儲的大量系統資源因系統內存資源不夠而申請不到內存,會對上層的系統的業務造成影響巨大。因此,存儲系統通常都會對存儲系統所需要的所有涉及到的內存自己進行管理。
現有技術中,采用定長內存的簡單的隊列(即鏈表的方式)實現對內存的管理,在業務申請內存和釋放內存的線程個數不只一個時,需要配置互斥鎖,但是線程個數太多時,互斥鎖的沖突也比較嚴重,系統并發能力較低。
發明內容
本申請實施例提供了一種內存管理的方法及內存管理系統,能夠降低鎖沖突,以及提高系統并發能力。
第一方面,提供了一種內存管理的方法,該方法應用于包括內存管理模塊和多個第一線程模塊的內存管理系統中,該內存管理模塊用于管理多個內存空間,且該多個內存空間中的第一內存空間包括多個第一內存,該第一內存的容量為定值,該第一線程模塊用于管理第二內存空間,該第二內存空間包括至少一個該第一內存,該方法包括:該第一線程模塊接收業務數據;該第一線程模塊確定該第二內存空間是否滿足該業務數據的內存需求;在該第二內存空間滿足該業務數據的內存需求時,該第一線程模塊使用該第二內存空間中的內存,處理該業務數據。
第一業務線程接收業務數據,確定第二內存空間是否能夠滿足該業務數據需求的內存大小,在該第二內存空間滿足該業務數據的內存需求時,根據該第二內存空間中的內存,處理該業務數據。這樣,在多個業務線程場景下,不同線程模塊分別通過各自的第二內存空間處理業務數據,避免了多個線程模塊同時處理業務數據時,內存管理模塊想要通過內存鏈表上的管理鎖鎖定第一內存空間的所有內存造成的鎖沖突,從而減少了鎖開銷,提高了系統的并發能力。
在一些可能的實現方式中,該方法還包括:在該第二內存空間不滿足該業務數據的內存需求時,該第一線程模塊向該內存管理模塊發送內存請求,該內存請求用于請求從該第一內存空間申請內存;該內存管理模塊根據該內存請求,分配內存,并對該第一內存空間設置第一管理鎖,該第一管理鎖用于控制該第一內存空間中內存的訪問;該內存管理模塊為該第一線程模塊配置內存,并釋放該第一管理鎖;該第一線程線程模塊將該配置的內存存儲到該第二內存空間,以使該第二內存空間能夠滿足該業務數據的內存需求。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611241110.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:眼鏡(BG15260)
- 下一篇:環保智力吸管及杯





