在2020网络数据平面峰会上,是德科技大中国区网络解决方案部技术总监杨益锋给大家分享了主题演讲《无损网络,真的无损?》。
杨益锋介绍了什么是无损网络,为什么需要无损网络,无损网络的特点以及如何测试无损网络来验证是真的无损。
(文末有视频)
什么是无损网络?
2016年人机围棋大战,AlphaGo的胜利向全世界宣告了AI时代的到来。AI正在以前所未有的速度深刻改变人类社会的生活,改变世界。算法、算力、数据被称为AI发展的三大关键要素。2012年深度学习算法的突破,引爆了人工智能产业的发展。而深度学习的算法,严重依赖海量的样本数据和高性能的计算能力。
以无人驾驶技能的AI训练为例,一天采集的数据接近PB级,如果采用传统的硬盘存储和普通的CPU来处理,则至少需要一年的时间才可能训练完成。为了提升AI数据处理的效率,存储和计算领域正在发生革命性的变化。
AI时代对于数据高效处理的诉求非常大,尤其是数据中心网络带来的变化。在传统网络中,IP网络、计算网络以及存储网络是分开的,IP网络规模大,可用性好,带宽高,成本低。计算网络主要用的是infiniband技术,低时延,高可靠,高服务质量,但专有产品与私有协议,兼容性不是很好,运维成本比较高。存储专网主要技术是SAN和FC,高可靠,但带宽不高,升级不容易,成本昂贵。
无损网络把计算、存储和网络融合在一起,不仅能满足AI的需求,且低成本、无丢包、低时延。
无损网络的主要技术
目前无损网络的主要技术是RoCE和RDMA。传统应用要发送数据,需要通过OS封装TCP/IP,然后依次经过主缓存、网卡缓存,再发出去。这样会导致两个限制。
限制一:TCP/IP协议栈处理会带来数10微秒的时延。TCP协议栈在接收发送报文时,内核需要做多次上下文的切换,每次切换需要耗费5-10微秒。另外还需要至少三次的数据拷贝和依赖CPU进行协议工作,这导致仅仅协议上处理就会带来数10微秒的固定时延,协议栈时延成为最明显的瓶颈。
限制二:TCP协议栈处理导致服务器CPU负载居高不下。除了固定时延较长的问题,TCP/IP网络需要主机CPU多次参与协议的内存拷贝,网络规模越大,网络带宽越高,CPU在收发数据时的调度负担越大,导致CPU持续高负载。
RDMA的内核旁路机制允许应用与网卡之间的直接数据读写,这样可以将服务器内的数据传输时延降低到接近1微秒。同时,RDMA的内存零拷贝机制允许接收端直接从发送端的内存读取数据,极大地减少了CPU的负担,提高了CPU的利用率。RDMA的三大特点:低时延、降低CPU的负担和高带宽。
无损网络的发展
无损网络的发展经历了InfiniBand、RoCE和RoCE v2三个阶段。InfiniBand的特点前面我们已经谈过了,低时延高可靠高服务质量,但专有产品与私有协议之间的兼容性不是很好,运维成本很高。RoCE和InfiniBand的主要区别在底层,RoCE的底层是Converged Ethernet,这样可以用传统的以太网,但上层封装的还是和InfiniBand一样,优点是成本低,兼容性高,当然也牺牲了一部分性能。
RoCE v2和RoCE的主要区别是用UDP/IP替代了IB Network,这样可以使用IP的所有功能,如访问列表、安全控制、监控等等,在NVMe引入host和controller的概念,提高队列数量,最高可以达到64k,这样可以大大提高存储的读写速度,同时可以提高控制的精度。
无损网络的挑战
如今,数据中心(尤其是超大规模数据中心)服务器的数量达到了上万甚至百万台,无损网络测试需要模拟与真实环境相似的场景,测试过程中将面临以下几点挑战。
- 如果用真实的服务器和网络设备来测试,如何模拟?
- 即使我们有财力来搭建这样的测试平台,上千台服务器、几百台交换机,如何管理?
- 如果拓扑变化一下,人工和时间的成本有多少?
- 从网络能力方面来看,无损网络的三大特点无丢包低时延高吞吐,具体情况又怎么样?
- 对测试仪表又有什么要求?
下面一起来看看无损网络RoCE技术保障。RoCE有一系列的协议来保证低时延、无丢包、高吞吐。首先,PFC用于满足两种流量在以太网中共存时存储流量无丢包且对其他的流量无影响的要求。ECN显示拥塞通知,中间设备检测到拥塞,发送给收端,收端设备再发送给发送端,从而降低发送速度,最终控制拥塞。
下图展示了无损网络的测试,图右上角是数据中心的一个PoD点,由Spine、Leaf和服务器组成。测试对象是交换机或者RoCE网卡,测试仪主要仿真服务器,在控制面仿真各种协议来验证协议的互动性以及性能,在数据面仿真各种数据及应用来验证。
测试方法论:
- RoCE流量N:1基准测试,如4:1/8:1/16:1等等
- RoCE流量与TCP流量混跑,看看PFC和ECN的效果
- 一些特殊场景(节点故障,PFC风暴、死锁)
- 存储应用测试(ISER,NVMe等高性能存储)
- 计算应用测试(Spark,TensorFlow等高性能计算)
- 测试指标主要是时延、吞吐量、应用事务完成数量、花费时间等等。
是德科技Keysight无损网络解决方案
最后,杨益锋介绍了是德科技针对无损网络RoCE v2的解决方案。首先我们看看硬件部分,由12槽位或者两槽位的机框,两个100GE 端口的QSPF28的模块,每个端口可以fan-out 4个25GE SPF28接口,整个模块可以支持8个25GE的接口,支持RoCE v2的PFC、ECN等等协议的仿真,可以产生线速的RoCE v2、HTTP等流量,同时这个模块具有低时延PFC的特点。
Keysight解决方案中软件测试使用的是IxLoad,IxLoad是在业界用了超过30年的一款软件,具备很高的稳定性和可用性。主要有以下几个特点。
第一,多用户使用,可支撑多用户并行使用该软件
第二,方便的自动化以及DevOps,REST自动化接口
第三,详细的实时统计,对lossy,lossless流量的分开统计,细分统计能力(统计每条Queue Pair)
第四,可定制化,且图形化的测试报告
RoCE流量的基准测试主要针对 RoCE 交换网络:
- 完成了RDMA上下文的RoCE流量
- 支持RDMA read, write(RC),后续更多
- 可编辑的message size长度以及queue pair数量
- RoCE流量进入队列可配置
- CNP/PFC的使能/去使能
- CNP/PFC的优先级可配置
- RoCE流量和tcp/udp流量混跑
- 暴露DCQCN可配置参数
高层存储/高性能计算的应用模拟:
- 存储场景:
- 实现ISCSI
- 实现ISER OLTP/OLAP模型
- 其他客户需要的场景
- 高性能计算应用场景
- 计划将不同的应用模型 ,抽象为多个RDMA verbs
- Ixload通过Job(多个RDMA行为的集合),实现应用模拟
- 提供典型的高性能计算抽象模型
- 统计job的完成时间,数量
下图展示了RoCE网卡测试:
- 一端使用Keysight测试硬件;另一端使用服务器 网卡 Keysight测试软件
- 可以支持25G,100G接口
- 测试网卡在不同message size长度,以及Queue pair数量下的性能(时延,吞吐量)
- 测试网卡收到PFC,CNP时的处理能力
- 测试网卡收到错包的处理能力(ICRC,out of sequence)
最后,杨益锋总结了Keysight RoCE测试解决方案的几大特点:
1、专业的硬件和软件平台
2、功能全:支持 PFC,ECN,DCQCN仿真,模拟RDMA读写操作,后
续可以模拟更多真实应用
3、性能高:Line-rate RoCEv2 & TCP (HTTP),精细颗粒度的统计
4、支持自动化接口,实现全自动化测试
视频回顾
https://v.qq.com/x/page/v3107tq34bs.html