立即注册
查看: 739|回复: 0

[嵌入式资料] 专⽤数据处理器(DPU)技术⽩⽪书(三):DPU应⽤场景

已绑定手机
发表于 2021-11-2 11:17:37 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1、应用场景一:网络功能卸载
网络功能卸载是伴随云计算网络而产生的,主要是对云计算主机上的虚拟交换机的能力做硬件卸载,从而减少主机上消耗在网络上的CPU算力,提高可售卖计算资源。
云计算⽹络架构:
1.jpg
目前除了公有云大厂采用自研云平台,绝大部分私有云厂商都使用开源的OpenStack云平台生态。在OpenStack云平台中,虚拟交换机通常是Open vSwitch,承担着云计算中网络虚拟化的主要工作,负责虚拟机(VM)与同主机 上虚拟机(VM)、虚拟机(VM)与其它主机上虚拟机(VM)、虚拟机(VM)与外部的网络通信。虚拟交换机与网关路由器(GW)通常由同一SDN控制器来管理控制,为租户开通VPC网络以及和外部通信的网络。主机与主机 间的网络通常是Underlay网络,是由TOR/EOR构建的Spine-Leaf结构的Fabric Network。虚拟机(VM)与虚拟机(VM)通信的网络是Overlay网络,是承载在Underlay网络构建的VxLAN,NVGRE或Geneve隧道之上的。通常VxLAN,NVGRE或Geneve的隧道端点(VTEP)在虚拟交换机和网关路由器(GW) 上。也有部分对网络性能要求比较高的场景,采用SR-IOV替代虚拟交换机,VF直通到虚拟机(VM)内部,这样就要求隧道端点(VTEP)部署在TOR上,TOR与网关路由器(GW)创建隧道,提供Overlay网络服务。虚拟交换机的场景是最通用的应用场景,所以,虚拟交换机的技术迭代也直接影响着虚拟化网络的发展。

1.1. 虚拟化⽹络功能(Virtual Network Function)
行业内主流的Hypervisor主要有Linux系统下的KVM-Qemu,VMWare的ESXi,微软Azure的Hyper-V,以及亚马逊早期用的Xen(现在亚马逊已经转向 KVM-Qemu)。KVM-Qemu有着以Redhat为首在持续推动的更好的开源生态,目前行业内90%以上的云厂商都在用KVM-Qemu作为虚拟化的基础平台。 在KVM-Qemu这个Hypervisor的开源生态里,与网络关系最紧密的标准协议包括virtio和vhost,以及vhost衍生出来的vhost-vdpa。Virtio在KVM-Qemu中定义了一组虚拟化I/O设备,和对应设备的共享内存的通信方法,配合后端协议vhost和vhost-vdpa使用,使虚拟化I/O性能得到提升。
(1)内核虚拟化⽹络(vhost-net) 在虚拟化网络的初期,以打通虚拟机(VM)间和与外部通信能力为主,对功能诉求远高于性能,虚拟交换机OVS(Open vSwitch)的最初版本也是基于操作系统Linux内核转发来实现的。vhost协议作为控制平面,由Qemu做代理与主机kernel内的vhost-net通信,主机内核vhost-net作为virtio的backend,与虚拟机(VM)内部的virtio NIC通过共享内存的方式进行通信。实现了虚拟机(VM) 间和虚拟机(VM)与外部的通信能力,但是内核转发效率和吞吐量都很低。目前在虚拟化网络部署中已经很少使用。
(2)⽤户空间DPDK虚拟化⽹络(vhost-user)
随着虚拟化网络的发展,虚拟机(VM)业务对网络带宽的要求越来越高,另外,英特尔和Linux基金会推出了DPDK(Data Plane Development Kit)开源项 目,实现了用户空间直接从网卡收发数据报文并进行多核快速处理的开发库,虚拟交换机OVS将数据转发平面通过DPDK支持了用户空间的数据转发,进而实现了转发带宽量级的提升。OVS-DPDK通过将virtio的backend实现在用户空间,实现了虚拟机(VM)与用户空间OVS-DPDK的共享内存,这样虚拟机(VM)在收发报文时,只需要OVS-DPDK将从网卡收到的报文数据写入虚拟机(VM)的内存,或从虚拟机(VM)内存将要发送的报文拷贝到网卡DMA的内存,由于减少了内存拷贝次数和CPU调度干扰,提升了转发通道的整体效率和吞吐量。
基于DPDK的虚拟化⽹:
2.jpg
OVS-DPDK相对转发能力有所提高,但也存在新的问题。首先,目前大多 数服务器都是NUMA(多CPU)结构,在跨NUMA转发时性能要比同NUMA转 发弱。而物理网卡只能插在一个PCIe插槽上,这个插槽只会与一个NUMA存在 亲和性,所以OVS-DPDK上跨NUMA转发的流量不可避免。第二,在虚拟机(VM)与OVS-DPDK共享内存时,初始化的队列数量通常是与虚拟机(VM)的CPU个数相同,才能保证虚拟机上每一个CPU都可以通过共享内存收发数据包,这样导致不同规格的虚拟机(VM)在OVS-DPDK上收发队列所接入的CPU是非对称的,在转发过程中需要跨CPU转发数据。最后,OVS-DPDK在转发数据时,不同虚拟机(VM)的流量由于CPU瓶颈导致拥塞,会随机丢包,无法保 障租户带宽隔离。
(3)⾼性能SR-IOV⽹络(SR-IOV) 在一些对网络有高性能需求的场景,如NFV业务部署,OVS-DPDK的数据转发方式,无法满足高性能网络的需求,这样就引入的SR-IOV透传(passthrough)到虚拟机(VM)的部署场景。在SRIOV passthrough的场景下,虚拟机(VM)可以获得与裸金属主机上相比拟的网络性能。但是,仍然存在两个限制:
●SRIOV VF passthrough到VM后,VM的迁移性会受限,主要原因在于SRIOV这种passthrough I/O借助了Intel CPU VT-d(Virtualization Technology for Directed I/O)或AMD的IOMMU(I/O Memory Management Unit)技术,在VM上VF网卡初始化的时候,建立了Guest虚拟地址到Host物理地址的映射表,所以 这种“有状态”的映射表在热迁移的过程中会丢失。
●由于SRIOV VF passthrough到VM,而SRIOV PF直接连接到TOR上,在这种部署环境中虚拟机(VM)对外的网络需要自定义,如需要像OVS-DPDK 那样自动开通网络,则需要将TOR加入SDN控制器的管理范畴,由SDN控制器统一管控,这样做通常会使网络运营变的非常复杂。

