《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 設計應用 > 一種基于閃存固態盤的內存交換區空間分配方案
一種基于閃存固態盤的內存交換區空間分配方案
來源:微型機與應用2013年第13期
劉青昆,梁 瑩,石彥博
(遼寧師范大學 計算機與信息技術學院,遼寧 大連 116081)
摘要: 針對閃存固態盤語義缺失特性,提出了一種帶有語義感知的交換區空間分配方案,減少了交換系統中Trim命令的使用次數,進而減少內存交換系統中的時間開銷,提高程序運行的性能。
Abstract:
Key words :

摘  要: 針對閃存固態盤語義缺失特性,提出了一種帶有語義感知的交換區空間分配方案,減少了交換系統Trim命令的使用次數,進而減少內存交換系統中的時間開銷,提高程序運行的性能。
關鍵詞: 交換系統;閃存固態盤;語義缺失;Trim命令;空間分配

 閃存作為一種新型非易失性存儲介質,以其低延遲、低功耗、輕重量和抗震性好等優點,在便攜式設備和嵌入式系統上得到了廣泛的應用[1]。近年來,隨著閃存固態盤容量增加和價格下降,其應用逐步走向個人計算機和企業服務器市場[2-4]。在現代計算機系統中,隨著應用程序規模的擴大,對內存占用需求的快速增大,如何擴大系統中可用內存空間正受到極大的關注,其中在閃存固態盤上建立交換區已成為研究熱點。
本文基于閃存固態盤的自身特點和內存交換系統的具體應用場景,提出一種帶有語義感知的內存交換區空間分配方案,使交換系統減少Trim[5]命令(也稱discard命令)的使用,進而節省Trim命令引入的時間開銷,提高系統性能。
1 相關工作
 近些年,越來越多的研究關注于使用閃存固態盤作為交換區,以降低內存與交換區的I/O延遲,提高系統性能。參考文獻[6]在使用閃存固態盤作為交換區的環境下提出壓縮交換頁面以提高系統性能,延長閃存壽命的方法。參考文獻[7]提出一種基于日志方式的換出和塊對齊方式換入的交換系統,以便提高閃存的垃圾回收性能和減少閃存擦除操作次數,進而提高系統性能。參考文獻[8]中混合使用傳統磁盤和閃存固態盤作為內存交換區,充分發揮閃存和硬盤的特性以提供大容量、低價位、高性能的內存空間。然而,這些系統主要著眼于交換頁面的數量或交換頁面內容的分析,對內存交換系統進行優化,很少關注交換區空間分配的設計。參考文獻[9]指出內存交換系統中帶有語義傳遞功能的Trim命令為系統引入了較大的時間開銷,在此基礎上,本文提出一種帶有語義感知的交換區空間分配方案,減少Trim命令的使用,以提高程序運行性能。
2 以閃存固態盤為交換區的空間分配
2.1 閃存固態盤的語義缺失

 閃存固態盤主要由閃存芯片和閃存控制器兩部分構成。與傳統磁盤相比,閃存介質在性能和硬件屬性上有很多優勢,同時在實際應用中存在一些缺陷:首先閃存介質重寫閃存頁前必須擦除閃存頁所在的閃存塊;其次閃存塊擦除次數有限,若擦除操作達到上限,閃存塊可能損壞,影響閃存的使用壽命。由此可知,在傳統磁盤中應用廣泛的原位重寫操作不適用閃存。為使閃存固態盤能像磁盤一樣普遍地應用到計算機系統中,Intel提出閃存轉換層FTL(Flash Translation Layer)技術[10],把閃存固態盤模擬成類似磁盤的塊設備,封裝在閃存控制器中,統一了閃存固態盤與傳統磁盤的軟件接口。閃存固態盤的軟件設計結構如圖1所示。

 圖1中FTL主要包含地址映射、垃圾回收、磨損均衡等模塊。地址映射模塊中,將軟件系統讀寫請求的邏輯地址通過映射表和閃存固態盤的物理地址一一對應。當系統原位更新某邏輯地址上的數據時,先通過映射表檢索邏輯地址對應的物理地址,標記此物理地址的數據無效,并把數據寫入閃存固態盤的其他物理位置,在映射表中使邏輯地址與新的物理地址對應,進而避免重寫閃存頁前擦除閃存塊操作。當閃存控制器啟動垃圾回收機制,擦除無效數據較多的閃存塊,由于閃存塊的擦除次數有限,磨損均衡模塊會采取均衡策略,使擦除操作盡量均勻地分配在閃存介質上。
 由上述分析可知,閃存控制器封裝了閃存介質特性,使軟件系統能夠以相同于磁盤的方法操作閃存固態盤。軟件系統向閃存固態盤發出的讀寫請求經過FTL的地址映射后,對閃存介質的操作請求已喪失軟件系統操作的語義,因此,閃存固態盤無法感知軟件系統操作的相關含義,形成一種語義缺失的現象。例如文件系統對數據的刪除操作,在文件系統中的刪除操作只標記對應元數據無效,即代表數據已經刪除,而閃存固態盤不知道元數據對應的實際數據頁面已經無效,直到這些數據頁面對應的邏輯頁面再次收到寫數據請求時,閃存固態盤才能感知這些數據無效,這種因語義缺失導致了垃圾回收操作的延遲,影響閃存固態盤的存儲效率。
