Hybrid Block Storage for Efficient Cloud Volume Service——論文泛讀

TOS 2023 Paper?論文閱讀筆記整理

問題

傳統桌面和服務器應用程序向云的遷移給底層云存儲帶來了高性能、高可靠性和低成本的挑戰。由于這些傳統應用程序的I/O模式和一致性要求,與采用特定編程模型和范式(如MapReduce[22]和RDD[52])的云原生應用程序不同。使得遷移的應用程序難以享受云存儲的高性能。盡管最近的研究在很大程度上提高了云卷服務的吞吐量,例如:利用磁盤并行性[35],但以低成本高性能滿足云服務要求仍然具有挑戰性。

本文方法

根據I/O跟蹤分析表明,I/O模式具有以下特征:

  • 小型I/O在應用程序中占主導地位,因此塊存儲的性能在很大程度上取決于小型讀/寫的性能,因此固態驅動器(SDD)比硬盤驅動器(HDD)更可取。但企業級固態硬盤的每比特價格約為HDD的5-10倍[4],而且固態硬盤的能源成本遠高于HDD了[42]。這使得大部分客戶將所有副本存儲在SSD上的成本過高。

  • 讀取和寫入都具有有限的局部性,表明使用SSD作為緩存層在加速應用程序的I/O方面是無效的,因為未命中率很高,而且SSD-HDD的性能差距很大。與RAMCloud[41]中的情況類似,考慮到高端SSD在延遲和IOPS方面都比HDD快三個數量級,即使1%的緩存未命中率也可能使平均I/O性能降低10倍。此外,使用緩存對改善尾延遲幾乎沒有幫助,這對于云存儲保證服務級別協議(SLA)非常重要[23]。額外的緩存層也使塊存儲容易出現一致性問題[51],例如由于緩存配置錯誤導致Facebook服務嚴重中斷[13]。

本文提出了分布式SSD-HDD混合存儲結構 Ursa,將主副本存儲在SSD上,將備份副本復制到HDD上,不使用SSD作為緩存層。

  • 通過自適應日志,將小型備份隨機寫入轉換為日志追加,然后異步重放并合并到備份HDD,從而彌補主SSD和備份HDD之間的性能差距。

  • 為了提高效率,大型順序寫入直接在備份HDD上執行(繞過日志)。

  • 日志附加(用于小型備份寫入)和副本復制(用于大型備份寫入)的組合使復制和恢復變得復雜。為此設計了高效的范圍優化合并樹(ROMT)來索引日志,支持快速日志查詢,將連續范圍的鍵組合為單個復合鍵{offset,length},用于(1)過時日志附加的快速無效;(2)故障恢復期間日志數據的快速讀取。

  • 在生產環境中,塊存儲必須為虛擬磁盤的I/O性能提供高可擴展性。因此擴展磁盤并行性優化,系統地利用了Ursa中的多級并行性,主要包括(1)磁盤上的并行I/O;(2)盤間分條、無序執行和無序完成;(3)在網絡流水線中,提高Ursa的IOPS和吞吐量。

  • 復雜的SSD-HDD混合結構使得難以保證強一致性[26]并提供高可用性。因此設計了Ursa的復制協議,以滿足遷移的應用程序的強一致性要求。還設計了功能豐富的控制器和高效的機制,用于在線組件升級和并行開發

實驗表明,Ursa在其混合模式下實現了與僅SSD模式(將所有副本存儲在SSD上)幾乎相同的性能,并且在僅SSD模式下也優于其他塊存儲(Ceph和Sheepdog),同時實現了更高的CPU效率(IOPS和每核吞吐量)。

總結

針對生產環境中的云服務,如何在不影響性能的情況下降低成本。本文提出了分布式SSD-HDD混合存儲結構Ursa,將主副本存儲在SSD上,將備份副本復制到HDD上,不使用SSD作為緩存層。包括以下技術:(1)通過自適應日志,將小型隨機寫入轉換為日志追加,異步合并到HDD,從而彌補SSD和HDD之間的性能差距。(2)為了提高效率,大型順序寫入直接在HDD上執行(繞過日志)。(3)設計了高效的范圍優化合并樹(ROMT)來索引日志,將連續范圍的鍵組合為單個復合鍵{offset,length},支持快速日志查詢。(4)對磁盤并行性優化,利用Ursa中的多級并行性,包括:磁盤上的并行I/O;盤間分條、無序執行和無序完成;在網絡流水線中,提高IOPS和吞吐量。(5)設計Ursa的復制協議,以滿足強一致性要求。還設計了功能豐富的控制器和高效的機制,用于在線組件升級和并行開發。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15969.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15969.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15969.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

