[發明專利]低延遲高IOPS的數據訪問方法與存儲系統有效
| 申請號: | 201911036827.7 | 申請日: | 2016-01-30 |
| 公開(公告)號: | CN110764710B | 公開(公告)日: | 2023-08-11 |
| 發明(設計)人: | 王田 | 申請(專利權)人: | 北京憶恒創源科技股份有限公司 |
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 |
| 代理公司: | 北京卓特專利代理事務所(普通合伙) 11572 | 代理人: | 陳變花 |
| 地址: | 100192 北京市海淀區西小口*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 延遲 iops 數據 訪問 方法 存儲系統 | ||
本發明公開了一種存儲系統中的數據訪問方法,其中所述存儲系統中包括第一組CPU核與第二組CPU核,其中第一組CPU核的每個專用于運行多個第一線程之一,第二組CPU核用于運行多個第二線程,所述方法包括:通過所述第一線程獲取寫請求并將數據寫到緩沖區;通過所述第二線程將所述緩沖區中的數據寫到非易失存儲設備。本發明能夠兼顧存儲系統的延遲,IOPS和帶寬,特別是對于新型的基于閃存的存儲系統,本發明提出的架構相對傳統聚合方案在延遲和IOPS上有明顯的優勢。
技術領域
本發明涉及存儲系統軟件架構,尤其涉及一種存儲系統中的數據訪問方法及設備。
背景技術
傳統IO軟件中通常使用聚合的方式提供高吞吐量。這種設計中,多個IO請求被聚合在一起并批量處理。IO處理路徑通常可以切分成相對獨立的部分,例如壓縮、去重等,每一部分作為一個子任務可以用流水線的方式處理。其中每個子任務處理時都可以用聚合的手段來提升吞吐量。傳統上,對于網絡和磁盤等來說,聚合也有利于提升他們的效率。
使用調度器和預讀策略可以認為是一種聚合方式。
發明內容
聚合的方式盡管可以達到高帶寬,卻無法達到低延遲和低隊列深度下的高IOPS(Input/Output?Operation?Per?Second,每秒讀/寫操作的次數)。對于被聚合的多個IO中的一個單獨的IO來說,必須等到同批次的IO都完成之后才向上層報告自身完成的消息。這就導致了延遲的大大提升。同時,存儲系統中多任務競爭CPU引入的任務切換會進一步引入不可預測的延遲。對于新型的高速存儲介質,例如SSD,特別對于讀請求來說,隨機讀可以達到很高的帶寬和IOPS。這種情形下,現有的聚合方法提供高吞吐量的優勢將不存在。同時網絡的性能也在飛速發展,提供高帶寬的同時也能提供很高的IOPS的低延遲。現有聚合的IO模式將成為提升IOPS和降低延遲過程中的障礙。
本發明希望克服現有技術在新型高速存儲介質上,無法達到高IOPS和低延遲的缺點,最終達到平衡高IOPS、低延遲和高帶寬三個指標的結果。
根據本發明的一個方面,提供了一種存儲系統中的數據訪問方法,其中所述存儲系統中包括第一組CPU核與第二組CPU核,其中第一組CPU核的每個專用于運行多個第一線程之一,第二組CPU核用于運行多個第二線程,所述方法包括:通過所述多個第一線程之一獲取寫請求并將數據寫到緩沖區;通過所述第二線程將所述緩沖區中的數據寫到非易失存儲設備。
根據本發明的一個實施方式,進一步包括:通過所述第一線程將寫請求的完成信息發送給寫請求發出方。
根據本發明的一個實施方式,其中,通過第二線程將所述緩沖區中的數據聚合后寫到存儲設備。
根據本發明的一個實施方式,其中,所述第一線程每次獲取寫請求的數量是接近于1的較小整數。
根據本發明的一個實施方式,其中,多個第二線程的一些專用于將數據寫入到第一存儲設備,而多個第二線程的另一些專用于將數據寫入到第二存儲設備。
根據本發明的一個實施方式,其中,所述第二線程將所述緩沖區中的數據壓縮后寫到存儲設備。
根據本發明的一個實施方式,其中,使用cgroup將CPU核劃為第一組CPU核與第二組CPU核。
根據本發明的一個實施方式,其中,使用taskset為每個第一線程分配為其所獨占的CPU核。
根據本發明的一個實施方式,其中,使用輪詢和中斷來獲取寫請求。
根據本發明的一個實施方式,其中,所述寫請求發出方是網卡。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京憶恒創源科技股份有限公司,未經北京憶恒創源科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911036827.7/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