2.2 Trim命令的時間消耗評估
 閃存固態盤的應用越來越普遍,針對其語義缺失的不足,計算機系統中引入Trim命令通知閃存固態盤無效數據的位置,使閃存固態盤感知上層軟件系統的語義操作。從Linux 2.6.29開始,針對閃存固態盤為交換區,在交換區空間分配方案中引入Trim命令,以便閃存固態盤回收交換區中無效頁面。其中,交換區空間由swap_map計數器數組進行分配管理,每個計數器值對應一個頁槽(page slot)使用狀態。當內存將暫時不用的非映射頁換出到交換區時,需要在swap_map中快速檢索空閑頁槽存儲換出頁面,頁槽為占用狀態;當內存需要已換出到交換區中的頁面時,再把該頁面從交換區中調入內存,此時頁槽為空閑狀態,交換區空間分配如圖2所示。

 圖2中,空白格代表頁槽為空閑狀態,陰影小格代表頁槽為占用狀態,內存交換系統以簇集的形式分配交換區空間,一個空閑簇集包含256個連續空閑頁槽,當空閑簇集中的空閑頁槽全部分配后,從此簇集的最后一個頁槽后開始掃描swap_map,來檢索空閑簇集。Trim命令是在檢索到空閑簇集后使用,其作用是通知閃存固態盤256個空閑頁槽對應的頁面無效。其中每個頁槽對應4 KB的交換區空間,那么256個頁槽對應1 MB的交換區空間,也就是Trim命令的作用區間是1 MB。本文分別對不同作用區間的Trim命令進行測試,其時間開銷如圖3所示。

 圖3中橫坐標代表換出到閃存固態盤的頁面數量,W代表數量單位為萬頁,其測試結果是在系統中運行應用程序ImageMagic使內存換出大量頁面到交換區中,在交換區空間分配時向閃存固態盤發送Trim命令,進而跟蹤測試不同作用區間的Trim命令時間開銷。由圖3可推出兩個結論:
 (1)Trim命令平均耗時隨著閃存固態盤寫入的頁面數量增加而增大,當頁面數量達到一定值時,Trim命令平均耗時趨于平穩。整體來看,幾種不同作用區間的Trim命令平均耗時在1 ms~14 ms之間,表明Trim命令為系統引入毫秒級別的時間開銷;
 (2)不同作用區間的Trim命令時間開銷不同,隨著作用區間增大,其平均時間開銷減小。
