热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【真的很先进】阿里云在2018KVMForum上分享的动态迁移实践钱小小

信息来源:https:segmentfault.coma1190000017103830【如文中所说:如何解决实际生产环境中遇见的现实问题,正受到业界越来越多的重视。确

【真的很先进】阿里云在2018-KVM Forum上分享的动态迁移实践

信息来源:https://segmentfault.com/a/1190000017103830

【如文中所说:如何解决实际生产环境中遇见的现实问题,正受到业界越来越多的重视。

确实啊,一线云计算大厂形成的技术壁垒,为其未来的寡头局面奠定了基础。】

 

《Cloudatlas: Ways to Make Live Migration Easy and Expectable》

如何平衡热迁移资源占用与性能开销,同时最小化热迁移对客户的业务影响,是所有公有云厂商都面临的挑战。

阿里云创新性地利用机器学习的方法来预测热迁移的代价以及虚拟机的负载,从而确定一个合理的热迁移的时机和策略,最终提升迁移成功率以及降低热迁移对用户的影响。

阿里云虚拟化团队设计了一个完备的系统来执行热迁移任务的执行。

在演讲中,提到了机器学习算法部分,阿里云使用FFT来判断是否是周期性负载VM,并对周期性负载VM算出周期然后进行预测,对于没有明显周期性负载的VM,团队采用ARIMA和LSTM两个时间序列模型来做回归预测,通过以上三种算法的结合可以快速并准确地预测出95%以上VM在未来24小时的负载趋势,从而找到一个最优的迁移时间。

本次演讲涉及了大量的算法研究,现场听众对使用案例、方案原理、预测效果等非常细节的实现问题进行了进一步的提问。有一位行业专家现场说:这是真正在解决公有云厂商关心的问题。

【ppt下载】

 

 

《A Perfect Solution for Live Migration with Pass-through Devices》
演讲者:阿里云技术专家 徐权

该演讲直击了现有直通设备热迁移的问题:即如何传输设备DMA的内存和如何保存和恢复设备的状态。

演讲深入分析了现有的一些方法和存在的问题。比如Intel在82599网卡上,在虚拟机内部设备驱动引入self emulation layer,模拟设备DMA写操作,和恢复保存设备状态。

但由于特定的设备驱动才能工作,而且设备本身设计的缺陷(寄存器只读,在恢复中无法100%恢复),并不能很好地解决问题。而如果从新的硬件和设备驱动的角度切入,在成本投入上是巨大的,而且增加了软件的维护成本。

解决方案:

阿里云扩展了virtio硬件的功能,如感知虚拟机热迁移,提供设备bitmap记录设备DMA访问内存,以及设备所有的寄存器能够动态地保存和恢复,同时修改现有的热迁移和VFIO软件框架。

这样能最大限度地利用现有设备驱动,很好地支持Windows和Linux虚拟机,并不需要单独维护各个版本的设备驱动,大大降低了成本。

【ppt下载】

【在you tu be上看了下演讲视频,讲解的比较模糊,重点工作在于DMA的bitmap和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渲染任务的流畅迁移。

【ppt下载】


推荐阅读
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 流数据流和IO流的使用及应用
    本文介绍了流数据流和IO流的基本概念和用法,包括输入流、输出流、字节流、字符流、缓冲区等。同时还介绍了异常处理和常用的流类,如FileReader、FileWriter、FileInputStream、FileOutputStream、OutputStreamWriter、InputStreamReader、BufferedReader、BufferedWriter等。此外,还介绍了系统流和标准流的使用。 ... [详细]
  • STM32 IO口模拟串口通讯
    转自:http:ziye334.blog.163.comblogstatic224306191201452833850647前阵子,调项目时需要用到低波 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
author-avatar
Simon_Diego
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有