Thesios: Synthesizing Accurate Counterfactual I/O Traces from I/O Samples——论文泛读

ASPLOS 2024 Paper 论文阅读笔记整理

问题

在设计大规模分布式存储系统时,I/O活动的建模至关重要。具有代表性的/O跟踪,可以对现有硬件、配置和策略进行详细的性能评估。假设跟踪进一步支持分析假设情况,例如部署新的存储硬件、更改配置和修改数据放置策略。如果没有代表性的跟踪,就很难准确地获得I/O请求到达时间和排队效果等信息。如何没有假设跟踪,分析方法是部署预期的更改并衡量其随时间的影响,这是昂贵、耗时和有风险的。

获得磁盘的代表性I/O跟踪的一种方法是无损地(以全分辨率)捕获它们。但收集和保存每个操作的痕迹不仅在存储和处理成本方面很昂贵,而且还会干扰前台工作负载。因此使用下采样的I/O跟踪是一种常规做法[15,59,76]。但I/O操作的子集不足以表征存储服务器或磁盘的完整行为,而且无法模拟假设更改的影响。如何用下采样的I/O跟踪,合成准确和全分辨率I/O跟踪和假设I/O跟踪存在挑战。

挑战

  • 分布式存储集群是异构的,包含不同型号、大小、填充度和利用率的磁盘。在不考虑这种异构性的情况下,任意组合I/O样本将创建不代表任何一个磁盘上的I/O的合成轨迹。

  • 确定要组合哪些I/O样本以及多少I/O样本,这取决于采样率、采样类型和突发期间的下降率。

本文方法

本文提出了Thesios,使用来自多个服务器的多个磁盘上的下采样I/O轨迹,准确地合成代表性和假设的全分辨率I/O轨迹。

合成代表性全分辨率I/O轨迹:

利用数据中心中现有的采样基础架构,该架构收集存储服务器接收的请求的I/O样本。包含:操作类型、文件名、I/O大小、到达服务器的时间、磁盘时间、延迟等信息。

开源数据:GitHub - google-research-datasets/thesios: This repository describes I/O traces of Google storage servers and disks synthesized by Thesios. Thesios synthesizes representative I/O traces by combining down-sampled I/O traces collected from multiple disks (HDDs) attached to multiple storage servers in Google distributed storage system.

  • 组合具有相似磁盘特征的磁盘的I/O样本,并在一段时间内跟踪特征。磁盘特性包括容量、热/冷数据比率、填充度。跟踪特征捕获这些磁盘上的I/O行为,如服务器的缓存命中率、读/写比率、读/写吞吐量。

  • 重新加权跟踪的数量以避免偏差和偏斜,并补偿由于突发而丢失的样本,生成服务器级别I/O跟踪。

  • 为了获得磁盘级别的到达时间和延迟,必须考虑排队延迟和特定于请求序列的基于优先级的重排序。因此,设计了一种方法来重新组织合成的跟踪,同时考虑请求的优先级和服务器上的排队。

将Thesios应用于谷歌定期采样的真实世界的跟踪表明,与从实际磁盘收集的指标相比,合成跟踪在读/写请求数方面实现了95–99.5%的准确率,在利用率方面实现了90–97%的准确率,在读延迟方面实现了80–99.8%的准确率,还可以捕获超过95%置信度的日波动和周波动。

合成假设全分辨率I/O轨迹:

假设I/O轨迹的性能,如延迟、能耗和缓存命中率,可以使用轻量级服务器模拟器进行评估,也可以使用成熟的服务器模拟器执行轨迹重放。服务器模拟器和服务器模拟器可以结合预期的策略或硬件变化。通过进行四个案例研究来说明Thesios的多功能性:

  • 评估磁盘利用率、填充度和容量的影响,为不同的容量、利用率和填充度的磁盘假设I/O跟踪。

  • 评估新的数据放置策略,使用不同的工作负载过滤标准进行数据分离实验,以形成热磁盘和冷磁盘。

  • 评估部署低转速(RPM)磁盘对能耗和延迟的影响。

  • 评估服务器缓冲区缓存大小对缓存命中率的影响。

