Hybrid Block Storage for Efficient Cloud Volume Service——论文泛读

news2024/10/6 6:48:23

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.coloradmin.cn/o/1698199.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MybatisPlus静态工具Db

前言:在开发的时候,有时Service之间也会相互调用,会出现循环依赖问题,MybatisPlus提供一个静态工具类:Db,其中的一些静态方法与IService中方法签名基本一致,也可以帮助我们实现CRUD功能。 一、Db工具类中常…

games 101 作业4

games 101 作业4 题目题解作业答案 题目 Bzier 曲线是一种用于计算机图形学的参数曲线。在本次作业中,你需要实 现 de Casteljau 算法来绘制由 4 个控制点表示的 Bzier 曲线 (当你正确实现该 算法时,你可以支持绘制由更多点来控制的 Bzier 曲线)。 你需…

vulnhub靶机De-ICE_S2.100_(de-ice.net-2.100-1.0)

下载地址:https://download.vulnhub.com/deice/De-ICE_S2.100_%28de-ice.net-2.100-1.0%29.iso 靶机搭建 注意下载下来的是iso文件接下来说明系统选择 linux的Debian 7.x就可以 然后注意一点我们需要创建一个192.168.2.0/24的网卡进行连接(靶机ip地址…

ISCC2024个人挑战赛WP-DLLCode

&#xff08;非官方解&#xff0c;以下内容均互联网收集的信息和个人思路&#xff0c;仅供学习参考&#xff09; 注意到程序调用了Encode函数对明文进行加密&#xff0c;点进去发现是对外部DLL的调用 静态分析DLL中的Encode函数可以得到 写出对应的解密脚本如下 #include <…

SQL常用基础语句(一)-- ABCDE开头

AS 将列名从 count(*) 修改为 total select count(*) as total from users where status0 将列名 username 改为 uname&#xff0c; password 改为 upwd select username as uname, password as upwd from users BETWEEN AND 说明&#xff1a;BETWEEN 筛选的是 >value1且 &l…

澳大利亚.德国-门户媒体投放通稿:需要注意什么地方

概述 在现代社会&#xff0c;新闻媒体的投放成为企业和组织宣传推广的重要手段之一。澳大利亚和德国作为全球重要的经济和科技中心&#xff0c;其新闻媒体也备受关注。本文将介绍澳大利亚和德国的一些主要新闻媒体&#xff0c;并讨论发表新闻稿时需要注意的地方。 澳大利亚媒…

驱动开发之字符设备开发

1.概念 字符设备是 Linux 驱动中最基本的一类设备驱动&#xff0c;字符设备就是一个一个字节&#xff0c;按照字节 流进行读写操作的设备&#xff0c;读写数据是分先后顺序的。比如我们最常见的点灯、按键、IIC、SPI&#xff0c; LCD 等等都是字符设备&#xff0c;这些设备的驱…

OFDM通信中的部分内容

纠错编码&#xff1a;在无线通信过程中由于传输过程存在噪声等各种非理想因素&#xff0c;在接收端接收到的信息往往相对于发射信息存在误码&#xff0c;通过纠错编码方式可以对少数非连续的误码进行判断和纠正。举个简单的例子&#xff0c;发射端可能发射的信息为00,01,10,11,…

功率电感设计方法2:实例

文章目录 1&#xff1a;美磁的选项手册截图2&#xff1a;设计步骤2.1&#xff1a;设计需求2.2:选择磁芯材料2.3&#xff1a;选择磁芯2.4 查询 A L A_{L} AL​自感系数2.5 初算匝数2.6重新校准验算感量 3&#xff1a;后续 绕线因子4&#xff1a;日常壁纸分享 参考手册链接 1&…

HTML+CSS+JS(web前端大作业)~致敬鸟山明简略版

HTMLCSSJS【动漫网站】网页设计期末课程大作业 web前端开发技术 web课程设计 文章目录 一、网站题目 二、网站描述 三、网站介绍 四、网站效果 五、 网站代码 文章目录 一、 网站题目 动漫网站-鸟山明-龙珠超 二、 网站描述 页面分为页头、菜单导航栏&#xff08;最好可下拉&…

Denoising Diffusion Probabilistic Models 全过程概述 + 论文总结

