前往小程序,Get更优阅读体验!
立即前往
社区首页 >专栏 >兴汉张旸:协同合作构建最佳白盒设备

兴汉张旸:协同合作构建最佳白盒设备

作者头像
SDNLAB
发布于 2020-07-03 03:09:26
发布于 2020-07-03 03:09:26
4040
举报
文章被收录于专栏:SDNLABSDNLAB

在昨天的《2020网络数据平面峰会》上,兴汉网际系统软件工程师张旸给大家分享了主题演讲《协同合作构建最佳白盒设备》。

北京兴汉是网络通信设备制造商,目前产品主要聚焦在云互联和网络安全这两大领域,同时也提供基础软件的服务,包括BSP的整合、系统固件的开发。张旸主要从系统软件工程师的角度出发,对白盒硬件平台的设计提出一些自己的看法和建议。

为了让演讲更有针对性,张旸选择了一个很典型的白盒的应用场景——中阶MEC,多接入云边缘计算平台。MEC的概念是将数据中心的业务推向了网络边缘,让服务更靠近用户,这样带来的好处是网络传输延迟小、对用户请求响应快、同时又能减少网络回传的一个负荷。随着5g时代的到来,用户数越来越密集,对数据量的吞吐、时延都有一定的要求,MEC很可能成为组网中非常关键的组成部分。所以张旸就MEC设备硬件规格的制定,从系统分析的角度来做一个初步的探讨。针对MEC这样的设备,张旸建议从几大方面来做考虑。

(文末有视频)

产品设计开发

之前提到MEC是部署在网络边缘的数据处理平台,可以认为是一个小的边缘云,需要具备一定的计算能力、存储能力、网络转发的能力。MEC可以部署在网络的接入端,放在基站的后面,这种部署方式更靠近用户,主要针对的是超低时延的业务,比如说自动驾驶、机器人协作等。MEC也可以部署在网络的边缘端,把它放在本地网的汇聚机房里,部署在基站的汇聚点之后,用来提供低延迟、高带宽的服务,比如高清视频、视频监控、AR/VR等业务。

所以从MEC应用的部署规划中,要计算出设备承载的业务量有多大?每一台设备需要承载的工作负载是多少?这也基本决定了底层应用平台需要提供什么等级的计算处理能力。同时在VNF架构下面,MEC大多是以虚拟化的方式对上层提供应用服务,有可能是虚拟机,也有可能是容器,该选择一个什么样的虚拟化的环境,也会直接影响到底层硬件资源的配置。软件开发者对于工作负载和虚拟化的考量可能比较多,这部分的分析结果对硬件品牌的选择是非常重要的依据。

接下来就是设备核心的组件,包括CPU、网卡,CPU和网卡的选择主要还是根据设备需要提供的计算能力跟网络处理能力来评估。接下来一个非常重要的方面就是运维的需求,尤其是针对像MEC这样大量分布式部署的设备,其管理跟维护让服务提供商非常头疼,怎么样去强化设备自身的稳定性,而且要让设备自己具备一定的运维能力,也是产品设计时务必要考虑的一个问题。

经过这几方面的综合评估之后,可以得到一个初步的硬件规格的版本,针对一些主要的性能指标,也要做一个初步的验证。可以利用开源的系统,模拟客户应用的测试环境,然后来评估硬件方案。根据评测的结果,然后再来修正、完善硬件规格设计。

应用系统分析

对于工作负载的计算,主要涉及到应用服务的规划,当前的服务量是多少?将来有可能发展的服务量是多少?服务链是如何部署的?是如何串联的?平台需要提供的承载力不仅要保证当下的用户数跟业务量,同时也要做一定的预留,预留给未来有可能扩展的用户数跟服务的数量。