2.3 交換區空間分配方案的設計與分析
 內存交換系統使用閃存固態盤作為交換區時,鑒于閃存固態盤語義缺失且語義傳遞的Trim命令耗時較多,本文設計一種帶有語義感知的交換區空間分配方案,其交換區空間分配規則如下:
 (1)合并Trim命令:在swap_map中,掃描16個連續空閑簇集(1簇集=256 slot)后,向閃存固態盤發送Trim命令,使得Trim命令的作用區間為16 MB。
 (2)語義感知:系統使用完空閑簇集后,掃描swap_map,從已經寫入數據的頁槽中檢索1個空閑簇集,若沒有檢索到,則從上一個Trim命令的作用區間后掃描swap_map,檢索16個連續空閑簇集,發送Trim命令。
 (3)邊界對齊:在檢索1個空閑簇集時,采用邊界對齊的方式,使檢索到的空閑簇集的邊界為256的倍數。
 第一條規則分析如下:Trim命令作用區間由1 MB增加到16 MB,首先減少了Trim命令的使用次數;其次由2.2章節可知,作用區間越大,Trim命令平均耗時越少,16 MB作用區間的Trim平均時間消耗較少,但是本方 案沒有使用作用區間更大的Trim命令,是因為Trim命令的作用是通知閃存固態盤無效頁面的位置,促進閃存固態盤垃圾回收進行閃存塊擦除操作,一次發送無效頁面的數量較多,可能促使閃存固態盤擦除較多的閃存塊,若機器關機或重啟,擦除的閃存塊會再次被擦除,造成擦除冗余,而閃存塊的擦除次數直接影響閃存固態盤的壽命。
 第二條規則分析如下:由2.1章節論述可知,重寫邏輯頁面相當于告訴閃存固態盤該邏輯頁面對應的物理頁面無效,swap_map數組索引閃存固態盤的邏輯頁面,重寫數組中的空閑頁槽,即是通知閃存固態盤此頁槽對應的物理頁面無效。該規則利用閃存轉換層原位重寫操作使閃存固態盤感知無效頁面,在內存交換系統中盡量減少Trim命令的使用,進而使交換區空間分配帶有語義感知功能。
 第三條規則分析如下:邊界對齊的設計是利用程序運行的局部性原理,內存換出相鄰的頁面,很可能屬于同一進程的頁面,當進程被調用時,同時換入這些相鄰的頁面,使這些頁面在交換區中對應的頁槽狀態變為空閑,邊界對齊的分配方法促使這些空閑頁槽對應的頁面盡可能集中分布同一閃存塊中,提高閃存固態盤垃圾回收效率。
3 測試與分析
3.1 測試環境與負載

 


 系統的硬件環境為Intel(R)Xeon(R)E5420,主頻為2.5 GHz的四核CPU,設置物理內存為1 GB,分別使用傳統磁盤和閃存固態盤作為系統的交換區進行測試,設置交換區大小為2 GB,并選取圖像處理ImageMagick、數據庫應用Postgresql、科學計算Matlab以及程序開發eclipse四種類型的應用程序對交換區分配方案進行測試分析。其測試負載如下:
 (1)ImageMagick:同時放大10張4.5 MB的圖片;
 (2)Postgresql:模擬600個客戶端對數據庫Postgresql進行壓力測試,每個客戶端執行300個的事務;
 (3)Matlab:使用雙線性插值法對一張4.5 MB的圖片放大4倍;
 (4)eclipse:使用AES算法對260 MB的壓縮包進行加密運算。
 以上四個應用程序的負載所需要的內存空間均大于1 GB,在1 GB物理內存的系統下分別單獨運行四個應用程序,系統均會產生一定數量的交換操作。在linux2.6.34.13系統中實現帶有語義感知的交換區分配方案,在內核態統計四種應用程序換出頁面頻率,在用戶態統計程序運行時間,進而測試內存交換區空間分配方案的性能。
3.2 實驗結果與分析
 在實驗中,首先分別使用傳統磁盤和閃存固態盤作為交換區,測試四種應用程序,觀察不同硬盤對系統性能的影響,如圖4所示。然后以閃存固態盤為交換區,對比四種應用程序在不同的交換區分配方案下的運行時間,測試交換區分配方案提高系統性能的效果,如圖5所示。圖4和圖5中Postgresql應用程序運行時間單位為分鐘(min),其他三個應用程序運行時間單位為秒(s)。

 由圖4可知,使用閃存固態盤作為交換區,相較于傳統磁盤,四種典型的應用程序運行性能都有所提高,其中ImageMagick性能提高4倍,Postgresql性能提高4.7%。由圖5可知,使用本文提出的帶有語意感知的交換區分配方案可以進一步提高程序運行性能,ImageMagick、Postgresql、matlab和eclipse在運行的過程中提高性能的比值分別為34.6%、3.2%、6.6%和14.2%。對比圖4和圖5,不難發現在圖4中性能提高較多的應用程序在圖5中性能提高比例也較大,說明性能提高的比例與應用程序本身性質有關。為體現交換區分配方案對哪類應用程序有更好的性能提高,本文對四種應用程序特性進行分析,在圖6中給出了以閃存固態盤為交換區時,四種應用程序運行時對閃存固態盤的寫請求頻率。

 圖6中四種應用程序運行時對閃存固態盤寫請求頻率不同,寫請求頻率高的應用程序在圖5中性能提高比例也高,寫請求頻率低的應用程序性能提高也低,結合圖5和圖6結果分析可知,對交換區寫請求的頻率高低直接影響帶有語義感知的交換區分配方案的作用效果,寫請求頻率越高的應用程序性能提高比例越大,即在較短的時間內換出到交換區的頁面數量較多的應用程序,其運行性能提高比例較大。
 本文主要研究使用固態盤上建立交換區,提出一種語義感知的交換區空間分配方案。通過理論分析和實驗證明,該交換區分配方案自帶語義理解功能,減少語義傳遞功能的Trim命令使用,進而節約時間開銷,提高程序運行性能。在進一步工作中,使用閃存固態盤為交換區,將著重研究通過壓縮交換頁面或重復數據刪除等技術減少閃存固態盤中的寫操作,以延長閃存固態盤的壽命,進一步提高系統性能。
