BypassD: Enabling fast userspace access to shared SSDs——论文泛读

news2024/11/15 18:02:38

ASPLOS 2024 Paper 论文阅读笔记整理

问题

现代存储设备,如Optane NVMe SSD,提供几微秒的超低延迟和每秒数千GB的高带宽,导致内核软件I/O堆栈是开销的主要来源。例如,Optane SSD可以在4𝜇s内返回4KB块,而通过标准Linux内核读取块几乎需要8𝜇s。

现有方法局限性

减少软件开销的方法主要分为两类:

  • 对内核存储堆栈的优化:优化I/O调度[10,26,66],重叠异步操作[37],使用轮询代替中断[10,64]。但仍需要上下文切换才能进入和离开内核,而安全缓解措施使这些切换的成本更高[25,57]。

  • 用户空间文件/存储访问:SPDK和其他[34,49,65]通过从用户空间直接访问SSD来减少延迟。但给开发带来了负担,需要更换内核块层和文件系统,并管理原子性和崩溃一致性。其次,在应用程序/用户之间安全地共享设备是一项挑战:设备不知道文件布局或权限,用户空间代码可以访问设备上的所有块。

本文工作

本文提出了一种新的I/O体系结构BypassD,用于快速、用户空间访问共享存储设备。

  • 在应用程序地址空间中构建页表,将虚拟地址映射到文件数据位置。用户空间I/O请求使用虚拟地址访问设备,并依靠硬件进行翻译和保护。

  • 扩展IOMMU硬件,SSD使用IOMMU来检查访问并检索这些映射,使现有应用程序不需要修改即可使用BypassD。

  • 文件访问遵循两条路径:如打开和附加之类的元数据操作由内核文件系统处理。文件读取和写入直接从用户空间库发送到设备。在文件打开期间,内核将文件内容映射到应用程序地址空间,通过虚拟地址读/写文件数据。整个机制对应用程序是透明的。

评估表明,与标准Linux内核相比,BypassD将4KB访问的延迟减少了42%,并且执行的技术接近用户空间,如不支持设备共享的SPDK。通过消除软件开销,BypassD将实际工作负载(如WiredTiger存储引擎)的性能提高了约20%。

总结

针对现代存储设备下,访问存储设备时软件开销过高的问题。本文提出了新的I/O体系结构BypassD,用于快速、用户空间访问共享存储设备。(1)在应用程序地址空间中构建页表,将虚拟地址映射到文件数据位置。用户空间I/O请求使用虚拟地址访问设备,并依靠硬件进行翻译和保护。(2)扩展IOMMU硬件,SSD使用IOMMU来检查访问并检索这些映射,使现有应用程序不需要修改即可使用BypassD。

文件访问遵循两条路径:如打开和附加之类的元数据操作由内核文件系统处理。文件读取和写入直接从用户空间发送到设备。在文件打开期间,内核将文件内容映射到应用程序地址空间,通过虚拟地址读/写文件数据。整个机制对应用程序是透明的。

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

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

相关文章

金融风控模型论文定制服务_研究生博士生毕业论文_小论文_中文核心_CCF_EI会议_AI_人工智能_机器学习

金融风控论文定制服务范围 论文复现案例包括但不限于: 1.个人信贷风控模型 1.1.German Credit德国信用数据集风控模型 1.2.Give me some credit风控模型 1.3.lending club风控信贷模型(美国最大P2P平台,目前已转线上银行) 1…

针对AlGaN/GaN高电子迁移率晶体管的显式表面电势计算和紧凑电流模型

来源:An Explicit Surface Potential Calculation and Compact Current Model for AlGaN/GaN HEMTs(EDL 15年) 摘要 在本文中,我们提出了一种新的紧凑模型,用于基于费米能级和表面电位的显式解来描述AlGaN/GaN高电子迁移率晶体管。该模型计算…

Matlab2010安装注册+激活(保姆级教程)

目录 一、软件安装 二、软件激活 三、软件测试 Matlab2010压缩包: 链接:https://pan.baidu.com/s/1bX4weZ0nC-4zlDLUiSKcRQ?pwdxljj 提取码:xljj 一、软件安装 1.解压所给压缩包,目录双击setup.exe打开. (如果用户名为中文则会遇到这个…

使用Flutter开发APP的问题

在使用Flutter进行APP开发时,尽管Flutter提供了许多优势和便利,但也存在一些常见问题和挑战。以下是开发过程中可能遇到的问题以及应对方法,通过充分理解和应对这些问题,可以更好地利用Flutter的优势,开发出高质量的跨…

儿童护眼灯买什么牌子质量好又实惠?儿童品牌台灯质量前十的款式

儿童护眼灯买什么牌子质量好又实惠?在当今时代,电子设备在我们的日常生活中扮演着越来越重要的角色。然而,长时间使用这些设备可能会增加眼睛疲劳和近视的风险。为了解决这一问题,护眼台灯应运而生,并逐渐成为许多家庭…

人工智能_机器学习096_PCA主成分分析降维算法_PCA降维原理_介绍和使用_模式识别_EVD特征值分解_SVD奇异值分解---人工智能工作笔记0221

