• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>
    當前位置: 首頁 > 專利查詢>東南大學專利>正文

    一種基于openstack平臺的SSD緩存方法技術

    技術編號:15690503 閱讀:107 留言:0更新日期:2017-06-24 02:56
    本發明專利技術公開了一種基于openstack平臺的SSD緩存方法,其特征在于:SSD緩存放置于VFS和Distribute/Stripe之間;SSD緩存模塊三種結構體,其中page結構體包括所有與緩存頁相關的屬性,inode結構體用于存放與文件相關的屬性,table結構體用于存放全局信息。基于SSD的緩存方法能很好解決openstack平臺的網絡和磁盤讀寫瓶頸問題。

    A SSD caching method based on openstack platform

    The invention discloses a SSD caching method based on openstack platform, which is characterized in that: the SSD cache is placed in between VFS and Distribute/Stripe; three SSD cache module structure, which includes all the page structure associated with the cached page attributes, the inode structure is used to store the attributes and relevant documents, the table structure is used to store global information. SSD based caching method can solve the network and disk read and write bottleneck problem of openstack platform.

    【技術實現步驟摘要】
    一種基于openstack平臺的SSD緩存方法
    本專利技術提出一種基于openstack平臺的SSD緩存方法,涉及云計算、計算機
    技術背景OpenStack已經被越來越多的廠家和云計算服務提供商采納并應用至生產環境中。Rackspace已經采用OpenStack提供虛擬機和云存儲服務,其中云存儲Swift已經達到100PB。HP新推出的公有云服務也是基于OpenStack的。新浪已經推出基于OpenStack的虛擬機和云存儲服務。GlusterFS是Openstack采用的集群的文件系統,支持PB級的數據量。GlusterFS通過RDMA和TCP/IP方式將分布到不同服務器上的存儲空間匯集成一個大的網絡并行文件系統。該系統現在正式支持OpenStack的三種主要模式存儲,包括:文件、塊和對象。GlusterFS用戶空間采用的堆棧式架構。該架構在GlusterFS的客戶端和服務端(均在用戶空間)可以在服務初始化的過程中插入鏈狀的自定義模塊。但它帶來的問題是網絡I/O和磁盤I/O的性能瓶頸。加入緩存能夠很好的解決此類問題,GlusterFS本身也包含I/O緩存模塊,但他提供的緩存是只讀的,而且緩存大小受限制。現存的緩存架構也很多,比如最近很火熱的memcached架構以及其變種。Memcached是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。為了提高性能,memcached中保存的數據都存儲在memcached內置的內存存儲空間中。由于數據僅存在于內存中,因此重啟memcached、重啟操作系統會導致全部數據消失。另外,內容容量達到指定值之后,就基于LRU(LeastRecentlyUsed)算法自動刪除不使用的緩存,因此很多緩存替換算法都未能使用。該系統正在被廣泛應用,但是它并不適合GlusterFS,應用場景也有所不同,它無法根據我們的需求很好的調整參數。故本專利技術將提出一個適合GlusterFS,并且可讀可寫的SSD緩存方法。
    技術實現思路
    專利技術目的:本專利技術的目的在于提供一種基于openstack平臺的SSD緩存方法,解決網絡I/O和磁盤I/O瓶頸。實現本專利技術目的技術方案:在GlusterFS上添加了SSD緩存模塊,SSD緩存模塊包括三種結構體:page結構體包括所有與緩存頁相關的屬性,inode結構體用于存放與文件相關的屬性,table結構體用于存放全局信息。基于這三種結構體,可以在服務初始化的過程中插入鏈狀的自定義模塊,實現SSD緩存方案。SSD緩存模塊中的page結構體包括所有與緩存頁相關的屬性:包含緩存頁本身字段,緩存頁的替換算法和當前頁的等待隊列。(1)頁自身相關字段:包含inode指針,ready字段,offset字段,size字段。通過inode指針可以訪問該頁所屬的inode。ready字段表示該頁的內容是否準備就緒以供讀寫。offset表示該頁的起始在inode中的偏移量。size字段表示該頁的實際大小。(2)緩存頁的替換算法:包括inode_lru與table_lru:前者通過list_head與inode形成雙向鏈表結構,以inode為head,可以遍歷與該inode相關聯的所有頁;后者與table形成雙向鏈表結構,這個鏈表包含了所有的頁,是全局的LRU鏈表,在緩存頁用滿需要替換時,從鏈表尾取出page,并將其釋放。(3)當前頁的等待隊列。等待隊列用來對讀寫請求進行排隊。SSD緩存模塊中的inode結構體用于存放與文件相關的屬性:包括與table結構體相關的屬性,與page結構體相關的屬性和自身屬性。(1)與table相關的屬性。inode_list是所有inode形成的雙向鏈表。table指向的是inode關聯的table。(2)與page相關的屬性。page_lru是inode下page組成的鏈表。dirty_list是inode下所有臟頁組成的鏈表。dirty_cnt表示臟頁的數量。(3)inode自身的屬性。inode指針指向原始的inode。size字段表示inode關聯的文件的大小,如果當前寫入的數據塊超過了文件大小,則需要更新該字段,同時需要對后端存儲的該文件執行truncate操作。SSD緩存模塊中的table結構體用于存放全局信息:包含頁大小、緩存大小、緩存的使用情況、與替換算法相關的信息等。其中page_size表示頁大小,cache_size表示緩存文件的大小,即緩存容量,該值為page_size的整數倍,cache_used表示已使用的緩存大小,該值等于已分配的dc_page數量乘以page_size,list_headinodes表示所有inode組成的雙向鏈表,inode_count表示inode的數量,page_lru表示pageLRU的鏈表頭,訪問頁時將頁插入到鏈表頭之后,替換頁時替換鏈表尾的頁,page_lru_cnt表示pageLRU鏈表中的page數量,dirty_list表示所有的臟頁鏈表,在回寫線程中進行遍歷,dirty_cnt表示所有臟頁的數量本專利技術具有的有益效果:本專利技術在openstack本身采用的GlusterFS上添加了SSDCache模塊,比原有提供的可配置Cache多了以下好處:緩存策略可配置、頁大小可配置、緩存容量不受限制、讀寫均可緩存。附圖說明圖1是本專利技術的openstack架構圖。圖2是本專利技術的GlusterFS架構圖。圖3是本專利技術的具體實施方式的詳細流程圖。具體實施方式下面結合附圖對本專利技術的技術方案進行詳細說明:圖1顯示了本專利技術在openstack平臺中添加SSDCache位置,它在計算結點端的分布式文件系統的客戶端。因為該緩存直接存在于客戶端,若緩存命中率較高,緩存的數據也無需經常通過網絡讀取服務器硬盤上的數據,故在該位置可以在該位置可以明顯改善網絡I/O和磁盤I/O。圖2顯示了本專利技術在GlusterFS分布式文件系統中的詳細位置。因為GlusterFS用戶空間的堆棧式架構指的是在GlusterFS的客戶端和服務端(均在用戶空間)通過配置可以在服務初始化的過程中插入鏈狀的自定義模塊,故本專利技術在VFS和Distribute之間加入SSDCache模塊,以起到緩存的目的。為了便于公眾理解本專利技術的技術方案,以讀請求為例(采用LRU替換策略)。圖3為該例子的詳細流程圖,具體步驟如下:步驟S101、讀頁請求。步驟S102、判斷緩存中是否有該頁,即是否命中(table中是否有該頁)。若沒有跳轉至步驟S103,否則跳轉至步驟S110。步驟S103、根據LRU替換算法,替換鏈表鏈尾的page。步驟S104、根據請求和page結構體的結構,根據步驟101讀取的請求和page結構體的結構,申請空間,創建新頁,構造page。步驟S105、添加當前讀請求至pagewaitq中。步驟S106、通過異步的方式請求頁內容。即暫時擱置當前請求的響應,處理下一個請求,當通過輪詢或其他方式得到回調通知后,開始運行;步驟S107、通過異步的方式更新頁內容,成功后,將該頁置于鏈表鏈頭。步驟S108、設置該page的ready本文檔來自技高網
    ...
    一種基于openstack平臺的SSD緩存方法

    【技術保護點】
    一種基于openstack平臺的SSD緩存方法,其特征在于:采用GlusterFS作為openstack平臺的分布式文件系統,在GlusterFS的VFS和Distribute/Stripe之間加入SSD緩存模塊;所述SSD緩存模塊包括三種結構體:page結構體包括所有與緩存頁相關的屬性,inode結構體用于存放與文件相關的屬性,table結構體用于存放全局信息;通過所述SSD緩存模塊的三種結構體在服務初始化的過程中插入鏈狀的自定義模塊。

    【技術特征摘要】
    1.一種基于openstack平臺的SSD緩存方法,其特征在于:采用GlusterFS作為openstack平臺的分布式文件系統,在GlusterFS的VFS和Distribute/Stripe之間加入SSD緩存模塊;所述SSD緩存模塊包括三種結構體:page結構體包括所有與緩存頁相關的屬性,inode結構體用于存放與文件相關的屬性,table結構體用于存放全局信息;通過所述SSD緩存模塊的三種結構體在服務初始化的過程中插入鏈狀的自定義模塊。2.根據權利要求1...

    【專利技術屬性】
    技術研發人員:李小平嚴崢陳龍朱夏
    申請(專利權)人:東南大學
    類型:發明
    國別省市:江蘇,32

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 一本色道无码不卡在线观看| 人妻少妇精品无码专区动漫| 亚洲性无码AV中文字幕| YY111111少妇无码理论片| 亚洲AV无码乱码在线观看裸奔 | 高清无码中文字幕在线观看视频| 亚洲精品无码专区久久久| 国内精品久久人妻无码不卡| 狠狠精品久久久无码中文字幕| 日韩人妻无码一区二区三区| 2014AV天堂无码一区| 精品久久久久久无码人妻热| 亚洲国产综合无码一区二区二三区 | 亚洲无码黄色网址| 好爽毛片一区二区三区四无码三飞| 免费无码成人AV片在线在线播放| 久久精品aⅴ无码中文字字幕重口| 国产精品无码av在线播放| 伊人久久无码中文字幕| 亚洲Av无码精品色午夜| 日韩人妻无码一区二区三区| 丰满少妇人妻无码| 熟妇人妻无码中文字幕| 亚洲AV永久无码精品一百度影院| 西西午夜无码大胆啪啪国模| 亚洲AV人无码激艳猛片| av无码免费一区二区三区| 亚洲AV无码资源在线观看 | 精品久久久久久无码人妻| 91嫩草国产在线无码观看| 无码狠狠躁久久久久久久| 无码av天天av天天爽| 亚洲成A人片在线观看无码不卡| 中文字幕无码精品亚洲资源网久久| 亚洲成无码人在线观看| 亚洲精品无码久久久| 亚洲αⅴ无码乱码在线观看性色| 久久伊人中文无码| 无码av不卡一区二区三区| 97无码免费人妻超级碰碰夜夜| 亚洲AV无码久久精品色欲|