总结

针对大型数据中心中,如何以部分采样的I/O轨迹合成准确的全分辨率I/O轨迹。本文提出Thesios,利用多个下采样I/O轨迹合成全分辨率I/O轨迹。合成代表性I/O轨迹:(1)利用现有的采样基础架构,收集下采样I/O轨迹。(2)组合具有相似磁盘特征的磁盘的I/O样本。利用I/O轨迹分析磁盘特征,如容量、热/冷数据比率、填充度。(3)重新加权I/O跟踪,以避免偏差和偏斜,并补偿由于突发而丢失的样本,生成服务器级别I/O跟踪。(4)为获得磁盘级别的到达时间和延迟,考虑排队延迟和特定于请求序列的基于优先级的重排序。合成假设的全分辨率I/O轨迹:使用轻量级服务器模拟器进行评估,或使用成熟的服务器模拟器执行轨迹重放。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22148.shtml

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

相关文章

QT解析JSON格式超简单

目录 还是从最基础开始、什么是JSON 一、只解析json 1..解析JSON的主要类 2.主函数 二、解析并利用结构体存储 1.定义结构体 2.从 JSON 解析并填充结构体 实战示例 还是从最基础开始、什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数…

2.4 OpenCV随手简记(五)

一、图像翻转 第一个图像翻转,这个可是制作表情包的利器。 图像翻转在 OpenCV 中调用函数 flip() 实现,原函数如下: flip(src, flipCode, dstNone) src:原始图像。 flipCode:翻转方向, 如果 flipCode 为…

【前端面试常见问题】防抖(Debounce)与节流(Throttle)

目录 一、概念阐释 1. 防抖(Debounce) 2. 节流(Throttle) 二、实现方法 防抖函数的实现 节流函数的实现 三、区别与选择 四、面试技巧 在前端开发领域,性能优化是一个永恒的话题,尤其是在处理高频率触发的事件时,如窗口的resize、scroll事…

[Redis]List类型

列表类型来存储多个有序的字符串,a、b、c、d、e 五个元素从左到右组成了一个有序的列表,列表中的每个字符串称为元素,一个列表最多可以存储个元素。在 Redis 中,可以对列表两端插入(push)和弹出&#xff08…

Element UI:高效的 Vue.js 组件库

Element UI:高效的 Vue.js 组件库 Element UI 是由饿了么前端团队开发的一个基于 Vue.js 的桌面端组件库。自从发布以来,Element UI 因其高质量的设计、丰富的功能和易于使用的特性,迅速成为 Vue.js 开发者中最受欢迎的 UI 框架之一。本文将…

【动手学深度学习】多层感知机之权重衰减研究详情

目录 🌊1. 研究目的 🌊2. 研究准备 🌊3. 研究内容 🌍3.1 多层感知机权重衰减 🌍3.2 基础练习 🌊4. 研究体会 🌊1. 研究目的 防止过拟合:权重衰减和暂退法都是用来控制模型的复…

五年制转本中比较难考的几个专业

五年制转本中比较难考的几个专业,你们知道吗?第一个就是医学类相关专业,医学界都流传着一句话,劝人学医,天打雷劈,想必大家都有所耳闻。并且大家在选专业的时候,都会有人告诉你,千万…

北大、腾讯强推!DynamiCrafter WebUI 在线教程,无需逐帧记录即可图片变视频

从史前时期开始,人类的祖先就曾以石为笔,在洞穴的石壁描绘出一系列野牛奔跑的分析图,壁画上的动物被叠加了多条腿,用来表现连贯的动作,这或许便是动态视频的最早雏形。 被焚之城的山羊陶碗 时光流转,最初&…

sqli-labs 靶场闯关基础准备、学习步骤、SQL注入类型,常用基本函数、获取数据库元数据