对于系统虚拟化环境的规划,是选用容器还是选用虚拟机?容器相对于虚拟机来说会更加的轻量,也更节约系统的资源,本身启动很快,集成性也比较好,业务容易做扩展。有人做过对比的测试,在同样的一台服务器上面,用Docker提供计算力,它基本上等同于物理机本身能够提供的计算力,但是虚拟机就会损失将近50%。另外一方面Docker也有弱点,比如说其隔离性跟安全性比较弱。所以在有多用户的应用场景下,服务商如果需要隔离不同的用户,就有必要采取虚拟机技术,但同时也要相应的配置足够的硬件系统资源,比如说磁盘和内存,我们知道一个Docker的OS系统大约会占用100M左右,但一个虚拟机的操作系统可能会占用到10G以上。

基础平台定义

MEC的部署是有虚拟化环境的,服务链会在虚拟机之间,或者说容器之间去串接。虚拟机跟虚拟机之间,也就是常说的东西向数据平面传输的效能,它会直接影响到整体的应用系统的效能。东西向平面很常用的一个架构就是SR-IOV,SR-IOV是指在物理网卡上划分出多个虚拟功能,这些虚拟功能在操作系统中会以独立网卡的形式来呈现,这些VF之间数据流的转发,可以通过集成到网卡芯片内部的vSwitch直接转发。这些vSwitch的性能基本上跟原生网卡的性能是相当的。

但是使用SR-IOV也有一定的局限性,它需要pcie网卡、bios、host的支持,而且物理网卡上能够支持的VF的个数也是有限制的。虽然理论上SR-IOV声称可以支持256个VF,但是在实际的网卡上是受物理资源的限制的。使用SR-IOV的话,好处就是能够解放CPU的核心,把更多的CPU计算力可以让出来给应用程序来使用,数据传输就交由网卡自己来做处理。但是也有应用场景,假如是对跨主机的东西向流量有要求的话,这个时候就会比较适合使用vSwitch、oVs加DPDK的方式。Ovs over DPDK的性能和SR-IOV是差不多的,在4核的情况下可以达到35Mpps ,但高性能也是以牺牲CPU的核心数为代价的。

接下来是CPU跟网卡的选择,对CPU的选择,主要是根据计算出来的设备需要具备的计算力,来考虑CPU的工作频率、核心数、对虚拟化的支持。说到网卡,网卡除了要满足基本的Througput的要求以外,本身offloading的能力也是需要考虑的。它能不能对vxlan 做offloading?支不支持SR-IOV?网卡上做更多的offloading可以减轻CPU的负担,也可以让CPU把更多的计算力提供给应用服务。

运维需求

SDN集中控制的网络架构,会为网络运维带来一定的优势。网络管理员可以对设备做集中式的网络管理,而不再需要手动的现场做配置,但这时候也会要求设备本身有统一的管理接口,并且自己也要具备一定的自动化运维的能力。所以关于运维,张旸主要提了两个方面,一个是关于系统的升级,包括系统软件的升级和系统固件的升级,另一个是系统加固。

软件/固件更新

随着现在应用的快速发展,软件系统的升级会来得更加频繁,管理员通过远程集中控制设备做系统升级会有一定的隐患,系统升级失败了怎么办?如果造成网络的瘫痪,造成用户服务的中断,都是非常严重的事故,在电信网络里面是不允许发生的一个状况,这个时候远程管理员也基本上没有办法处理。针对这种高可靠性的用户需求,兴汉有一套系统保护方案,能够实现在这种异常的情况下系统的自我恢复,保证在系统升级失败的时候,至少能让系统正常启动。这个方案涉及到从上层系统软件到固件逻辑到底层硬件的应用设计,其核心思想是当系统能够侦测到异常之后,系统能够自动去提取备份区域存储的系统镜像文件,来做完整系统的恢复。

关于固件的升级,主要是说BIOS的升级,BIOS的升级需要预先定义好升级方式和接口。Linux下面有BIOS升级的工具,可以在系统下本地升级,也很方便实施。但是主机上Linux系统的应用环境会比较复杂,如果在升级过程中被其他的应用打断,造成的后果将是无法修复的。所以设计时也可以考虑旁挂子系统,比如说BMC子系统对固件做升级,这样可靠性更高,但同时硬件上就需要增加BMC,系统的设计成本也会更高。

