存储大师班 | 浅谈 RDMA 与无损网络
魏国武 QingStor 资深研发工程师
近 10 年企业级软件开发经验,专注于大规模分布式存储研发,擅长集群性能调优、高可用研究及容灾。
为什么需要 RDMA
当今是云计算、大数据的时代,企业业务持续增长需要存储系统的 IO 性能也持续增长。传统的 TCP/IP 技术在数据包处理过程中,要经过操作系统及其他软件层,数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制,给服务器的 CPU 和内存造成了沉重负担。尤其是网络带宽、处理器速度与内存带宽三者的严重"不匹配性",更加剧了网络延迟效应。为了降低数据中心内部网络延迟,提高带宽,RDMA 技术应运而生。RDMA 允许用户态的应用程序直接读取和写入远程内存,避免了数据拷贝和上下文切换;并将网络协议栈从软件实现 offload 到网卡硬件,实现了高吞吐量、超低时延和低 CPU 开销的效果。
当前 RDMA 在以太网上的传输协议是 RoCEv2,RoCEv2 是基于无连接协议的 UDP 协议,相比面向连接的 TCP 协议,UDP 协议更加快速、占用 CPU 资源更少,但其传输是不可靠的,一旦出现丢包会导致 RDMA 的传输效率降低,这是由 RDMA 的 Go-back-N 重传机制决定的。RDMA 接收方网卡发现丢包时,会丢弃后续接收到的数据包,发送方需要重发之后的所有数据包,这导致性能大幅下降。所以要想 RDMA 发挥出其性能,需要为其搭建一套不丢包的无损网络环境。
差异化流量分类
构建无损网络,首先需要对网络流量进行分类,然后针对不同类别流量采用具体流控策略,实现精确控制,避免相互影响。流量分类有两种不同的分类方法:传输层(Layer 2)和网络层(Layer 3)。Layer2 通过 vlan header(802.1q)里的 PCP(802.1p)位进行分类,对应 CoS(Class of Service);Layer3 通过 IP header 里的 DSCP 进行分类,对应 DSCP。
Layer 2 流量分类
Layer2 层流量分类依据的是 vlan tag 中的 3 位 PCP bit,总共有 8 个类别。3 个 bit 是 Header 中第 3 个 byte 的前三位,如下图。在
存储大师班 | 浅谈 RDMA 与无损网络相关推荐
- 存储大师班 | 浅谈数据保护之快照与备份
作者简介:徐林波 NeonSAN 开发人员,具备丰富的存储领域从业经验,资深存储系统软件研发工程师,熟悉当前主流及新型存储介质. 引言 面对当前企业数字化转型浪潮,信息数据已经成为企业赖以生存的基础, ...
- 存储大师班 | ZFS存储池块管理与事务模型
作者简介:肖文文,QingStor 文件存储开发工程师,主要负责文件存储的开发,有多年的存储开发经验,喜爱技术热爱技术. ZFS History 1 ZFS 的诞生:ZFS 由 Sun 存储部门的 C ...
- android获取存储设备根目录,浅谈android获取存储目录(路径)的几种方式和注意事项...
通常, 我们创建文件/目录, 或者存储图片什么的, 我们都需要拿到手机的存储路径, 现在我们就来看一下获取手机存储路径的几种方式(作为工具类方法调用即可): 第一种: 获取 /storage/emul ...
- 【RDMA】无损网络和PFC(基于优先级的流量控制)
目录 前言 一.为什么会产生拥塞 二.PFC如何实现流控 三.PFC死锁 四.利用ECN实现端到端的拥塞控制 五.ECN交互过程 总结 原文:<我们为什么需要RDMA?为什么需要无损网络?> ...
- 【RDMA】无损网络和PFC(基于优先级的流量控制)|ECN
目录 前言 一.为什么会产生拥塞 二.PFC如何实现流控 三.PFC存在的问题 四.利用ECN实现端到端的拥塞控制 五.ECN交互过程 QC-QCN (网络工程师必会) (待续) PFC和ECN对比* ...
- 浅谈RDMA流控设计
pfc 概述 Priority Flow Control (PFC) IEEE 802.1Qbb applies pause functionality to specific classes of ...
- 存储大师班:NFS 的诞生与成长
作者| QingStor 黄蒙 我们为什么需要 "网络文件协议" 存储文件是大家日常工作生活中最常见的需求,随着文件数量和占用存储空间的上升,以及在一定范围内共享访问文件的需求产生 ...
- mysql myisam存储引擎_MySQL浅谈MyISAM存储引擎
本文来源于:IT摆渡网---一个IT实时问答系统快速解决你的任何IT问题,无需等待! mysql中用的最多存储引擎就是innodb和myisam.做为Mysql的默认存储引擎,myisam值得我们学习 ...
- CNN看清世界——浅谈四个经典网络的差异
本文介绍4种经典的卷积神经网络CNN,分别是AlexNet,VGGNet,Google Inception Net和ResNet,这4种网络依照出现的先后顺序排列,深度和复杂度也依次递进,并且在ILS ...
最新文章
- IRP和IO_STACK_LOCATION结构
- 网络编程学习笔记(RES_USE_INET6解析器选项)
- CentOS6.10在VMware(虚拟机)安装过程
- 复选框 全选 全不选 反选 实现
- windows 下 git 禁用 CRLF 转换 LF
- 9203 演练 jsp实现增删改查
- python的作用域 gbel_[ python ] 全局和局部作用域变量的引用
- 【优化预测】基于matlab差分算法优化ANN预测【含Matlab源码 151期】
- 虎头少保,天下第一手孙禄堂【转】
- 李开复:未曾公布的乔布斯故事
- 五百万微商都在用微信智能获客小程序,你还不加入?
- 显示器偏色测试软件,显示器显示偏色
- 圣诞帽php,微信小程序“圣诞帽”的实现思路详解
- java之httpclient
- 利用Python自动生成及发送Excel报表
- park,clark和ipark浅析
- Powershell 5.1中Shift + Insert无法粘贴解决
- 1970-01-01是什么?为什么计算机起始时间是1970年1月1日
- 保底掉落装备matlab,DNF团本减负计划 保底深渊票史诗装备删除
- python模板怎么写_模板模式-Python
热门文章
- AVFormatContext
- 周易卦爻解读笔记——噬嗑
- 使gdb支持string、vector、map等STL类型数据的查看(linux)
- 从三只松鼠初探互联网战略
- 【UE4】【C++】PlayerController、AIController获取玩家对应的Pawn
- 在win10+vs2019下对openmvg+openmvs的编译总结
- linux查询python的进程树_linux中使用ps命令查看系统进程
- python井号键怎么打_#井号键#——你怎么念?
- Ubuntu22.04卸载删除软件去除deb包
- 全球反洗钱监管机构将于明年6月发布加密数字货币监管法规