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,一经查实,立即删除!

相关文章

2.4 OpenCV随手简记(五)

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

[Redis]List类型

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

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

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

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

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

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

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

【数据结构】二叉树-堆

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

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

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

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

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

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”将成为下一波技术浪潮。他指出,英伟达目前正在推动生成式人工…

MyBatis核心对象

MyBatis核心类对象主要有俩个: 1:对相关配置文件信息进行封装的Configuration对象 2:用来执行数据库操作的Executor对象。 核心对象----存储类对象Configuration Configuration对象主要有三个作用: 1:封装MyBatis…

Pulsar 社区周报 | No.2024-05-30 | BIGO 百页小册《Apache Pulsar 调优指南》

“ 各位热爱 Pulsar 的小伙伴们,Pulsar 社区周报更新啦!这里将记录 Pulsar 社区每周的重要更新,每周发布。 ” BIGO 百页小册《Apache Pulsar 调优指南》 Hi,Apache Pulsar 社区的小伙伴们,社区 2024 上半年度的有奖问…

AIGC和ChatGPT有什么区别?

AIGC和ChatGPT有什么区别? 首先先解释一下它们各自的概念 什么是AIGC AIGC,全称为Artificial Intelligence Generated Content,中文译为人工智能生成内容。这是一种利用人工智能技术自动生成内容的生产方式。例如,它可以创作出各种形式的内…

基于PHP+MySQL组合开发的同城便民小程序源码系统 房产出租+求职招聘+相亲交友 带完整的安装代码包以及搭建教程

系统概述 在当今信息化高速发展的时代,同城便民小程序已成为城市居民日常生活中不可或缺的一部分。为了满足广大用户的需求,小编给大家分享一款基于PHPMySQL组合开发的同城便民小程序源码系统。该系统集房产出租、求职招聘、相亲交友等多功能于一体&…

微信小程序使用echarts

思路 五个tab公用一个柱状图组件切换tab以及切换时间改变数据,传入子组件,子组件监听数据重新更新点击柱状图显示具体数值每个时间点有两个柱子(高压和低压),柱状图显示高压的最大值到最小值的范围除了血压其余只有一…

Python采集数据处理:利用Pandas进行组排序和筛选

概述 在现代数据处理和分析中,网络爬虫技术变得越来越重要。通过网络爬虫,我们可以自动化地从网页上收集大量的数据。然而,如何高效地处理和筛选这些数据是一个关键问题。本文将介绍如何使用Python的Pandas库对采集到的数据进行组排序和筛选…

基于SpringBoot+Vue研究生志愿填报辅助系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还…