系统加固

举一个例子,异常断电的情况,客户的设备有些是放在机房,有一些会放在企业的办公室,有可能员工直接拔电,造成这种非正常关机,这种直接断电的操作就非常容易造成文件系统被破坏,严重的话可能会造成存储介质的物理损坏。在软件层面上会建议,在安装系统的时候对文件系统做一个规划,使用日志的方式来安装文件系统,从文件系统级别提高数据一致性的保护,或者也可以采用overlay的方式,将重要的系统文件系统目录做成只读,另外划分数据分区保存用户数据。第三种方式就是系统级别上面的,就像刚才提到的利用多重分区来做备份保护,在有必要的时候对系统做一个完整的镜像恢复。这些软件层面上的保护程度越高,相应的配置管理也会更加的复杂,所以也有从硬件设计上来提供改进的措施,用Dying gasp配合上一个加大断电保持的时间,这样让主机能完成读写后正常关闭系统,从根本上去解决突然断电这种异常情况的发生。

以上是兴汉在白盒产品设计的一些建议跟看法,也是这些年在项目开发过程中积累下来的思考跟经验,兴汉设计制造的白盒产品目前已经实现了从云端到边到端的全覆盖。

随着云服务的不断发展、5G时代的到来,传统网络的网元封闭且专用,很大程度上限制了新业务的创新,网络服务商升级服务的复杂度会比较高,设备的成本也高,而且会受制于专用的设备的提供商,这种网络实现方式被通用硬件平台加软件业务逻辑组成的开放式网络架构所取代是必然的趋势。但是软件和硬件的解耦,并不代表着硬件平台设计跟上层软件系统需求的完全脱离。相反的,好的硬件设计方案一定是来自对产品应用跟系统需求的充分理解跟分析,兴汉也是秉着这样的理念和想法尽可能的去分享其在白盒产品上的开发经验,希望以后有机会在实际开发的过程中,有更深入、具体的探讨。


视频回顾https://v.qq.com/x/page/w3108iz9n2y.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 SDNLAB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
虚拟化及云计算硬核技术内幕 —— 小结 下
由于Intel为代表的处理器厂商发现,处理器主频的提升受到硅材料物理特性的限制,难以突破4.0GHz的瓶颈,从而转向在处理器集成电路上集成多个处理核心,以提升处理器的计算力。为了让多个处理核心可以运行多个不同的应用程序和服务,出现了把一台物理机资源分割为多个虚拟机的虚拟化技术。
用户8289326
2022/09/08
6640
【重识云原生】第四章云网络4.9.1节——网络卸载加速技术综述
网络offload主要是指将原本在内核网络协议栈中进行的IP分片、TCP分段、重组、checksum校验等操作,转移到网卡硬件中进行,CPU的发包路径更短,消耗更低,提高处理性能。
江中散人_Jun
2022/07/12
3.1K0
【重识云原生】第四章云网络4.9.1节——网络卸载加速技术综述
软硬件融合技术内幕 进阶篇 (5) ——云计算的六次危机(下)
在前几期,我们发现,正如生产关系与生产力之间的相互作用那样,低效的虚拟化数据平面工作机制,会严重约束云计算生产力的发展。
用户8289326
2022/12/13
9420
软硬件融合技术内幕 进阶篇 (5) ——云计算的六次危机(下)
云计算与虚拟化硬核技术内幕 (13) —— 独立自主,自力更生 (下)
在前两期,我们学习了虚拟机上的设备虚拟化,包括中断虚拟化、DMA虚拟化和PCIE设备直通。那么,如果在宿主机上有20个虚拟机,每个虚拟机上有一个网卡,我们应当如何实现呢?
用户8289326
2022/09/08
7440
云计算与虚拟化硬核技术内幕 (13) —— 独立自主,自力更生 (下)
SDN实战团技术分享(三十八):DPDK助力NFV与云计算
DPDK最初动机很简单,网络处理器的软件解决方案,证明IA多核处理器能够支撑高性能数据包处理。 什么是DPDK?对于用户来说,它可能是一个出色的包数据处理性能加速软件库;对于开发者来说,它可能是一个实践包处理新想法的创新工场;对于性能调优者来说,它可能又是一个绝佳的成果分享平台。DPDK在主流Linux包含,比如Debian, Fedora,Redhat, Ubuntu, FreeBSD。 DPDK代码在www.dpdk.org上自由提交,软件发布时间是1年4次,分别是2017年2月、5月8月和11月。本质
SDNLAB
2018/03/29
3K0
在白盒中引入智能网卡(NIC)
将智能网卡(NIC)置于白盒中 白盒是最受欢迎的商用现成(COTS)硬件,可以加入插件实现软件定义网络(SDN)和网络功能虚拟化(NFV)的各种计算和网络功能。但是随着SDN和NFV的发展,人们逐渐意
SDNLAB
2018/03/30
1.4K0
在白盒中引入智能网卡(NIC)
云计算网络技术内幕 小结 (上)
云计算的实质是将集中式的计算机基础架构拆散成为分布式的。具体而言,就是云服务器/容器、云存储和云数据库等云服务实例,取代了单机模型中的CPU,内存和硬盘等组件。
用户8289326
2023/09/06
2670
云计算网络技术内幕 小结 (上)
【重识云原生】第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
        近几年,软件定义网络(Software Define Network,SDN)技术的发展与成熟,使得网络虚拟化可以不再基于物理网络设备实现,大大扩展了网络虚拟化的“边界”。需要强调的是,SDN 不等于网络虚拟化,只是SDN 这种技术非常适合实现网络虚拟化。
