详谈NVMe和NVMe-oF基础架构新西兰45秒彩数据采集地址和概念

NVMe传输是一种抽象协议层,旨在提供新西兰45秒彩数据采集地址vip7.maltapi.com可靠的NVMe命令和数据传输。为了支持数据中心的网络存储,通过NVMe over Fabric实现NVMe标准在PCIe总线上的扩展,以此来挑战SCSI在SAN中的统治地位。NVMe over Fabric支持把NVMe映射到多个Fabrics传输选项,主要包括FC、InfiniBand、RoCE v2、iWARP和TCP。

然而,在这些Fabrics选项协议中,我们常常认为InfiniBand、RoCE v2(可路由的RoCE)、iWARP是理想的Fabric,其原因在于它们支持RDMA。

  • InfiniBand(IB):从一开始就支持RDMA的新一代网络协议。由于这是一种新的网络技术,因此需要支持该技术的网卡和交换机。
  • RDMA融合以太网(RoCE):一种允许通过以太网进行RDMA的网络协议。其较低的网络头是以太网头,其上网络头(包括数据)是InfiniBand头。这允许在标准以太网基础架构(交换机)上使用RDMA。只有NIC应该是特殊的,并支持RoCE。
  • 互联网广域RDMA协议(iWARP):允许通过TCP执行RDMA的网络协议。在IB和RoCE中存在功能,iWARP不支持这些功能。这允许在标准以太网基础架构(交换机)上使用RDMA。只有NIC应该是特殊的,并支持iWARP(如果使用CPU卸载),否则所有iWARP堆栈都可以在SW中实现,并且丢失了大部分的RDMA性能优势。

那么为什么支持RDMA在选择NVMe over Fabric时就具有先天优势?这要从RDMA的功能和优势说起。

RDMA是一种新的内存访问技术,RDMA让计算机可以直接存取其他计算机的内存,而不需要经过处理器耗时的处理。RDMA将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。RDMA技术的原理及其与TCP/IP架构的对比如下图所示。

因此,RDMA可以简单理解为利用相关的硬件和网络技术,服务器1的网卡可以直接读写服务器2的内存,最终达到高带宽、低延迟和低资源利用率的效果。如下图所示,应用程序不需要参与数据传输过程,只需要指定内存读写地址,开启传输并等待传输完成即可。RDMA的主要优势总结如下:

1) Zero-Copy:数据不需要在网络协议栈的各个层之间来回拷贝,这缩短了数据流路径。

2) Kernel-Bypass:应用直接操作设备接口,不再经过系统调用切换到内核态,没有内核切换开销。

3) None-CPU:数据传输无须CPU参与,完全由网卡搞定,无需再做发包收包中断处理,不耗费CPU资源。

这么多优势总结起来就是提高处理效率,减低时延。那如果其他网络Fabric可以通过类似RD6MA的技术满足NVMe over Fabric的效率和时延等要求,是否也可以作为NVMe overFabric的Fabric呢?下面再看看NVMe-oF和NVMe的区别。

NVMe-oF和NVMe之间的主要区别是传输命令的机制。NVMe通过外围组件互连Express(PCIe)接口协议将请求和响应映射到主机中的共享内存。NVMe-oF使用基于消息的模型通过网络在主机和目标存储设备之间发送请求和响应。

NVMe-oF替代PCIe来扩展NVMe主机和NVMe存储子系统进行通信的距离。与使用本地主机的PCIe 总线的NVMe存储设备的延迟相比,NVMe-oF的最初设计目标是在通过合适的网络结构连接的NVMe主机和NVMe存储目标之间添加不超过10 微秒的延迟。

此外,在技术细节和工作机制上两者有很大不同,NVMe-oF是在NVMe(NVMe over PCIe)的基础上扩展和完善起来的,具体差异点如下:

  • 命名机制在兼容NVMe over PCIe的基础上做了扩展,例如:引入了SUBNQN等。
  • 术语上的变化,使用Capsule、Response Capsule来表示传输的报文
  • 扩展了Scatter Gather Lists (SGLs)支持In Capsule Data传输。此前NVMe over PCIe中的SGL不支持In Capsule Data传输。
  • 增加了Discovery和Connect机制,用于发现和连接拓扑结构中的NVM Subsystem
  • 在Connection机制中增加了创建Queue的机制,删除了NVMe over PCIe中的创建和删除Queue的命令。
  • 在NVMe-oF中不存在PCIe架构下的中断机制。
  • NVMe-oF不支持CQ的流控,所以每个队列的OutStanding Capsule数量不能大于对应CQ的Entry的数量,从而避免CQ被OverRun
  • NVMe-oF仅支持SGL,NVMe over PCIe 支持SGL/PRP

