虚拟化环境下ballooning内存分配策略的性能评测与优化

所做工作

虚拟化技术在一台物理机上提供多份硬件抽象,从而运行多个虚拟机来提高硬件资源利用率。目前虚拟机的内存是在启动时静态分配的,这阻碍了以内存超分配的方式增加虚拟机的数量。使用ballooning技术可以在运行时进行动态内存分配。我们在同一框架和系统环境下对不同的现有ballooning策略进行了测试。我们发现,在同样的负载下,不同的ballooning策略可以导致高达70倍的性能差异,单一的ballooning策略很难同时满足各种负载场景。因此,我们需要针对不同的负载应用不同的ballooning策略。我们实现了一个动态内存分配框架,根据系统的运行状态选择并应用在这种状态下表现较优的策略。我们基于KVM的虚拟化平台实现了我们的系统,我们的系统比不使用ballooning的系统有2~6倍的性能提升,比其他现有的单一ballooning策略有平均1.3~3倍的性能提升。

系统架构

图1:自动选择ballooning策略系统架构

性能测试

图2:系统性能测试

四组数据分别表示我们采用的四种混合负载下不同ballooning策略的性能。每组中最左边的条形表示不采用ballooning的系统性能,最右边的条形表示我们系统的性能,中间条形分别表示采用不同的现有单一策略的性能。

文稿:余天依

编辑:高宇岑

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180716G0WRKX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励