江中散人_Jun
2022/06/27
1.3K0
【重识云原生】第四章云网络4.7.1节——网络虚拟化与卸载加速技术的演进简述
详解:网络虚拟化卸载加速技术的演进
在传统的应用场景中,服务器资源过剩情况普遍,为了充分利用服务器资源,产生了虚拟化技术。虚拟化技术以牺牲部分效率为代价提升了资源的使用率,将原来需要硬件完成的工作,通过软件模拟的方式,满足多个云租户的需要。随着5G、8K等新型业务的不断涌现,应用系统对性能提出了更高的要求,云服务也出现了满足不同QoS要求的分化,有(物理机、裸金属)等不同产品形态。各个功能模块的衔接配合,各租户之间的信息交互都需要高效的网络系统来实现。
SDNLAB
2021/11/17
2.2K0
【重识云原生】第四章云网络4.7.8节——SR-IOV方案
        SR-IOV是Single Root I/O Virtualization的缩写。SR-IOV 技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV 标准允许在虚拟机之间高效共享 PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性能媲美的 I/O 性能。SR-IOV 规范定义了新的标准,根据该标准,创建的新设备可允许将虚拟机直接连接到 I/O 设备。
江中散人_Jun
2022/06/30
1.5K0
【重识云原生】第四章云网络4.7.8节——SR-IOV方案
字节跳动提出 KVM 内核热升级方案,效率提升 5.25 倍
作为云计算最重要的底层基础之一,KVM 虚拟化软件在现代的数据中心中应用非常广泛。基于 KVM 的 hypervisor 包括了构成宿主机的软硬件,共同为虚拟机中的应用程序提供高性能的 CPU、内存和 IO 设备等资源。在大规模部署的生产环境中,作为云服务提供商(Cloud Service Provider),如何从技术上保证软硬件的可运维性,一直是大家重点关注的问题。
深度学习与Python
2022/11/28
1.1K0
字节跳动提出 KVM 内核热升级方案,效率提升 5.25 倍
【犀牛鸟论道】揭秘腾讯云网络优化型实例N1:450w PPS网络转发性能如何实现?
云计算正在经历全新的变革,在强大的计算力之上,业务场景正在驱动技术的创新与变革。9月25日,腾讯云正式发布第三代云服务器(CVM)矩阵,最新的计算、存储、网络和异构计算实例首次亮相。截至目前,腾讯云提供的云服务器(CVM)矩阵包含了26款实例,全面覆盖电商、视频、游戏、金融、基因测序、智能语音、汽车、医疗、物联网等192种业务场景,开启全行业的计算提速。 腾讯云正式发布第三代云服务器矩阵,新推出网络优化型N1等在内的多款实例。 相比标准型、高IO型、内存型、计算型和FPGA型等实例类型,网络优化型N1实例采
腾讯高校合作
2018/03/21
1.4K0
【犀牛鸟论道】揭秘腾讯云网络优化型实例N1:450w PPS网络转发性能如何实现?
全融合网络虚拟化技术
服务器虚拟化技术 使CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,让IT对业务的变化更具适应力。 IT系统是由网络服务器存储等诸多因素组成的,局部的创新并不会带来
SDNLAB
2018/04/03
1.3K0
全融合网络虚拟化技术
一文读懂SmartNIC
传统网卡仅实现了 L1-L2 层的逻辑,而由 Host CPU 负责处理网络协议栈中更高层的逻辑。即:CPU 按照 L3-L7 的逻辑,负责数据包的封装与解封装;网卡则负责更底层的 L2 层数据帧的封装和解封装,以及 L1 层电气信号的相应处理。
SDNLAB
2021/07/27
3K0
一文读懂SmartNIC
NFV中:DPDK与SR-IOV应用场景及性能对比
DPDK与SR-IOV两者目前主要用于提高IDC(数据中心)中的网络数据包的加速。但是在NFV(网络功能虚拟化)场景下DPDK与SR-IOV各自的使用场景是怎样的?以及各自的优缺点?
Flowlet
2022/08/18
1.6K0
NFV中:DPDK与SR-IOV应用场景及性能对比
NFV要来了
这个关于SDN&NFV的博客已经写了有一年了,竟然一直在写SDN,从来没有写过NFV。今天终于打算开始写第一篇关于NFV的文章,主要是因为个人觉着NFV已经箭在弦上,离落地不远了。关于NFV的文章有很
SDNLAB
2018/04/02
1K0
NFV要来了
虚拟化与云计算硬核技术内幕 小结 (上)
Intel为了让自己主导的x86架构处理器,能够从桌面领域进入到利润更高的服务器领域,在1998年推出了“至强”Xeon处理器,并迅速提升了Xeon处理器的内核数到4核以上。虚拟化作为充分利用服务器计算能力的手段,也需要在x86架构上顺畅高效运行。
用户8289326
2022/09/08
8920
微软Azure加速网络:公共云中的SmartNIC
来源:内容由「网络交换FPGA」编译自「nsdi18」,谢谢。Azure是数据中心的行业标杆,其应用规模和技术都是非常值得借鉴的,文中总结了来自产业界宝贵的经验和教训,探讨为何FPGA是最适合数据中心架构的原因。故翻译此文。
网络交换FPGA
2020/04/21
5.2K0
微软Azure加速网络:公共云中的SmartNIC
ATT计划推出6万台dNOS支持的白盒设备以实现5G
AT&T计划在未来几年内在其网络中安装超过6万台开源软件驱动的白盒设备,以支持其5G计划。该运营商本周一表示,这些白盒路由器是其积极重组网络架构的重要组成部分,也是支持5G服务的关键。 AT&T实验室
SDNLAB
2018/06/11
5950
X86服务器虚拟化的资源划分和性能优化
概述:虚拟化是一个广义术语,通常是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案.服务器虚拟化则是一项用以整合基于x86服务器,来提高资源利用效率和性能的技术.本文从企业业务系统和管理角度出发,着重分析研究了X86技术架构下,虚拟网卡与SR-IOV、NUMA、虚拟磁盘格式相应的特点,并探索了不同应用场景下的资源划分和性能优化方案,希望能够通过多应用系统下的实践和最优配置,来提高X86服务器的性能和资源利用效率.
孙杰
2019/10/29
2.5K0
X86服务器虚拟化的资源划分和性能优化
推荐阅读
相关推荐
虚拟化及云计算硬核技术内幕 —— 小结 下
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文