KVM Forum是由Linux基金会组织的高端技术论坛会议,主要为社区各个维护者,开发人员,和用户提供一个讨论Linux虚拟化技术发展趋势以及挑战的交流场所。参会人员都集中在KVM虚拟化相关领域,是KVM社区最为重要和权威的大会。

概述

2018年度的KVM Forum于10月24-26日在英国爱丁堡召开。本次会议吸引了众多技术专家参与会议。同时,参会公司聚集了各家云厂商以及Red Hat、Intel、IBM、AMD等系统和硬件厂商。

先来看看KVM Forum的超高人气。

第一天的keynote被围得水泄不通。

满满当当的就餐区

本届大会总共有51个主题演讲,覆盖虚拟化各个领域,比如:热迁移、嵌套虚拟化、ARM虚拟化、设备直通、轻量虚拟化、安全及性能优化等方面。

热门议题

从议题数量和现场效果来看,以下三个领域比较受到关注:

  1. 嵌套虚拟化
  2. 虚拟化性能优化
  3. 热迁移

嵌套虚拟化 
简单来说,嵌套虚拟化就是解决如何在虚拟机里嵌套运行虚拟机的问题。作为近期新起的热门话题,嵌套虚拟化相关演讲在本次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,我们深刻感觉到,如何解决实际生产环境中遇见的现实问题,正受到业界越来越多的重视。

通过参会,促进了我们和虚拟化业界的交流,也让团队获取了大量信息和宝贵经验,这些都可以帮助我们更好地提升,并且不断打磨提升弹性计算产品的底层能力。

阅读原文​​​​​​​

一文带你领略虚拟化领域顶级技术会议KVM Forum 2018的更多相关文章

  1. 一文带您了解5G的价值与应用

    一文带您了解5G的价值与应用 5G最有趣的一点是:大多数产品都是先有明确应用场景而后千呼万唤始出来.而5G则不同,即将到来的5G不仅再一次印证了科学技术是第一生产力还给不少用户带来了迷茫——我们为什么 ...

  2. 一文带你看清HTTP所有概念(转)

    一文带你看清HTTP所有概念   上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性.我们接着上篇文章没有说完的 HTTP 标头继 ...

  3. 一文带你读懂什么是vxlan网络

    一个执着于技术的公众号 一.背景 随着云计算.虚拟化相关技术的发展,传统网络无法满足大规模.灵活性要求高的云数据中心的要求,于是便有了overlay网络的概念.overlay网络中被广泛应用的就是vx ...

  4. 一文带你读懂zookeeper在大数据生态的应用

    一个执着于技术的公众号 一.简述 在一群动物掌管的世界中,动物没有人类聪明的思想,为了保持动物世界的生态平衡,这时,动物管理员-zookeeper诞生了. 打开Apache zookeeper的官网, ...

  5. 实战 | 一文带你读懂Nginx反向代理

    一个执着于技术的公众号 前言 在前面的章节中,我们已经学习了nginx基础知识: 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文 ...

  6. Istio是啥?一文带你彻底了解!

    原标题:Istio是啥?一文带你彻底了解! " 如果你比较关注新兴技术的话,那么很可能在不同的地方听说过 Istio,并且知道它和 Service Mesh 有着牵扯. 这篇文章可以作为了解 ...

  7. 一文带你了解elasticsearch

    一文带你了解elasticsearch cxf2102100人评论160人阅读2019-07-02 21:31:36   elasticsearch es基本概念 es术语介绍 文档Document ...

  8. 【转帖】Istio是啥?一文带你彻底了解!

    Istio是啥?一文带你彻底了解! http://www.sohu.com/a/270131876_463994 原始位置来源: https://cizixs.com 如果你比较关注新兴技术的话,那么 ...

  9. 一文带你了解 C# DLR 的世界

    一文带你了解 C# DLR 的世界 在很久之前,我写了一片文章dynamic结合匿名类型 匿名对象传参,里面我以为DLR内部是用反射实现的.因为那时候是心中想当然的认为只有反射能够在运行时解析对象的成 ...

随机推荐

  1. polly的几种常用方法

    参考资料:https://www.cnblogs.com/edisonchou/p/9159644.html 特征:可以实现一些代码的熔断和降级 代码: ////普通,其中 Fallback相当于降级 ...

  2. Linux_Bash常用脚本

    目录 目录 从用户列表中过滤用户名并创建用户 awktrcut 指令的文本处理 tr指令 cut指令 awk指令 备份文件 测试LFTPServer权限设定 开启Httpd 安装Httpd 批量创建用 ...

  3. C#后台获取当前时间并格式化

    最常用的:DateTime.Now.ToString("yyyy-MM-dd"); //今天DateTime.Now.Date.ToShortDateString(); //昨天, ...

  4. ichunqiu在线挑战--网站综合渗透实验 writeup

    挑战链接:http://www.ichunqiu.com/tiaozhan/111 知识点:后台弱口令,md5破解,SQL Injection,写一句话木马,敏感信息泄露, 提权,登陆密码破解 这个挑 ...

  5. DS-哈希表浅析

    1.哈希表 2.哈希函数 3.哈希冲突 哈希表 哈希表是一种按key-value存储的数据结构,也称散列表. 之前的数组.树和图等等查找一个值时都要与结构中的值相比较,查找的效率取决于比较的次数. 而 ...

  6. bfs(双向bfs加三维数组)

    http://acm.hdu.edu.cn/showproblem.php?pid=2612 Find a way Time Limit: 3000/1000 MS (Java/Others)     ...

  7. Codeforces 1119C(思维)

    题面 传送门 分析 这种题的重点是寻找不变量 我们发现如果改变4个角,则每一行和每一列的xor和不会改变(1^0=0^1) 所以只要算出异或和然后比较就可以 代码 #include<iostre ...

  8. python中bytes和str

    1.python中bytes和str Python3 最重要的新特性大概要算是对文本(text)和二进制数据(binary data)作了更为清晰的区分 (1)Python 3.0使用文本和(二进制) ...

  9. gulp run 报错 gulp[3192]: src\node_contextify.cc:628: Assertion `args[1]->IsString()' failed.

    由于把node升级到了10以上的版本 执行gulp rjs打包文件报错,错误如下: gulp[3192]: src\node_contextify.cc:628: Assertion `args[1] ...

  10. StackExchange.Redis 使用LuaScript脚本模糊查询hash

    原文:StackExchange.Redis 使用LuaScript脚本模糊查询hash 获取redis连接 public class RedisHelper { private static rea ...