Octopus+: An RDMA-Enabled Distributed Persistent Memory File System——泛读笔记

TOS 2021 Paper 分布式元数据论文阅读笔记整理

问题

非易失性存储器(NVM)和远程直接存储器访问(RDMA)在存储和网络硬件中提供了极高的性能。然而,现有的分布式文件系统隔离了文件系统和网络层,而且分层的软件设计使得高速硬件没有得到充分利用。

现有方法局限性

现有分布式文件系统(DFS)主要是通过支持RDMA的库取代通信模块。

  • CephFS通过使用基于RDMA的异步RPC中间件Accelio[1]来支持RDMA。

  • GlusterFS实现了自己的用于数据通信的RDMA库[16]。

  • NVFS[21]是针对NVM和RDMA进行优化的HDFS变体。

  • BM最近推出的DFS Crail[7]构建在RDMA优化的RPC库DaRPC[51]上。

这些文件系统严格隔离文件系统和网络层,只更换其数据管理和通信模块,而不重构内部文件系统机制。导致GlusterFS的软件延迟在NVM和RDMA上占近100%,而在磁盘上仅占2%。同时它只实现了24%的原始NVM带宽和11%的原始InfiniBand带宽,而原始磁盘带宽和GigaE带宽分别为76%和74%。总之,文件系统和网络层之间的严格隔离使DFS过于沉重,无法利用新兴高速硬件的优势。

本文方法

本文提出了支持RDMA的分布式持久存储器文件系统Octopus+,通过紧耦合非易失性存储器和RDMA特性来重新设计文件系统的内部机制。

  • 对于数据操作,直接访问共享的持久内存池,以减少内存复制开销。并主动提取和推送客户端中的所有数据,以重新平衡服务器和网络之间的负载。

  • 对于元数据操作,引入了自识别的远程过程调用,该RPC将发送方的标识符与用于低延迟通知的RDMA写入原语一起携带,可在文件系统和网络之间立即发出通知。通过结合RDMA写入和原子原语,实现高效的分布式事务机制,以实现一致性。

  • 启用复制功能,以提供更好的可用性。元数据和数据通过不同的协议复制到多个物理服务器,针对小型元数据的基于操作日志的复制方法,针对文件数据的客户端主动复制机制。

在服务器端,所有目录都保存在指定的目录元数据服务器(DMS)中,文件以基于哈希的方式(表示为数据服务器)分发到所有常规服务器[34]。整个NVM区域可以分别简单地划分为数据区域和元数据区域。数据区域被导出并在整个集群之间共享,用于远程直接数据访问,而元数据区域出于一致性原因保持私有。

对Intel Optane DC持久内存模块的评估表明,Octopus+实现了几乎与大I/O相同的原始带宽,并且性能比现有的分布式文件系统好几个数量级。

实验

实验环境:每台服务器配备192 GB DRAM,两个2.60-GHz Intel Xeon Gold 6240M处理器(每个处理器36核),六个256-GB Intel Optane DCPMM(每个NUMA节点上有三个模块),运行Ubuntu18.04和Linux内核4.15。为避免跨NUMA对性能影响,只在一个NUMA节点上实验(即,每个服务器上只有768-GB NVM)。每个客户端服务器都有128 GB的DRAM,两个Intel Xeon E5-2650 v4处理器,运行带有Linux内核3.10的CentOS-7。所有服务器和客户端都配备了MCX555A-ECAT ConnectX5 EDR HCA(支持100 Gbps over InfiniBand和100 GigE),并与Mellanox MSB7790-ES2F交换机连接。

NVM设备具有不对称的读/写带宽[22]:写入带宽为6.7 GB/s,读取带宽为20 GB/s。NIC具有对称的读/写性能:读取和写入均为12 GB/s。因此,评估环境存在带宽不匹配:对于写入,NVM是瓶颈,而对于读取,网络则成为瓶颈。

数据集:mdtest,fio,filebench:Varmail, Fileserver, Webproxy, Webserver

实验对比:延迟,带宽,吞吐量

实验参数:服务器数量,客户端数量,不同元数据操作,读写操作,I/O大小,线程数

总结

针对使用NVM和RDMA的分布式文件系统,现有方法将文件系统和硬件隔离,难以充分发挥性能。本文提出Octopus+,通过紧耦合非易失性存储器和RDMA特性来重新设计文件系统的内部机制。(1)数据操作,直接访问共享的持久内存池,以减少内存复制开销。并主动提取和推送客户端中的所有数据,以重新平衡服务器和网络的负载。(2)元数据操作,引入了自识别的远程过程调用,可在文件系统和网络之间立即发出通知。结合RDMA写入和原子原语,实现高效的分布式事务机制,以实现一致性。(3)启用复制功能,基于操作日志复制小型元数据,采用客户端主动复制文件数据,以提供更好的可用性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】C++11右值引用

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.什么是左值&&…

使用名称空间共享集群

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。 📘相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看 📙Jav…

【五十一】【算法分析与设计】KMP 算法,KMP 算法的作用,KMP 算法流程,KMP 算法证明,KMP 算法代码

目录 KMP 算法的作用,解决的问题 KMP 算法的流程 Next 数组 KMP 算法正式过程 KMP 算法的证明过程 Next 数组的求法 Next 数组求法的证明过程 KMP 算法代码 结尾 KMP 算法的作用,解决的问题 1. 首先给你一个字符串 str,然后又给你…

mPEG-Succinimidyl Carboxyl Methyl ester,135649-01-3可以制备出多种生物成像试剂

【试剂详情】 英文名称 mPEG-SCM,Methoxy PEG SCM, mPEG-Succinimidyl Carboxyl Methyl ester 中文名称 聚乙二醇单甲醚琥珀酰亚胺乙酸酯, 甲氧基-聚乙二醇-琥珀酰亚胺乙酸酯 CAS号 135649-01-3 外观性状 由分子量决定,液体…