1.2. ⽹络功能虚拟化(Network Function Virtualization)
伴随着越来越多的业务上云,一些原来运行在专用设备或者特定主机上的网络产品也开始重视上云后的按需扩缩容能力,所以出现了网路功能虚拟化(NFV)产品。NFV产品主要以虚拟机(VM)或者容器(Container)的形态部署到云计算平台上,对外提供对应的网络功能,如Load Balance,Firewall,NAT,vRouter,DPI和5G边缘计算UPF等。这些NFV产品之前全部基于DPDK在X86 CPU上运行,由于CPU算力上限问题,通常难以提供对应网络带宽的吞 吐能力。DPU智能网卡的出现,为NFV加速提供了资源和可能。
(1)5G 边缘计算UPF(User Plane Function)
5G垂直行业对5G网络提出了更高的要求,如大带宽,高可靠,低时延,低抖动等,这对用户面数据转发的核心5G UPF,提出了更高的实现要求。尤其在边缘网络,交互式VR/AR在大带宽的要求下,还需要低时延,从而提高业务的用户体验;而车路协同系统等,对高可靠和低时延低抖动的要求更高,这是保障车路协同能够实时做出正确决策的关键;一些工业控制实时自动化应用,也是要求视频数据实时传输到服务端,并通过视频识别等功能实时做出控制指令下发等等。这些典型的应用,都对边缘计算中5G UPF提出了更严苛的要求。
在5G边缘计算中,未来的主要应用场景包括:增强型视频服务,监测与追 踪类服务,实时自动化,智能监控,自动机器人,危险和维护传感,增强现 实,网联车辆和远程操控等。对应的5G技术指标和特征也比较明显。首先,超大带宽(eMBB,Enhanced Mobile Broadband)要求单用户峰值带宽可达20Gbps,用户体验数据速率在100Mbps;其次,超密连接(mMTc,Massive Machine Type Communication)要求每平方公里设备数量在10k到1M个终端,流量密度10Mbps每平方米;最后,超低时延(uRLLC, Ultra Reliable Low Latency Communication)要求时延在1~10ms,高可靠性达到99.999%。
3.jpg
传统的5G UPF通常由软件实现,运行在X86 CPU上,虽然在吞吐上可以通 过增加CPU来实现更大能力,但是,时延和抖动通常都会比较高,很难稳定支 撑低时延低抖动业务。对于超大带宽,超低时延的需求,这类数据转发业务更适合在硬件中实现,硬件实现更容易做到低时延低抖动和大带宽。5G UPF业务模型复杂,需要选择性卸载转发,将高可靠低时延低抖动业务要求的用户会话卸载到硬件中。如图3-5所示,数据流首包通过软件转发,然后 将对应的流表卸载到智能网卡,后续报文通过智能网卡硬件转发,这样可以在5G边缘计算中,提供低时延低抖动和超大带宽网络能力的同时,还能降低边缘计算的整体功耗。
4.jpg
(2)智能DPI(Deep Packet Inspection)
DPI不论在运营商网络还是互联网数据中心,都是重要的配套设备。而且DPI功能是很多网络功能产品的基础功能,如IPS/IDS,5G UPF,DDoS防攻击设备等,具有重要的产品价值。DPI具有高新建、高并发、高吞吐等特点,使得性能成为虚拟化部署的瓶颈。通过DPU智能网卡实现DPI流量卸载,性能可以提升在30%以上。
5.jpg
智能DPI基于智能网卡卸载DPI流量,软件规则库下发到硬件形成流识别的 规则,再将软件策略下发到硬件形成对应的动作。这样数据流进入网卡通过打时间戳进行硬件解析,匹配识别规则库,根据匹配的规则寻找对应的策略,根 据策略进行计数,镜像,丢弃和转发等行为。通过硬件卸载DPI流量,不仅可以节省虚拟化DPI的CPU,还可以提升其吞吐量,同时降低了整体TCO。一些公有云的运维系统也是通过DPI功能做流日志,除了运维使用以外,还对用户提供对应的流日志服务。