參考文獻
[1] Sangsung Electronics Co. NAND Flash Memory and Smart Media Data Book [EB/OL]. [2002]. http://www.samsung.com.
[2] GRAY J, FITZGERALD B. Flash disk opportunity for server applications[J]. ACM Queue, 2008, 6(4): 18-23.
[3] LEE S W, MOON B. Design of flash based DBMS: an in page loging approach [C]. In Proc of the ACM SIGMOD, 2007.
[4] LEE S W, MOON B, PARK C, et al. A case for flash memory SSD enterprise database applications [C]. In Proc of the ACMSI MOD, 2008.
[5] WIKIPEDIA. TRIM [EB/OL]. [2013-03-20]. http://en.wikipedia.org/wiki/TRIM.
[6] 顧鋒磊.基于NAND的使用壓縮緩存策略的交換系統的設計與實現[D].上海:上海交通大學,2008.
[7] KO S, JUN S, RYU Y, et al. A new linux swap system for flash memory storage devices[C]. In ICCSA′09, 2008.
[8] LIU K, ZHANG X, DAVIS K, et al. Synergistic coupling of SSD and hard disk for QoS-aware virtual memory[EB/OL]. [2013-02-13]. http://www.cc.gatech.edu/~xczhang/paper/ispass13. pdf.
[9] SAXENA M, SWIFT M M. FlashVM: virtual memory management on flash[C]. Proceedings of the 2010 USENIX Conference on USENIX Annual Technical Conference. USENIX Association, 2010.
[10] Intel Corporation. Understanding the flash translation layer (FTL)specification [R]. 1998.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲激情校园春色| 亚洲一区精品电影| 中文有码久久| 亚洲人体大胆视频| 在线观看精品一区| 国自产拍偷拍福利精品免费一| 国产精品成av人在线视午夜片| 欧美日韩国产色视频| 欧美不卡在线| 你懂的国产精品| 美女被久久久| 久久亚洲图片| 久久视频在线视频| 久久综合久久综合这里只有精品| 久久久久.com| 久久久久欧美精品| 久久香蕉国产线看观看av| 久久深夜福利免费观看| 久久一综合视频| 免费亚洲电影在线| 欧美成人亚洲| 欧美精品v国产精品v日韩精品| 欧美高清不卡| 欧美极品在线视频| 欧美日韩精品免费 | 欧美乱妇高清无乱码| 欧美黄色精品| 欧美精品粉嫩高潮一区二区| 欧美另类一区二区三区| 欧美午夜美女看片| 国产精品久久久久影院亚瑟| 国产精品一二一区| 国产视频久久久久久久| 精品999成人| 亚洲欧洲日韩综合二区| av成人免费在线| 亚洲欧美电影院| 久久超碰97人人做人人爱| 亚洲国产成人av好男人在线观看| 亚洲韩国精品一区| 99在线视频精品| 亚洲女性喷水在线观看一区| 欧美一区二区女人| 美女视频黄a大片欧美| 欧美日本三区| 国产精品免费在线| 激情丁香综合| 亚洲六月丁香色婷婷综合久久| 亚洲视频1区2区| 欧美伊人久久| 亚洲美女在线一区| 欧美亚洲在线播放| 美日韩精品免费观看视频| 欧美日韩综合| 国产一区二区三区av电影| 亚洲国产欧美精品| 亚洲一区二区精品| 91久久黄色| 亚洲综合激情| 久久亚洲欧美| 国产精品国产三级国产aⅴ浪潮| 国产一区二区中文字幕免费看| 亚洲经典自拍| 午夜在线视频观看日韩17c| 亚洲激情电影在线| 午夜精品久久久久久久久久久| 久久视频在线视频| 国产精品扒开腿做爽爽爽视频 | 亚洲高清免费在线| 正在播放亚洲| 久久天天躁狠狠躁夜夜爽蜜月| 欧美日韩日日夜夜| 韩国av一区| 一区二区欧美在线观看| 久久精品视频免费播放| 亚洲性色视频| 久久综合婷婷| 国产噜噜噜噜噜久久久久久久久| 在线精品亚洲| 亚洲欧美精品一区| 一区二区三区日韩在线观看| 久久精品视频99| 欧美日韩中文在线观看| 黄网动漫久久久| 亚洲欧美日韩国产精品 | 欧美在线观看视频在线| 欧美日韩精品欧美日韩精品一| 国产一区二区三区四区在线观看 | av成人手机在线| 久久久999精品| 欧美视频一区二区在线观看| 激情五月综合色婷婷一区二区| 一区二区三区国产盗摄| 久久精品日韩欧美| 久久成人18免费网站| 欧美婷婷在线| 亚洲国产欧美一区二区三区久久| 小嫩嫩精品导航| 亚洲在线一区二区三区| 欧美乱在线观看| 亚洲国产精品999| 欧美专区在线观看一区| 亚洲一区二区三区成人在线视频精品| 另类尿喷潮videofree| 国产日韩欧美另类| 亚洲午夜av在线| 这里只有精品在线播放| 欧美精品1区2区| 亚洲国产一区二区三区青草影视| 久久国产色av| 久久精品盗摄| 国产日韩欧美另类| 午夜在线视频一区二区区别| 亚洲欧美日韩精品久久亚洲区| 欧美精选在线| 亚洲激情不卡| 亚洲三级免费| 欧美大片免费观看| 在线观看亚洲精品| 亚洲第一色在线| 久久国产精品色婷婷| 国产精品一区二区a| 亚洲一区二区三区中文字幕在线| 亚洲一区二区三区在线观看视频| 欧美日本一区二区三区 | 亚洲欧美日韩国产成人| 香蕉成人伊视频在线观看 | 在线一区二区日韩| 欧美日韩精品一区视频| 亚洲精品无人区| 99伊人成综合| 欧美日韩一区二区三区在线观看免 | 欧美日韩国产电影| 亚洲精品一二三| 夜夜嗨av一区二区三区网页| 欧美日韩国产天堂| 亚洲另类自拍| 亚洲男同1069视频| 国产伦精品一区二区三| 亚洲欧美视频一区| 久久国产综合精品| 黄色国产精品| 亚洲另类自拍| 欧美少妇一区| 亚洲欧美三级在线| 老司机67194精品线观看| 在线欧美日韩精品| 亚洲美女区一区| 国产精品国产| 性做久久久久久久免费看| 久久在线观看视频| 最新成人在线| 亚洲永久精品大片| 国产欧美精品一区aⅴ影院| 欧美淫片网站| 欧美大片免费观看| 一本大道久久a久久精二百| 亚洲欧美中文字幕| 黄色成人精品网站| 一区二区三区视频在线观看| 国产精品成人一区二区三区吃奶| 一区二区三区免费观看| 欧美专区18| 亚洲第一福利视频| 亚洲一级免费视频| 国产日韩欧美一区二区三区在线观看 | 国产精品一二三| 亚洲丰满少妇videoshd| 欧美日本韩国一区二区三区| 亚洲视频一二三| 久久午夜精品| 一区二区黄色| 久久精品1区| 91久久精品国产91久久性色| 亚洲影院在线观看| 在线观看亚洲视频| 亚洲欧美国产精品专区久久| 国产中文一区二区三区| 亚洲精品一区二区三| 国产精品亚洲片夜色在线| 亚洲激情二区| 国产精品视频不卡| 亚洲精品国产精品国自产观看| 国产精品入口日韩视频大尺度| 亚洲第一精品夜夜躁人人爽 | 欧美在线1区| 欧美精品观看| 午夜欧美大片免费观看| 欧美激情成人在线视频| 亚洲欧美激情在线视频| 欧美激情片在线观看| 午夜亚洲激情| 欧美日韩国产综合一区二区| 欧美一区二区三区免费看| 欧美日本韩国一区| 亚洲第一在线综合网站| 国产精品久久夜| 亚洲精品综合在线| 国内久久精品| 午夜在线成人av|