博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lightbits能否让NVMe/TCP新标准旗开得胜?
阅读量:2187 次
发布时间:2019-05-02

本文共 2022 字,大约阅读时间需要 6 分钟。

640?wx_fmt=jpeg

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

在网络江湖上,以太网和IP都有一个梦想,就是统一数据中心网络,一统网络江湖。但是,在存储网络这块,它们的进展不是很顺利。FCoE曾经风光无限,当时大有统一数据中心网络的架势,但由于FC的顽强抵抗,还是败下阵来,现在基本被网络界抛弃。现在借助NVMe-oF的发展,IP又找到了一个机会,在18年底,NVMe/TCP终于成为标准,这个标准的主要推动者之一,Lightbits Labs,一个Startup公司,也刚刚拿到了Dell参与投资的50m资金,正式走向公众面前。

这两天,不断有朋友问我对这个公司包括NVMe/TCP的未来的看法,我今天就来聊一聊这个话题。

大家知道,NVMe-oF成为标准已经有几年时间了,最初它只支持RDMA,后来加入了FC的支持,现在又加入了TCP的支持。

640?wx_fmt=png

我们知道,NVMe采用PCIe连接,是基于内存映射的协议,而NVMe-oF却实基于消息的,但也可以支持共享内存。其中RDMA(包括IB,RoCE,iWarp)这两种方式都支持,但FC和TCP,只支持消息。

640?wx_fmt=png

RDMA由于支持两种机制,因此命令和回复封装都用消息传输,但数据采用内存语义进行处理。

640?wx_fmt=png

但FC和TCP只支持消息,因此,数据也是采用消息来传输的。

640?wx_fmt=png

感觉TCP的功能没有RDMA强大啊?为啥大家都热衷发展NVMe/TCP,并且也把这种方式标准化了呢?这就是TCP的魅力了。因为TCP无处不在,大家都了解它,还有就是TCP支持长距离大规模的部署,云环境下是唯一选择。虽然在时延和性能抖动上有挑战,但是也不是不可解决的。

640?wx_fmt=png

NVMe/TCP其实原理也很简单,就是把NVMe-oF的消息封装在TCP/IP报文里作为负载进行传输。

640?wx_fmt=png

这是NVMe-oF三种传输机制的封装方式,我们看到,其实NVMe/TCP和NVMe/FC的传输机制是最像的。

640?wx_fmt=png

从时延上,TCP的时延还是大于RDMA的,而且还有一个重要的incast问题,即发生拥塞后大家都停止发送,然后等待一会,大家又同时开始发送。

640?wx_fmt=png

这是TCP典型的锯齿模式,因此,NVMe/TCP对网络的拥塞控制要求非常高。

640?wx_fmt=png

还好现在新型的数据中心交换机都有优先级控制或者流控功能,可以解决incast的问题。

640?wx_fmt=png

常用的流控协议就是DCTCP和ECN这些,也就是如果你要用NVMe/TCP,请确认交换机支持这些特性并且做好规划。

640?wx_fmt=png

虽然NVMe/TCP需要现代的数据中心交换机,但是在host端,不需要支持RDMA的HCA卡,普通网卡就可以用,因此成本还是比RDMA要好得多,特别是host很多的情况下。因此,Lightbits和Facebook,Dell EMC,Intel等力推NVMe/TCP在2018年11月15日终于成为国际标准。

640?wx_fmt=png

从时延的测试看,NVMe/TCP的时延是RDMA的两倍。但是,由于都是微秒级别,大部分场景下都够用,而且和iSCSI相比,要好太多了。因此,云厂商Facebook和Google等都非常热衷这项技术。

640?wx_fmt=png

而Lightbits呢,抓住这个机会,开发了自己的NVMe/TCP存储操作系统LightOS。

640?wx_fmt=png

LightOS有传统存储丰富的企业特性,包括纠删码和数据缩减,QoS等。

640?wx_fmt=png

为了进行性能加速,Lightsbits还开发了一块加速卡,做EC和压缩加速,也做TCP的卸载。刚开始我以为是一块NVMe/TCP的加速网卡,后来发现没有网口,因此,这个只做加速,还是需要配合网卡使用的。

640?wx_fmt=png

目前,这块加速卡和LightOS配合使用,组成一个高性能的NVMe/TCP的分布式存储。

640?wx_fmt=png

目前,Lightbits刚刚拿了50m的投资,除了Dell,还有Cisco和Micron等大牌IT厂商背书。

640?wx_fmt=png

640?wx_fmt=png

这是三个创始人,其CTO是半导体行业背景。

640?wx_fmt=png

个人认为NVMe/TCP虽然有TCP的一些固有问题,但是由于云厂商只能选择这种机制,因此,不会遭遇FCoE一样命运。

我们看到Pure Storage的NVMe-oF路标,今年支持RoCE v2,年底打算支持FC,然后明年打算支持NVMe/TCP。这个时间节奏我还是比较认可的。

640?wx_fmt=png

但是,我个人认为,虽然NVMe/TCP不会死,但是短期也无法统一数据中心网络。因为传统的数据中心运维人员,对FC都非常熟悉,因此,NVMe/FC还是很多传统企业的首选演进路径。因此,NVMe-oF的三种协议估计在企业数据中心都会存在:

  • NVMe/FC:传统存储,如高端存储,AFA等关键业务场景

  • NVMe/RDMA:HPC等高性能,低延时场景

  • NVMe/TCP:云存储,分布式存储场景

但是,在公有云上,别无选择,只能选择NVMe/TCP。但是,公有云不会购买存储系统,但是可能会购买某些部件。因此Lightbits在公有云厂商只能卖一卖加速卡,销售额估计不会太多。其未来真正要成功,必须要在企业数据中心取得成功才有可能。

温馨提示:

请识别二维码关注公众号,点击原文链接获取更多技术资料总结

640?wx_fmt=jpeg

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

转载地址:http://dxgkb.baihongyu.com/

你可能感兴趣的文章
solver及其配置
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
Java集合框架知识梳理
查看>>
笔试题(一)—— java基础
查看>>
Redis学习笔记(三)—— 使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题
查看>>
Intellij IDEA使用(一)—— 安装Intellij IDEA(ideaIU-2017.2.3)并完成Intellij IDEA的简单配置
查看>>
Intellij IDEA使用(二)—— 在Intellij IDEA中配置JDK(SDK)
查看>>
Intellij IDEA使用(三)——在Intellij IDEA中配置Tomcat服务器
查看>>
Intellij IDEA使用(四)—— 使用Intellij IDEA创建静态的web(HTML)项目
查看>>
Intellij IDEA使用(五)—— Intellij IDEA在使用中的一些其他常用功能或常用配置收集
查看>>
Intellij IDEA使用(六)—— 使用Intellij IDEA创建Java项目并配置jar包
查看>>
Eclipse使用(十)—— 使用Eclipse创建简单的Maven Java项目
查看>>
Eclipse使用(十一)—— 使用Eclipse创建简单的Maven JavaWeb项目
查看>>
Intellij IDEA使用(十三)—— 在Intellij IDEA中配置Maven
查看>>
面试题 —— 关于main方法的十个面试题
查看>>
集成测试(一)—— 使用PHP页面请求Spring项目的Java接口数据
查看>>
使用Maven构建的简单的单模块SSM项目
查看>>
Intellij IDEA使用(十四)—— 在IDEA中创建包(package)的问题
查看>>
FastDFS集群架构配置搭建(转载)
查看>>
HTM+CSS实现立方体图片旋转展示效果
查看>>