首先我来看PCA降维,可以看到在图像处理中经常用到PCA,经过对数据进行降维可以去除数据噪声,发现数据中的模式,也就是 发现数据的规律. 这里的模式识别就是 机器学习中的一个分支 就是在数据中找规律的意思 我们使用代码看一下 from sklearn.docomposition import PCA from skl…

通配符SSL证书:保障多子域名安全的明智之选

在数字化时代,网络安全日益成为企业和个人关注的焦点。SSL证书作为保障网络安全的重要手段之一,其种类和功能也日趋多样化。其中,通配符证书(也称为泛域名SSL证书)以其独特的功能和广泛的应用场景,成为网络…

vue2 bug求助!!!(未解决,大概是浏览器缓存的问题或者是路由的问题)

我的vue2项目出现了一个超级恶心的bug 过程: 1 操作流程:页面a点击a标签->到页面b->页面b用户退出刷新页面->点击浏览器的返回按钮返回上一页 2 结果:返回页面后页面没有刷新导致用户名还显示着,页面没有发生任何变化&a…

EV24CXXA EEPROM 选型

如何选择一个靠谱的EEPROM? EV24C128A EV24C256A EV24C512A 是用得最多的

k8s集群的存储卷、pvc和pv

目录 简介 简介 PV 全称叫做 Persistent Volume,持久化存储卷。它是用来描述或者说用来定义一个存储卷的,这个通常都是由运维工程师来定义。 PVC 的全称是 Persistent Volume Claim,是持久化存储的请求。它是用来描述希望使用什么样的或者说…

吴恩达2022机器学习专项课程C2W3:2.24 机器学习实践建议(决定下一步做什么模型评估模型选择交叉验证)

目录 引言一、绘图评估模型的局限性二、使用测试集评估模型1.线性回归2.逻辑回归3.测试误差与泛化误差 三、测试集评估模型存在的问题1.评估模型流程2.流程存在的问题 四、解决问题1.训练集分割成三段2.计算交叉验证集的误差 五、重新评估模型1.线性回归模型2.神经网络模型3.评…

Java多线程核心工具类

1.Thread类:代表一个线程。你可以通过继承Thread类或实现Runnable接口来创建线程。 2.Executor框架:java.util.concurrent.Executors和java.util.concurrent.Executor接口提供了一种创建和管理线程池的方法,可以减少在创建和销毁线程上的开销…

[移动通讯]【无线感知-P2】[特征,算法,数据集】

前言: 这里面主要参考清华大学的杨峥教授,做一下无线感知的总结. 基本思想: 无线信号不仅可以传输数据,还可以感知环境信号发射机产生的无线电波 经由直射,反射,散射等多条路径传播,在信号接收机形成的多径叠加信号 携带反映环境特征…

分布式事务Seata中XA和AT模式介绍

Seata中XA和AT模式介绍 分布式事务介绍分布式解决方案解决分布式事务的思路Seata的架构Seata中的XA模式Seata的XA模型流程XA模式优缺点实现XA模式 Seata中的AT模式Seata中的AT模式流程实现AT模式AT模式优缺点 AT模式与XA模式的区别 分布式事务介绍 分布式事务,就是…

基于LEAP模型在能源环境发展、碳排放建模预测及分析中实践应用

LEAP(Long Range Energy Alternatives Planning System/ Low emission analysis platform,长期能源可替代规划模型)是一种自下而上的能源-环境核算工具,该模型与情景分析法紧密结合,可用于预测不同发展条件下中长期能源…

discuz如何添加主导航

大家好,今天教大家怎么样给discuz添加主导航。方法其实很简单,大家跟着我操作既可。一个网站的导航栏是非常重要的,一般用户进入网站的第一印象就是看网站的导航栏。如果大家想看效果的话可以搜索下网创有方,或者直接点击查看效果…

【TB作品】msp430f5529单片机墨水屏,口袋板,显示温度和万年历,tmp421温度,RTC时间

文章目录 一、部分程序二、展示三、全部代码下载 一、部分程序 int main(void) {WDTCTL WDTPW | WDTHOLD; //关闭看门狗init(); //屏幕初始化InitIIC(); //I2C初始化TMP_Init(); //tmp421初始化SetupRTC();_EINT();while (1){} }#pragma vectorRT…

聊 · Flutter

曾经的团队是国内最早投入Flutter框架怀抱的团队,后来又有机会负责起了Flutter相关项目,翻回以前写的文章,感慨良多,这是其中的一篇关于这些内容的闲聊。 | 导语Flutter相关的技术资源官网和网友都有过系统且细致的整理&#xff0…

AI率过高?掌握这些技巧轻松应对论文AIGC检测

告诉大家一个非常残忍的答案,以后所有论文都会被查ai率的。 学术界不仅关注传统的抄袭问题,还增加了一项名为“AIGC检测”的指标。例如知网、维普等平台都能检测论文AI率。 用GPT写论文虽然重复率基本不用担心,但是AI率基本都较高&#xff…

关于科技的总结与思考

文章目录 互联网时代有趣的数字数据驱动大数据的两个特性数据保护互联网免费模式的再探讨平台互联网的意义人工智能伦理的思考语言理性人梅特卡夫定律冲浪的神奇之处AR的恐怖之处叙词表、受控词表和大众分类法六度/十九度的解读知识图谱是真正的仿生智能幂次法则和优先连接现代…