虚拟化从VirtIO without Virt到DPU

VirtIO 是虚拟环境下专门针对I/O的一种半虚拟化的协议框架。在 VirtIO 框架下,可以支持各种不同设备的虚拟化,包括 VirtIO-SCSI,VirtIO-BLK,VirtIO-NVMe,VirtIO-net,VirtIO-GPU,VirtIO-FS,VirtIO-VSock 等等。

而 VirtIO 设备虚拟化的功能一直都是由软件来完成的,设计之初,VirtIO后端是在类似 Qemu这种VMM 里面实现的,后来优化出的VHost技术和VHost-user等也是由软件来完成的。

但是无论如何优化,在性能上来讲,在Host上因虚拟化而产生的额外开销的无法避免的。为了提升云端服务的性能,出现了两种方案:第一种是Bare metal Server,即裸金属服务器,BMS在虚拟化技术上来讲没有任何的演进和创新,而是在服务器的部署和管理方式上虚拟机化了,即能够像虚拟机一样进行快速交付和弹性伸缩。另一种方案是做offload,把一些与业务无关的任务绕开系统,绕开CPU,直接交给专有的硬件去做。

早在2017年re: Invernt大会上,AWS宣布了EC2架构的新演进–Nitro 系统架构,就重新定义了虚拟化基础架构。2015年,亚马逊收购以色列芯片制造商Annapurna Labs。在2017年re: Invernt大会上,AWS宣布了EC2架构的新演进–Nitro 系统架构,将整个服务器的资源(主要指CPU和内存)分给 instances,而虚拟化功能被卸载到专用的Nitro卡上,用以提供网络、EBS和I/O。而Nitro卡就是使用Annapurna Labs定制的ASIC芯片。Nitro System主要由Nitro Hypervisor、Nitro加速卡、Nitro安全芯片三大部分组成,其中Nitro Nitro Hypervisor主要用于替代Xen及其设备处理系统,Nitro加速卡用于处理各Nitro实例的存储、网络、管理、监控以及安全需求,Nitro安全芯片集成在主板上。Nitro 卡包括 Nitro Card for VPC, Nitro Card for EBS, Nitro Card for Instance Storage, Nitro Card Controller, and Nitro Security Chip,分别提供不同的功能。

图片

国内的阿里云在2018年的第二代X-Dragon架构中也实现了虚拟机IO的Offload。

图片

回到Virtio来讲,目前有更多硬件厂商开始尝试原生支持 VirtIO协议,把虚拟化的功能 Offload 到自己的硬件上,这样进一步降低 Host 上因虚拟化而产生的额外开销,做到VirtIO without Virt。目前比较流行的做法是把嵌入式CPU集成到SmartNIC中,网卡处理所有网络中的数据,而嵌入式CPU则被用来做控制路径的初始化和异常情况处理。这种具有Offload的SmartNIC,终将成为一个重要的基本数据处理单元DPU,专门用来处理在数据中心内的各种计算机和存储之间的数据移动和处理。

DPU将成为未来计算发展的三大支柱之一,CPU负责通用计算,GPU负责加速计算,DPU负责数据中心的数据传输和处理,原有CPU和GPU上的很多功能将被Offload到DPU上去。现在云服务厂商竞争的不仅仅是软件,硬件也是云服务商之间军备竞赛的重要因素,未来没有自研CPU、DPU、NIC加持的云服务商,在IaaS领域的生存空间将被挤压的越来越小。

图片

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值