2020全球开源基础设施技术峰会分享 | 自研软硬一体化加速方案
2020年全球开源基础设施技术峰会及PTG讨论,以线上的形式于10月19-30日举行。
本次线上峰会议程包括100多个主题演讲和讨论环节,参会人员来自100多个国家的30多个开源社区。涉及的开源项目包括Airship、Ansible、Ceph、Docker、Kata Containers、Kubernetes、ONAP、OpenStack、Open vSwitch、OPNFV、StarlingX和Zuul。
中国移动云能力中心计算产品组杨亚军、戎胤、陶云祥携弹性裸金属软硬件协同方案《Enhancement and Optimization of computing, storage and network for bare metal with hardware offloading》亮相此次线上峰会,分别从弹性裸金属总体介绍、OVS全卸载方案、QoS硬件卸载实践三个角度向大会分享云能力中心在弹性裸金属和硬件网络卸载方面的经验和思考
目录
一、概述
二、弹性裸金属
三、OVS全卸载方案
四、QoS硬件卸载的实践
结语
推荐阅读
一、概述
弹性裸金属,是由自研的磐石服务器和HyperCard智能网卡组成,配合深度改造的大云系列软件,构建成为中国移动云能力中心自主设计研发的软硬一体化计算架构。在此架构中,裸金属服务器与虚拟机以及容器的关系将更加紧密,裸金属服务器的灵活性以及虚拟机和容器的性能会得到大幅提升。
二、弹性裸金属
弹性裸金属的总体研发路线对齐当前通用的虚拟化方案,其中磐石服务器是用于计算服务承载,提供“裸“级别的CPU/RAM能力服务。HyperCard智能网卡是实现一个硬化Hypervisor,用于补充裸金属场景下Hypervisor缺失的不足。
图1 弹性裸金属结构图
HyperCard主要作用是为用户模拟虚拟设备,与Qemu定义类似,用于承担IO设备虚拟化工作。在裸金属层面,HyperCard承担网络和存储设备的虚拟化。通过将HyperCard的虚拟化能力进行功能封装,使其中的管理能力暴露为标准API,做到类似Libvirt的对外控制接口开放。
HyperCard由一个FPGA卡和一个SoC组成,FPGA用于卸载功能实现,SoC用于慢路径和管理软件的实现,并解决传统裸金属场景下管理服务放置问题。
图2 HyperCard逻辑架构图
如上逻辑图所示,所有涉及到对接功能卸载的慢路径软件都运行在SoC中,以此方式,裸金属Host OS中不需要运行任何的云平台功能软件,便可以做到租户所见即所得的标准。
三、OVS全卸载方案
运行于SoC上的OVS-DPDK进程可以通过DPDK 提供的rte_flow作为卸载接口实现Datapath flow的卸载。完整的flow卸载流程如图3所示:
图3 慢路径封包处理/卸载流程
- 1. 租户的业务网络通讯包经过HyperCard;
- 2. HyperCard FPGA查找硬件表项,若无匹配的流规则,FPGA会将封包发送至SoC中,由SlowPath处理,并下发流规则;
- 3. 租户通讯包上送到SoC以及流表卸载的通道都由DPDK处理,这个过程全在通用处理器上处理;
- 4. 后续从网卡收进来同样的通讯包,就会匹配已卸载的FPGA流规则,并执行相应修改或转发动作。
四、QoS硬件卸载的实践
基于OVS的限速可以分为配置限速和OpenFlow限速。OVS本身并不具备QoS功能,其通过配置Linux kernel TC或者DPDK实现QoS,分别在interface表和port表设置出入方向的QoS规则。OpenFlow限速一般是指OVS借助datapath中的meter 表完成限速。
以OpenFlow形式限速的优点是功能强大,可以支持各种按需定制的匹配要求,缺点是性能和精度都较差。我们的硬件卸载加速方案,利用meter表属性,通过配置meter表,并将配置内容以OpenFlow/datapath flow的形式下发给硬件,实现硬件级的QoS性能,弥补OpenFlow限速的性能不足。
结语
通过此次线上大会分享,中国移动云能力中心将自研的软硬一体化架构最新成果作了一个总体的展示,分别从弹性裸金属、OVS全卸载方案、QoS硬件卸载实践三个维度向开源社区分享了我们在新技术的产品化实践过程中的一些想法和方向选择。未来,我们将基于此架构实现对产品基础设施架构的全面升级,将技术力量转换为优质产品,与此同时也会为开源社区贡献更多更好的实践案例和技术分享。
推荐阅读
《ARM SMMU原理与IOMMU技术(“VT-d” DMA、I/O虚拟化、内存虚拟化)》
《用QEMU构建嵌入式LINUX系统》
《Linux虚拟化KVM-Qemu分析(一)》
《Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化》
《Linux虚拟化KVM-Qemu分析(三)之KVM源码(1)》
《Linux虚拟化KVM-Qemu分析(四)之CPU虚拟化(2)》
《在CentOS上进行虚拟化:QEMU、Xen、KVM、LibVirt、oVirt》
《ARM SMMU原理与IOMMU技术(“VT-d” DMA、I/O虚拟化、内存虚拟化)》
《OpenVZ,Xen,KVM等:虚拟化解决方案》
《KVM Virtio: An I/O virtualization framework for Linux(Linux虚拟IO框架)》
《提升KVM异构虚拟机启动效率:透传(pass-through)、DMA映射(VFIO、PCI、IOMMU)、virtio-balloon、异步DMA映射、预处理》
2020全球开源基础设施技术峰会分享 | 自研软硬一体化加速方案相关推荐
- CCF-GAIR 2020 全球人工智能和机器人峰会今日开幕
于 2020 年 8 月 7 日-9 日召开的 2020 全球人工智能和机器人峰会(CCF-GAIR 2020)今日正式开幕.CCF-GAIR 2020 峰会由中国计算机学会(CCF)主办,香港中文大 ...
- 九存支持 2018全球存储半导体大会暨全球闪存技术峰会
[编者按] 九存做为DoIT合作伙伴,支持7月20日.21日在武汉举办的全球存储半导体大会.详见网址:http://www.storagesemicon.com/ 下面全文转发微信公众号DOIT,在2 ...
- 出席 2020 招聘科技创新虚拟峰会 分享 DID 在招聘领域的应用 | ArcBlock 活动
3 月 25 日,ArcBlock 区块基石将出席 2020 招聘科技创新虚拟峰会,分享区块链和去中心化身份技术在招聘领域中的应用. 随着新冠肺炎疫情在全球蔓延,共享用工.灵活用工.远程办公.无接触式 ...
- 把全球大前端技术 ppt 分享给大家
周日把 GMTC 全球大前端技术分享大会的 PPT 看了一遍,虽然这种大会上大多数都是为了宣传自家的技术产品,但是从这些分享中也能了解到一些业界在做的事情,总之,值得一读.这次大会主要内容我截了个图, ...
- 2020 前端开源领域技术展望
导读:可以说开源前端领域正如偏右所说的渡过了波澜不惊的2019年,2020年开启了下一个10年,站在这个起点展望前端的未来,必会面临巨大的变化和挑战.说实话,展望接下来的十年会发生什么?十年对于互联网 ...
- 2017WOT全球软件开发技术峰会:面向数据的思维模式和R语言编程
跨界知识聚会系列文章,"知识是用来分享和传承的",各种会议.论坛.沙龙都是分享知识的绝佳场所.我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果.从听众到演讲 ...
- 2020 OpenInfra Days China 圆满落幕,100+ 全球大咖共话开源基础设施智未来
8 月 16-17 日,2020 OpenInfra Days China 在线上隆重召开.本次大会以"智能开源基础设施"为主题,秉持"无边界协作(Collaborati ...
- 2020 OpenInfra Days China :100+ 全球大咖共话开源基础设施智未来
8 月 16-17 日,2020 OpenInfra Days China 在线上隆重召开.本次大会以"智能开源基础设施"为主题,秉持"无边界协作(Collaborati ...
- GAAS·北京 | 全球资产与科技赋能——2020全球资产配置前瞻峰会
2019年11月16日,由e代理和AnlanCapital主办的"洞见未来 · 2020全球资产配置前瞻"在北京隆重召开. 在整整一天的峰会中,数十位行业专家学者,包括知名宏观经济 ...
最新文章
- 为什么说21世纪是一场ABC的革命?
- AD9288的介绍和使用
- 炎黄盈动AWS PaaS新品重磅发布
- Request.UrlReferrer详解
- 如何阅读AI顶会论文,搭建深度学习知识体系框架?
- linux7 telnet乱码,CentOS7安装配置telnet-server
- 2020各大网站rss订阅源地址_2020-20-18——DJANGO复习
- C++ 形参与实参的传递
- Evernote CEO给想做长久公司创业者的3个建议
- 自定义按键连发工具_微软 PowerToys 增强工具,提升Win10 效率利器
- FFmpeg实现音视频同步的精准片段拼接
- 4月1日起支付宝、微信扫码支付单日限额500元,够用吗?
- 论文常用实验数据收集整理
- mac brew加速
- 运行metamascara时出现的一些错误
- msdn我告诉你win10哪个是专业版
- linux桌面壁纸目录,[多图]回顾每一款默认Ubuntu壁纸
- 什么是url,herf和src的区别
- Windows安装Git cz (commitizen)
- PHP面试题2019年腾讯工程师面试题和答案