标题&#xff1a;Denoising&#xff08;&#x1f31f;去噪&#xff09;Diffusion Probabilistic Models&#xff08;扩散概率模型&#xff09; 论文&#xff08;NeurIPS会议 CCF A 类&#xff09;&#xff1a;Denoising Diffusion Probabilistic Models 源码&#xff1a;hojona…

大数据智慧消防解决方案(24页PPT)

方案介绍&#xff1a; 大数据智慧消防解决方案是提升消防安全管理水平、保障人民群众生命财产安全的重要手段。通过集成物联网、云计算、大数据、人工智能等先进技术&#xff0c;构建集监测、预警、指挥、救援于一体的智慧消防系统&#xff0c;将为消防安全事业注入新的活力。…

ubuntu20.04安装cmake3.22.1

背景 由于第一套上位机windows clion22 嵌入式ubuntu20.04的开发环境中&#xff0c;ubuntu20.04上安装的是cmake3.22.1, 为了保持一致&#xff0c;需要指定安装的cmake版本。 下载指定版本的cmake 进入cmake官网的download页面&#xff0c;https://cmake.org/download/&…

加拿大媒体广告投放:媒体宣发主流媒体《金融邮报》《埃德蒙顿日报》

介绍《埃德蒙顿日报》与《埃德蒙顿太阳报》 在加拿大阿尔伯塔省首府埃德蒙顿&#xff0c;有两份主流新闻类报纸。其中&#xff0c;《埃德蒙顿日报》是加拿大主要英文报纸之一&#xff0c;也被称为爱蒙顿新闻报。而另一份报纸则是《埃德蒙顿太阳报》&#xff0c;是加拿大阿尔伯…

【Qt】深入探索Qt窗口与对话框:从创建到管理:QDockWidget(浮动窗口)、QDialog(对话框)

文章目录 前言&#xff1a;1. 浮动窗口2. 对话框介绍2.1. 示例&#xff1a;主窗口中&#xff0c;通过点击按钮&#xff0c;弹出一个新的对话框。2.2. 创建自定义对话框2.2.1. 纯代码的方式2.2.2. 图形化界面的方式 3. 模态对话框 和 非模态对话框4. Qt 内置对话框4.1. 消息对话…

【vue-cli搭建vue项目的过程2.x】

vue-cli搭建vue项目 vue-cli搭建vue项目安装node安装vue-cli脚手架并创建项目安装 Ant Design Vue或element-ui(笔者使用Ant-design-vue组件&#xff0c;并全局引入)开发安装三方库包1、Package.json文件---引入如下package.json文件执行npm i或npm install命令即可下载如下依赖…

Dou音滑块日志分析

记得加入我们的学习群&#xff1a;961566389 点击链接加入群聊&#xff1a;[https://h5.qun.qq.com/s/62P0xwrCNO](https://h5.qun.qq.com/s/62P0xwrCNO) 1.插桩-打印日志 获取背景和滑块的图片的接口一看没啥参数需要逆向的 验证的接口body参数需要进行逆向&#xff0c;直接…

Qt 界面上控件自适应窗体大小 - 随窗体缩放

Qt 界面上控件自适应窗体大小 - 随窗体缩放 引言一、在Qt Designer上设置二、参数详解三、参考链接 引言 添加布局&#xff0c;设置控件的minimumSize、maximumSize和sizePolicy可以使其跟随窗体进行自适应缩放 - 如上图所示。 一、在Qt Designer上设置 在代码中设置效果一致…

Slash后台管理系统代码阅读笔记 如何实现环形统计图表卡片?

目前&#xff0c;工作台界面的上半部分已经基本梳理完毕了。 接下来&#xff0c;我们看看这个环形图卡片是怎么实现的&#xff1f; 具体代码如下&#xff1a; {/*图表卡片*/} <Row gutter{[16, 16]} className"mt-4" justify"center">{/*环形图表…

Android BACK键和HOME键应用差异详解

文章目录 1、应用层分析1.1 BACK键功能实现 1.2 HOME键功能实现 1.3 BACK键与HOME键的区别 2、系统层分析2.1 BACK键的处理2.2 HOME键的处理2.3 代码分析BACK键HOME键BACK键的系统代码分析HOME键的系统代码分析BACK键HOME键 3、优缺点分析3.1 BACK键3.2 HOME键 4、项目中的使用…