香橙派AIpro(OrangePi AIPro)開發板初測評

開發板簡介 最近,我拿到手一款Orange Pi AI Pro 開發板,它是香橙派聯合華為精心打造的高性能AI 開發板,最早發布于2023年12月,其搭載了昇騰AI 處理器,可提供8TOPS INT8 的計算能力,內存提供了8GB 和16GB兩…

基于jeecgboot-vue3的Flowable新建流程定義(一)

因為這個項目license問題無法開源&#xff0c;更多技術支持與服務請加入我的知識星球。 1、vue3版本因為流程分類是動態的&#xff0c;不再固定了&#xff0c;所以新建的時候需要選擇建立哪種流程類型的流程 代碼如下&#xff1a; <!-- 選擇模型的流程類型對話框 -->&…

算法提高之一個簡單的整數問題2

算法提高之一個簡單的整數問題2 核心思想&#xff1a;線段樹 懶標記&#xff1a;add存每個子節點需要加的數pushdown&#xff1a;將懶標記向下存 同時清除本行懶標記 #include <iostream>#include <cstring>#include <algorithm>using namespace std;type…

數據結構(六)圖

2024年5月26日一稿(王道P220) 6.1 圖的基本概念 6.1.1 圖的定義 6.2 圖的存儲及基本操作 6.2.1鄰接矩陣法 6.2.2 鄰接表

python web自動化(分布式測試Grid)

Grid介紹 Selenium Grid 是 Selenium 提供的?個?具&#xff0c;?于?持在多臺計算機上并?運?測試。 它允許將測試分發到不同的機器和瀏覽器組合上&#xff0c;同時收集結果。 1.并?執?測試?例&#xff1a;在不同的機器上并?執?測試?例&#xff0c;從?加速整個測試過…

Vulhub——adminer

文章目錄 一、CVE-2021-21311&#xff08;SSRF&#xff09;二、CVE-2021-43008&#xff08;遠程文件讀取&#xff09; 一、CVE-2021-21311&#xff08;SSRF&#xff09; Adminer是一個PHP編寫的開源數據庫管理工具&#xff0c;支持MySQL、MariaDB、PostgreSQL、SQLite、MS SQL…

如何在WRF模型中更好地設置這些海洋物理參數以提高模擬精度?

在WRF&#xff08;Weather Research and Forecasting&#xff09;模型中正確設置海洠物理參數是提高模擬精度的關鍵&#xff0c;特別是當模擬涉及到海洋和大氣的相互作用時。以下是一些提高模擬精度的策略和建議&#xff1a; 1. 理解模擬的地區和目標 在進行參數設置之前&…

基于SpringBoot+Vue的人事管理系統

引言 目前,人事管理的系統大都是CS架構的大型系統,很少有面向機關,事業單位內部的基于BS架構的微型人事系統,因此.開發一個基于BS架構的人事信息管理系統是非常必要的.但是基于BS架構的人事系統對于安全是一個大的考驗點.在人事信息系統中,功能需簡單清晰,可操作性強,其次安全…

使用paddlepaddle框架構建ViT用于CIFAR10圖像分類

使用paddlepaddle框架構建ViT用于CIFAR10圖像分類 硬件環境&#xff1a;GPU (1 * NVIDIA T4) 運行時間&#xff1a;一個epoch大概一分鐘 import paddle import time import paddle.nn as nn import paddle.nn.functional as F import paddle.vision.transforms as transforms…

CCF-GESP 等級考試 2023年3月認證C++一級真題解析

2024年03月真題 一、單選題&#xff08;每題2分&#xff0c;共30分&#xff09; 第 1 題 以下不屬于計算機輸入設備的有&#xff08; &#xff09;。 A. 鍵盤B. 音箱C. 鼠標D. 傳感器 正確答案&#xff1a;B. 音箱 解析&#xff1a; A. 鍵盤&#xff1a;鍵盤是輸入設備。B. …

第六節:帶你全面理解vue3 淺層響應式API: shallowRef, shallowReactive, shallowReadonly