先谈谈博科一直推崇的FC Fabric,FC-NVMe将NVMe命令集简化为基本的FCP指令。由于光纤通道专为存储流量而设计,因此系统中内置了诸如发现,管理和设备端到端验证等功能。

光纤通道是面向NVMe overFabrics(NVMe-oF)的Fabric传输选项,由NVMExpress Inc.(一家拥有100多家成员技术公司的非营利组织)开发的规范。其他NVMe传输选项包括以太网和InfiniBand上的远程直接内存访问(RDMA)。NVM Express Inc.于2016年6月5日发布了1.0版NVMe-oF。

国际信息技术标准委员会(INCITS)的T11委员会定义了一种帧格式和映射协议,将NVMe-oF应用到光纤通道。T11委员会于2017年8月完成了FC-NVMe标准的第一版,并将其提交给INCITS出版。

FC协议(FCP)允许上层传输协议,如NVMe,小型计算机系统接口(SCSI)和IBM专有光纤连接(FICON)的映射,以实现主机和外围目标存储设备或系统之间的数据和命令传输。

在大规模基于块闪存的存储环境最有可能采用NVMeover FC。FC-NVMe光纤通道提供NVMe-oF结构、可预测性和可靠性特性等与给SCSI提供的相同,另外,NVMe-oF流量和传统的基于SCSI的流量可以在同一FC结构上同时运行。

基于FC标准的NVMe定义了FC-NVMe协议层。NVMe over Fabrics规范定义了NVMe-oF协议层。NVMe规范定义了NVMe主机软件和NVM子系统协议层。

要求必须支持基于光纤通道的NVMe才能发挥潜在优势的基础架构组件,包括存储操作系统(OS)和网络适配器卡。FC存储系统供应商必须让其产品符合FC-NVMe的要求。目前支持FC-NVMe的主机总线适配器(HBA)的供应商包括Broadcom和Cavium。Broadcom和思科是主要的FC交换机供应商,目前博科的Gen 6代FC交换机已经支持NVMe-oF协议。

NVMe over fabric白皮书明确列出了光纤通道作为一个NVMeover Fabrics选择,也描述了理想的Fabrics需要具备可靠的、以Credit为基础的流量控制和交付机制。然而,基于Credit的流程控制机制是FC、PCIe传输原生能力。在NVMe的白皮书中并没有把RDMA列为“理想”NVMe overFabric的重要属性,也就是说RDMA除了只是一种实现NVMeFabric的方法外,没有什么特别的。

FC也提供零拷贝(Zero-Copy)技术支持DMA数据传输。RDMA通过从本地服务器传递Scatter-Gather List到远程服务器有效地将本地内存与远程服务器共享,使远程服务器可以直接读取或写入本地服务器的内存。

接下来,谈谈基于RDMA技术实现NVMe over fabric的Fabric技术,RDMA技术最早出现在Infiniband网络,用于HPC高性能计算集群的互联。基于InfiniBand的NVMe倾向于吸引需要极高带宽和低延迟的高性能计算工作负载。InfiniBand网络通常用于后端存储系统内的通信,而不是主机到存储器的通信。与FC一样,InfiniBand是一个需要特殊硬件的无损网络,它具有诸如流量和拥塞控制以及服务质量(QoS)等优点。但与FC不同的是,InfiniBand缺少发现服务自动将节点添加到结构中。

最后,谈谈NVMe/TCP协议选项(暂记为NVMe over TCP),在几年前,NVMe Express组织计划支持传输控制协议(TCP)的传输选项(不同于基于TCP的iWARP)。近日NVM Express Inc.历时16个月发布了NVMe over TCP第一个版本。该Fabric标准的出现已经回答了是否满足承载NVMe协议标准的Fabric即可作为NVMe over fabric的Fabric的问题。