1.3. 云原⽣⽹络功能
(1)云原⽣⽹络架构
云原生,从广义上来说,是更好的构建云平台与云应用的一整套新型的设计理念与方法论,而狭义上讲则是以docker容器和Kubernetes(K8S)为支撑的云原生计算基金会(CNCF)技术生态堆栈的新式IT架构。对比虚拟机,容器应用对磁盘的占用空间更小,启动速度更快,直接运行在宿主机内核上,因而无Hypervisor开销,并发支持上百个容器同时在线,接近宿主机上本地进程的性能,资源利用率也更高。以K8S为代表的云原生容器编排系统,提供了统一调度 与弹性扩展的能力,以及标准化组件与服务,支持快速开发与部署。
容器平台包括容器引擎Runtime(如containerd,cri-o等),容器网络接口(CNI,如calico,flannel,contiv,cilium等)和容器存储接口(CSI,如EBS CSI,ceph-csi等)。
云原生平台可以部署在裸金属服务器上,也可以部署在虚拟机(VM)上。通常为了追求更高的性能,云原生平台会部署在裸金属上。如果考虑故障后更容易恢复,通常会部署在虚拟机(VM)上。
云原⽣⽹络架构介绍:
6.jpg
云原生对于网络的需求,既有基础的二三层网络联通,也有四至七层的高级网络功能。二三层的网络主要是实现K8S中的CNI接口,具体如calico,flannel,weave,contiv,cilium等。主要是支持大规模实例,快速弹性伸缩,自 愈合,多集群多活等。四至七层网络功能,主要是服务网格(Service Mesh)。服务网格的本质是提供安全、可靠、灵活、高效的服务间通信。服务网格还提供了一些更加高级的网络功能,如有状态的通信,路由限流,灰度流量切换, 熔断监控等。

更多详细内容请下载附件查看
2023-11-17 15:33 上传
文件大小:
10.58 MB
下载次数:
1
附件售价:
3 RD币  购买记录
本地下载 立即购买

16RD supports Paypal , Payment is calculated at the exchange rate of the day. Unable to download please contact 18902843661 (WhatsApp OR wechat number)

关于一牛网在微软浏览器(Microsoft Edge、IE浏览器)警报通告&解决方案!(无法下载直接更换浏览器即可)

*附件为作者发布,与本站无关,如有侵权,请联系客服删除


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表