前言 前面兩章,給大家講解了vue3中ref, reactive,readonly創建響應式數據的API, 以及常用的計算屬性computed, 偵聽器watch,watchEffect的使用 其中reactive, ref, readonly創建的響應式數據都是深層響應. 而本章主要給大家講解以上三個API 對應的創建淺層響應式數據的 API,…

Java面試題:Executor框架在Java并發編程中扮演什么角色?如何使用它?

在Java并發編程中&#xff0c;Executor框架扮演著核心角色&#xff0c;它提供了一種高級的、線程安全的機制來異步執行任務。Executor框架的主要目的是將任務的提交與任務的執行分離&#xff0c;從而簡化了多線程編程的復雜性。 Executor框架的角色&#xff1a; 任務與線程分離…

持續總結中!2024年面試必問 20 道 Redis面試題(八)

上一篇地址&#xff1a;持續總結中&#xff01;2024年面試必問 20 道 Redis面試題&#xff08;七&#xff09;-CSDN博客 十五、使用過Redis做異步隊列么&#xff0c;你是怎么用的&#xff1f; Redis作為一個高性能的鍵值存儲系統&#xff0c;非常適合用來實現異步隊列。異步隊…

【STM32單片機】----實現LED燈閃爍實戰

&#x1f3a9; 歡迎來到技術探索的奇幻世界&#x1f468;?&#x1f4bb; &#x1f4dc; 個人主頁&#xff1a;一倫明悅-CSDN博客 ?&#x1f3fb; 作者簡介&#xff1a; C軟件開發、Python機器學習愛好者 &#x1f5e3;? 互動與支持&#xff1a;&#x1f4ac;評論 &…

【機器學習-23】關聯規則(Apriori)算法:介紹、應用與實現

在現代數據分析中&#xff0c;經常需要從大規模數據集中挖掘有用的信息。關聯規則挖掘是一種強大的技術&#xff0c;可以揭示數據中的隱藏關系和規律。本文將介紹如何使用Python進行關聯規則挖掘&#xff0c;以幫助您發現數據中的有趣模式。 一、引言 1. 簡要介紹關聯規則學習…

[處理器芯片]-5 超標量CPU實現之ALU

ALU&#xff08;Arithmetic Logic Unit&#xff0c;算術邏輯單元&#xff09;&#xff0c;是CPU執行單元中最主要的組成部分。 1 主要功能 算術運算&#xff1a;執行加法、減法、乘法和除法等算術運算。 邏輯運算&#xff1a;執行與、或、非、異或等邏輯運算。 移位運算&am…

動態路由實驗—OSPF

動態路由協議實驗-------OSPF 鏈路狀態路由選擇協議又被稱為最短路徑優先協議&#xff0c;它基SPF&#xff08;shortest path first &#xff09;算法 實驗要求&#xff1a;各個PC之間能夠互通 1.四臺PC配置如下 PC1 PC2 PC3 PC4 2.配置各個交換機的口子的IP R1 <HUAWE…

Room注解無效原因

在Android項目中&#xff0c;如果父模塊使用Kotlin&#xff0c;而子模塊用Java編寫&#xff0c;并且在子模塊中使用了Room庫&#xff0c;那么你會發現需要使用kapt而不是annotationProcessor來處理Room注解。這里有幾個原因和背景知識&#xff1a; 1. 項目配置的影響 父模塊的…

spiderfoot一鍵掃描IP信息(KALI工具系列九)

目錄 1、KALI LINUX簡介 2、spiderfoot工具簡介 3、在KALI中使用spiderfoot 3.1 目標主機IP&#xff08;win&#xff09; 3.2 KALI的IP 4、命令示例 4.1 web訪問 4.2 掃描并進行DNS解析 4.3 全面掃描 5、總結 1、KALI LINUX簡介 Kali Linux 是一個功能強大、多才多…

YOLOv8+PyQt:實時檢測(攝像頭、視頻)

1.YOLO&#xff1a;CPU實時檢測&#xff08;攝像頭、視頻&#xff09;https://blog.csdn.net/qq_45445740/article/details/106557451 2.YOLOv8PyQt&#xff0c;實現攝像頭或視頻的實時檢測 需要安裝 PySide6 和 ultralytics pip install PySide6 pip install ultralyticsfr…