但是TCP 协议会带来远高于本地PCIe访问的网络延迟,使得NVMe协议低延迟的目标遭到破坏。在没有采用RDMA技术的前提下,NVMe/TCP是采用什么技术达到类似RDMA技术的传输效果呢?下面引用杨子夜(Intel存储软件工程师)观点,谈谈促使了NVMe/TCP的诞生几个技术原因:

1. NVMe虚拟化的出现:在NVMe虚拟化实现的前提下,NVMe-oF target那端并不一定需要真实的NVMe 设备,可以是由分布式系统抽象虚拟出来的一个虚拟NVMe 设备,为此未必继承了物理NVMe设备的高性能的属性 。那么在这一前提下,使用低速的TCP协议也未尝不可。

2. 向后兼容性:NVMe-oF协议,在某种程度上希望替换掉iSCSI 协议(iSCSI最初的协议是RFC3720,有很多扩展)。iSCSI协议只可以在以太网上运行,对于网卡没有太多需求,并不需要网卡一定支持RDMA。当然如果能支持RDMA, 则可以使用iSER协议,进行数据传输的CPU 资源卸载。 但是NVMe-oF协议一开始没有TCP的支持。于是当用户从iSCSI向NVMe-oF 转型的时候,很多已有的网络设备无法使用。这样会导致NVMe-oF协议的接受度下降。在用户不以性能为首要考量的前提下,显然已有NVMe-oF协议对硬件的要求,会给客户的转型造成障碍,使得用户数据中心的更新换代不能顺滑地进行。

3. TCP OffLoading:虽然TCP协议在很大程度上会降低性能,但是TCP也可以使用OffLoading,或者使用Smart NIC或者FPGA。那么潜在的性能损失可得到一定的弥补。总的来说短期有性能损失,长期来讲协议对硬件的要求降低,性能可以改进。为此总的来讲,接受度会得到提升。

4. 相比Software RoCE:在没有TCP Transport的时候,用户在不具备RDMA网卡设备的时候。如果要进行NVMe-oF的测试,需要通过Software RoCE,把网络设备模拟成一个具有RDMA功能的设备,然后进行相应的测试。其真实实现是通过内核的相应模块,实际UDP 包来封装模拟RDMA协议。有了TCP transport协议,则没有这么复杂,用户可以采用更可靠的TCP协议来进行NVMe-oF的一些相关测试。 从测试部署来讲更加简单有效。

NVMe/TCP(NVMe over TCP)的协议,在一定程度上借鉴了iSCSI的协议,例如iSCSI数据读写的传输协议。这个不太意外,因为有些协议的指定参与者,也是iSCSI协议的指定参与者。另外iSCSI协议的某些部分确实写得很好。 但是NVMe/TCP相比iSCSI协议更加简单,可以说是取其精华。

原文地址:https://www.cnblogs.com/zhiyunkej/p/11022449.html

时间: 2024-11-06 07:15:53

详谈NVMe和NVMe-oF基础架构新西兰45秒彩数据采集地址和概念的相关文章

.NET Core + Ocelot + IdentityServer4 + Consul 基础架构实现

先决条件 关于 Ocelot 针对使用 .NET 开发微服务架构或者面向服务架构提供一个统一访问系统的组件. 参考 本文将使用 Ocelot 构建统一入口的 Gateway. 关于 IdentityServer4 IdentityServer4 是一个 OpenID Connect 和 OAuth 2.0 框架用于 ASP.NET Core .IdentityServer4 在你的应用程序中集成了基于令牌认证.单点登录.API访问控制所需的所有协议和扩展点.参考 本文将使用 IdentitySe

Windows Server 2016 新功能HCI(超融合基础架构) By S2D

超融合基础架构(Hyper-Converged Infrastructure,或简称"HCI")也被称为超融合架构,是指在同一套单元设备(x86服务器)中不仅仅具备计算.网络.存储和服务器虚拟化等资源和技术,而且还包括缓存加速.重复数据删除.在线数据压缩.备份软件.快照技术等元素,而多节点可以通过网络聚合起来,实现模块化的无缝横向扩展(scale-out),形成统一的资源池.超融合架构(Hyperconvergence Infrastructure, HCI)将虚拟化计算和存储整合到同

【Windows】Windows Server 2008 R2:核心基础架构