交流电220V转9V直流电芯片WT5105

交流电220V转9V直流电芯片WT5105 WT5105设计一个电路。电路的输入端连接到220V交流电,通过一个整流桥进行整流,将交流电转换为脉冲直流电。然后,经过电容滤波后,得到较为平滑的直流电。这个直流电进入WT5105的输入端。 在WT5105的…

揭秘1688选品高阶玩法,90%的人都没注意到(下篇)

店雷达继续为各位商家揭秘1688选品7大高阶玩法,错过前4个选品场景思路干货的商友们可以点击上篇查看哦。希望帮助各位找到符合自己选品方向,提供一些新的思路帮助。☛《揭秘1688选品高阶玩法,90%的人都没注意到(上篇)》…

2W 6KVDC 隔离双输出 DC/DC 电源模块——TPJ-2W 系列,可以用于医疗仪器和设备中

TPJ-2W一款有超高隔离电压的电源模块,主要用于隔离度要求高的如医疗仪器和设备,特别在安全设备的应用中起着相当重要的作用,它的绝缘设计完全能满足对隔离电压要求超过6KVDC的应用,在额定负载2W的情况下,工作温度范围为…

鸿蒙原生应用元服务-访问控制(权限)开发场景与权限声明

一、场景介绍 应用的APL(Ability Privilege Level)等级分为normal、system_basic和system_core三个等级,默认情况下,应用的APL等级都为normal等级。权限类型分为system_grant和user_grant两种类型。 二、配置文件权限声明 应用需要…

基于springboot+vue花店商场管理系统

项目介绍: 基于springbootvue花店商场管理系统 开发系统:Windows 架构模式:MVC/前后端分离 JDK版本:Java JDK1.8 开发工具:IDEA 数据库版本: mysql8.0 数据库可视化工具: navicat 服务器&#…

腾讯EdgeOne产品测评体验—更快更强更安全,安全我选EdgeOne

腾讯EdgeOne产品测评体验—更快更强更安全,安全我选EdgeOne 王婆的瓜可甜? 自 23 年 8 月份 EdgeOne 开放订阅套餐后,腾讯云用户使用 EdgeOne 来为自己网站进行加速和防护的站点数量,呈现爆发式增长趋势。 金融服务业受到的 Web…

固体矿产资源储量分类GBT17766-2020

1999分类标准采用三轴体系划分资源量与处理,表达复杂、经济意义划分过细、实用性不强 虽然不再采用”三轴“表达方式,但依然考虑地质可靠程度、经济意义、可行性评价 矿产资源勘查:通常依靠地球科学知识,运用地质填图&#xff0…

分享4款免费ai绘画工具!

随着人工智能技术的飞速发展,AI绘画工具已经逐渐走入了我们的日常生活。这些工具不仅能够简化绘画过程,更能让普通人体验到艺术创作的乐趣。今天,我们就来盘点一下那些值得一试的免费AI绘画工具,看看它们如何让我们的创作欲望得到…

ABAP - LRAW类型转换为Xstring再转换为String

比如我想取出表SWWCNTP0里的DATA字段里的值: 那么可以用已有的含有LRAW字段的结构去放要取的数据:比如下面代码里的lt_data就是type table of 这个结构 取出来的数据,放到一个只含有LRAW的表里去(lt_xml) 取数的时候&a…

3D模型格式转换工具HOOPS Exchange:3D CAD数据的快速导入与导出

在当今的工程设计领域中,快速且可靠地处理3D CAD数据是至关重要的。HOOPS Exchange SDK通过提供一组C软件库,为开发团队提供了实现这一目标的有效工具。 什么是HOOPS Exchange? HOOPS Exchange是一组C软件库,旨在为开发团队提供…

【复习笔记】reeRTOS(七) 二值信号量和计数信号量

本文是FreeRTOS复习笔记的第七节,信号量。 上一篇文章: 【复习笔记】FreeRTOS(六) 队列操作 文章目录 一、信号量分类二、二值信号量2.1.实验设计2.2.测试例程2.3.实验效果 三、计数信号量3.1.实验设计3.2.测试例程3.3.实验效果 一、信号量分类 信号量是…

盲盒新风潮:从玩具到文化符号的转变

亲爱的朋友们,我是微三云的周丽,一名专注于私域电商模式创新的探索者。 随着互联网和电子商务的迅猛发展,商业模式不断创新,盲盒电商作为其中的一种新兴形式,正逐渐引起人们的关注。盲盒电商不仅仅局限于传统的日用品…

【电控实现5.1】

标幺系统 vb:峰值

【Node.js】 fs模块全解析

🔥【Node.js】 fs模块全解析 📢 引言 在Node.js开发中,fs模块犹如一把万能钥匙,解锁着整个文件系统的操作。从读取文件、写入文件、检查状态到目录管理,无所不能。接下来,我们将逐一揭开fs模块中最常用的那…

【C++】string的使用

目录 1、为什么学习string类? 2、标准库中的string类 2.1 string类 2.2 string类的常见接口声明 2.2.1 string类的常见构造 ​编辑 2.2.2 string类对象的访问及遍历操作 2.2.3 string类对象的容量操作 2.2.4 string类对象的修改操作 ​编辑 1、为什么学习s…

CERLAB无人机自主框架: 2-动态目标检测与跟踪

前言:更多更新文章详见我的个人博客主页【MGodmonkeyの世界】 描述:欢迎来到CERLAB无人机自主框架,这是一个用于自主无人飞行器 (UAV) 的多功能模块化框架。该框架包括不同的组件 (模拟器,感知,映射,规划和…