Sqli-labs的主要作用是帮助用户学习如何识别和利用不同类型的SQL注入漏洞,并了解如何修复和防范这些漏洞。 它提供了多个不同的漏洞场景,每个场景都代表了一个特定类型的SQL注入漏洞。 用户可以通过攻击这些场景来学习和实践漏洞利用技术,以及…

使用国内源加速pip安装包

文章目录 pip国内镜像源临时使用设为默认 pip国内镜像源 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 华中理工大学:http://pyp…

【Linux】多进程基础--信号

文章目录 信号常见信号信号定时函数 信号 发生事件时通过信号向进程进行通知,在软件层次上模拟中断,也叫软件中断,处理优先级较高对于前台进程可以通过特殊的字符发送信号,例如CtrlC即给当前进程发送一个SIGINT中断信号。kill命令…

【数据结构】二叉树-堆

目录 一.树概念及性质 二.二叉树的概念与实现 三.堆的概念和结构 四.堆的实现 1.向下调整算法 2. 堆的创建 3.向上调整算法 4.堆的删除 五.堆排序 六.堆-源码 一.树概念及性质 树是一种非线性的数据结构,它是由数个节点组成的具有层次关系的集合。之所以叫…

干货 | SDR RFSoC技术框图大放送(附资源)

软件无线电(SDR) 本文参考《Software Defined Radio with Zynq UltraScale RFSoc》,全文共744页。需要的可以给公众号 迪普微科技 发送“SDR”。

【力扣】矩阵中的最长递增路径

一、题目描述 二、解题思路 1、先求出以矩阵中的每个单元格为起点的最长递增路径 题目中说,对于每个单元格,你可以往上,下,左,右四个方向移动。那么以一个单元格为起点的最长递增路径就是:从该单元格往上…

基于曲率的关键点检测

曲率是描述点云中每个点局部几何形状的一种度量。高曲率的点通常位于边缘、角点等显著位置。因此,通过检测曲率较高的点,我们可以找到点云中的关键点。 函数实现 下面是一个用于基于曲率检测关键点的函数实现 计算平均曲率 //计算平均曲率 float com_avg_curvature(pcl::P…

SpringBoot项目启动后访问网页显示“Please sign in“

SpringBoot启动类代码如下 SpringBoot项目启动后访问网页显示"Please sign in",如图 这是一个安全拦截页面,即SpringSecurity认证授权页面,因为SecurityAutoConfiguration是Spring Boot提供的安全自动配置类,也就是说它…

城规跨考地信:你需要知道的几件事

24考研结束,25地信考研的小伙伴也开始准备。 在这期间发现一个现象,城规跨考GIS的讨论度非常高。 对这一点,我并不感到意外,因为随着地产行业的节节败退,很多单位不需要那么多规划人和建筑人,乃至土木人。…

SpringCloud 微服务中网关如何记录请求响应日志?

在基于SpringCloud开发的微服务中,我们一般会选择在网关层记录请求和响应日志,并将其收集到ELK中用作查询和分析。 今天我们就来看看如何实现此功能。 日志实体类 首先我们在网关中定义一个日志实体,用于组装日志对象 Data public class …

使用Java apache commons包五分钟搞定NCR解析(内附源码)

在网上看到很多关于解析NCR(Numeric Character Reference)字符串的java实现,核心都是通过自定义正则表达式来解析,其实org.apache.commons 已经为我们提供了jar包 解决该问题,非常的方便!在这里我就来简单分享一下具体实现方法&am…

这就是英伟达 CEO 黄仁勋所说的人工智能“下一波浪潮”|TodayAI

在台湾一年一度的科技展 COMPUTEX 开幕前的周日,英伟达(Nvidia)首席执行官黄仁勋(Jensen Huang)表示,机器人和“理解物理定律的 AI”将成为下一波技术浪潮。他指出,英伟达目前正在推动生成式人工…