KVM Forum是由Linux基金会组织的高端技术论坛会议,主要为社区各个维护者,开发人员,和用户提供一个讨论Linux虚拟化技术发展趋势以及挑战的交流场所。参会人员都集中在KVM虚拟化相关领域,是KVM社区最为重要和权威的大会。算法
概述安全
2018年度的KVM Forum于10月24-26日在英国爱丁堡召开。本次会议吸引了众多技术专家参与会议。同时,参会公司汇集了各家云厂商以及Red Hat、Intel、IBM、AMD等系统和硬件厂商。性能优化
先来看看KVM Forum的超高人气。网络
第一天的keynote被围得风雨不透。框架
满满当当的就餐区机器学习
本届大会总共有51个主题演讲,覆盖虚拟化各个领域,好比:热迁移、嵌套虚拟化、ARM虚拟化、设备直通、轻量虚拟化、安全及性能优化等方面。性能
热门议题学习
从议题数量和现场效果来看,如下三个领域比较受到关注:测试
嵌套虚拟化
简单来讲,嵌套虚拟化就是解决如何在虚拟机里嵌套运行虚拟机的问题。做为近期新起的热门话题,嵌套虚拟化相关演讲在本次KVM Forum上多达4个。优化
会议介绍了半虚拟化(para-virtualization)VMCS,半虚拟化MSR-bitmap和时钟优化方面的技术,能够提高嵌套时vCPU之间的切换性能,帮助KVM更好地运行在虚拟机里。
另外,会议还涉及了嵌套虚拟化的中断虚拟化性能优化,以及嵌套虚拟化对PowerPC处理器的支持。
能够看到,嵌套虚拟化技术在商用中初步取得了必定的成果,但在安全性上带来的挑战仍然是你们提问的热点。
虚拟化性能优化
事实上,虚拟化的性能优化在近几年的KVM Forum中都比较受关注。在去年的大会上,阿里云高级技术专家张扬就对消息传递类业务在KVM上的性能比较差的问题,虚拟时钟开销的问题,以及消息中间件在KVM看到的性能降低等问题提出过有效的解决方案。
这次,相关的演讲涵盖了vCPU优化,内存优化,和I/O优化。vCPU优化包含了半虚拟化(para-virtualization)方面的优化,如PV TLB shootdown,PV IPI性能优化;内存优化涉及了virtio-mem引入半虚拟化接口,支持内存热插拔等等;I/O优化介绍了vHost Virtio-net 网络接收队列的零页拷贝(zero copy)。
热迁移
弹性调度和动态伸缩是云技术的核心特性。然而,它们都很是依赖底层热迁移的技术性能完善。同时,经过热迁移还能够很大程度下降物理故障对客户的影响。在本届大会上,热迁移相关的演讲所有人气高涨。
在过去的一年,阿里云虚拟化团队对热迁移领域大量投入,得到了大量宝贵的经验。本次参会的3个议题也全都关于热迁移。在此,咱们为你们展开详细介绍。
阿里云在KVM Forum 2018
今年的KVM Forum,热迁移的相关主题演讲一共有五个,阿里云占了其中之三。
《Cloudatlas: Ways to Make Live Migration Easy and Expectable》
演讲者:阿里云高级技术专家 张超;阿里云技术专家 谢峰
阿里云高级技术专家 张超
阿里云技术专家 谢峰
如何平衡热迁移资源占用与性能开销,同时最小化热迁移对客户的业务影响,是全部公有云厂商都面临的挑战。阿里云创新性地利用机器学习的方法来预测热迁移的代价以及虚拟机的负载,从而肯定一个合理的热迁移的时机和策略,最终提高迁移成功率以及下降热迁移对用户的影响。
阿里云虚拟化团队设计了一个完备的系统来执行热迁移任务的执行。在演讲中,提到了机器学习算法部分,阿里云使用FFT来判断是不是周期性负载VM,并对周期性负载VM算出周期而后进行预测,对于没有明显周期性负载的VM,团队采用ARIMA和LSTM两个时间序列模型来作回归预测,经过以上三种算法的结合能够快速并准确地预测出95%以上VM在将来24小时的负载趋势,从而找到一个最优的迁移时间。
本次演讲涉及了大量的算法研究,现场听众对使用案例、方案原理、预测效果等很是细节的实现问题进行了进一步的提问。有一位行业专家现场说:这是真正在解决公有云厂商关心的问题。
《A Perfect Solution for Live Migration with Pass-through Devices》
演讲者:阿里云技术专家 徐权
该演讲直击了现有直通设备热迁移的问题:即如何传输设备DMA的内存和如何保存和恢复设备的状态。
阿里云技术专家 徐权
演讲深刻分析了现有的一些方法和存在的问题。好比Intel在82599网卡上,在虚拟机内部设备驱动引入self emulation layer,模拟设备DMA写操做,和恢复保存设备状态。但因为特定的设备驱动才能工做,并且设备自己设计的缺陷(寄存器只读,在恢复中没法100%恢复),并不能很好地解决问题。而若是重新的硬件和设备驱动的角度切入,在成本投入上是巨大的,并且增长了软件的维护成本。
阿里云扩展了virtio硬件的功能,如感知虚拟机热迁移,提供设备bitmap记录设备DMA访问内存,以及设备全部的寄存器可以动态地保存和恢复,同时修改现有的热迁移和VFIO软件框架。这样能最大限度地利用现有设备驱动,很好地支持Windows和Linux虚拟机,并不须要单独维护各个版本的设备驱动,大大下降了成本。
演讲结束后,现场有十几位专家的技术提问。会后徐权还和Linux 社区VFIO maintainer Alex Wiliamson屡次讨论如何改进现有的VFIO来支持直通设备热迁移的通用框架。
《Live Migration Support for GPU with SRIOV: Challenges and Solution》
阿里云与AMD联合演讲,阿里云演讲者:阿里云高级技术专家 郑晓
GPU的热迁移支持是业界的难点。首先,GPU硬件的调度与上下文切换是以millisecond 为单位的,是CPU的好几个数量级,由此会引起GPU任务的抢占问题。再者,GPU在云计算领域的拓展是最近几年出现的热点,而GPU硬件自己对于虚拟化热迁移的支持还没有完善,好比GPU对local memory的dirty track,对non local memory的dirty track的硬件支持等。这些都为GPU的热迁移带来不少挑战。
阿里云高级技术专家 郑晓
演讲中提到了GPU 任务在迁移途中的时效性,抢占问题,好比GPU硬件自己在还没有支持framebuffer dirty track的时候,如何经过hypervisor的措施,经过系统软件的方法来弥补,以及GPU自己上下文的切换须要处理的细节等等。
全部上面提到的问题在阿里云与AMD联合开发的第一天就开始考虑与设计。其中有众多独有的创新点。例如,在某些型号GPU硬件不支持dirty track的时候,经过软件的方式来跟踪GPU的Framebuffer dirty page;在Service downtime等关键性能指标不符合预期的时候,如何把数据从6秒优化到了0.35秒左右;功能方面,从单机迁移完善到多机多卡迁移;在稳定性方面,从一开始的作一次就宕机,到后续连续上千次的压力测试……
此外,演讲还加入了现场的Live Demo,从使用体验上面来讲,已经能够作到GPU渲染任务的流畅迁移。
该演讲获得了高度关注。会后,部分顶级硬件厂商还与演讲者详细讨论了更多的热迁移细节和性能指标。
小结
参加完本次KVM Forum,咱们深入感受到,如何解决实际生产环境中碰见的现实问题,正受到业界愈来愈多的重视。
经过参会,促进了咱们和虚拟化业界的交流,也让团队获取了大量信息和宝贵经验,这些均可以帮助咱们更好地提高,而且不断打磨提高弹性计算产品的底层能力。