核心基础架构 Windows Server提供了核心基础架构服务以支持网络的运行.Windows Server技术已经成熟了,其中的角色和功能也同样成熟了.Windows Server 2008 R2继续改进了核心基础架构服务,这些服务一直都是Windows Server的一部分,它们为我们的业务提供了一个稳固的基础.点击以下核心基础架构角色以了解更多: Active Directory(AD) 应用程序和Web服务 可用性和可量测性 备份和恢复-Windows Server Backup Br

在C7000+VMware vSphere5.5环境中的基础架构服务器部署实例

主题:使用HP C7000设备在VMware vSphere环境中部署企业高可用性基础架构服务器 目标:在C7000中使用BL460G8部署VMware vSphere服务器虚拟化方案,完成企业级高可用性基础架构服务. 硬件 1:1台HP C7000刀框 2:3台HP BL460G8服务器 3:2个HP Virtual Connect FlexFabric 10Gb/24-port Module 4:1台HP P4500存储 需要的图表 设计整体逻辑拓扑图 配置信息参数图表 IP地址规划图表 E

Web基础架构:负载均衡和LVS

在大规模互联网应用中,负载均衡设备是必不可少的一个节点,源于互联网应用的高并发和大流量的冲击压力,我们通常会在服务端部署多个无状态的应用服务器和若干有状态的存储服务器(数据库.缓存等等). 一.负载均衡的作用 负载均衡设备的任务就是作为应用服务器流量的入口,首先挑选最合适的一台服务器,然后将客户端的请求转发给这台服务器处理,实现客户端到真实服务端 的透明转发.最近几年很火的「云计算」以及分布式架构,本质上也是将后端服务器作为计算资源.存储资源,由某台管理服务器封装成一个服务对外提供,客户端 不需

linux通用邻居基础架构

1.为每一个协议提供一个缓存来存放L3到L2的转换结果. 2.提供在缓存中添加.删除.改变和查找一个特定映射项的函数.查找函数必须要快,因为它会影响整个系统的性能. 3.为每一个协议缓存的数据项提供一种老化机制. 4.当缓存已满时并且正好要创建新的映射项时,提供选择替换策略. 5.为每一个邻居提供一个请求队列.当准备要发送一个封包并且其L2地址还不在地址缓存中是,就必须把这个封包放到缓冲区中,直到发出solicitation请求,并且收到应答.参见27章排队一节. 为了让每一种协议都适应邻居自系

微软云基础架构Hyper-scale Datacenter

每天醒来,可能很多人的习惯都是打开手机,看看微信,刷刷朋友圈,或者看看新闻,去咖啡店,打开电脑搜索一些关键字,观看视频,电视剧--可是你有没有想过你每一次键盘的敲击,每一次微信的语音的发送,数据会流向哪里,会怎么传播,我们怎么会快速的得到离我最近的餐厅信息?事实上,你所使用的所有这些服务,都运行在一个个的数据中心中,而数据中心正是信息世界中数据交换,流动,计算的心脏. 越来越多的大型IT公司将自己的数据中心和云端基础设施作为其重要的战略资产和核心竞争力的一部分,也有人可能看到过网上流出的goog

代码抄袭检测系统的设计和实现(1)--需求分析和基础架构

前言: 其实挺意外的, 最近和大学的老师联系, 得知4年前写的代码抄袭检测系统还在运行, 又惊又喜, 还以为早就替换升级了.  千百次回眸, 可惜界面依旧不给面子的简陋, 不过"金窝, 银窝, 不如自家的草窝", 脑补之后, 越看越帅气, ^_^!!. 让我们暂时抛开"娇俏动人"的web界面, 来谈谈背后"核心"的相似检测算法. 算法未必华丽, 效果未必惊艳, 但愿与大家一起分享, 与君共勉. 场景: 让我们来玩个游戏, 假设我们是懒得"

nodejs学习笔记_nodejs和PHP在基础架构上的差别--共享状态的并发

绝大多数对于Node.js的讨论都把关注点放在了处理高并发能力上,做开发的时候一定要明确node内部做出的权衡,以及node应用性能好的原因. node 为javascript引入了一个复杂的概念,:共享状态的并发. node採用一个长期执行的进程 而php在apache中会产生多个进程 例如以下图所看到的: 代码验证: PHP: <?php $i = 0; $i++; echo $i nodejs: var http = require('http'); var i=0; http.creat