一、背景:
随着互联网和通信技术的蓬勃发展,云计算产业已经成为计算机行业的重要一环。而云游戏又是其中异军突起的应用场景。云游戏服务将游戏的计算渲染任务从传统的用户端向服务端集中。在众多不同的云游戏实现方案中,在服务器上利用虚拟化技术运行游戏是目前各云游戏厂商的主要方案之一。基于虚拟化技术实现的云游戏方案在大幅降低用户进行游戏所需要的计算机硬件配置的同时也对服务端虚拟机的性能,功能,稳定性和成本等方面提出了不同于传统应用场景虚拟机的新需求。但是目前主流的虚拟机实现方案都并未针对游戏做出特殊优化。不管是传统的通用计算型虚拟机,GPU计算型虚拟机还是存储型虚拟机等在性能,稳定性,功能性上的要求都和云游戏虚拟机需求有较大不同,例如通用计算型虚拟机侧重于CPU的多核并发能力对CPU的多核性能有较高需求,而游戏普遍对CPU多核性能需求并不强烈反而对CPU单核性能有较高要求。又譬如传统的GPU计算型虚拟机虽然也具备图像渲染能力,但是其主要应用场景还是集中在数据运算,深度学习,科学计算等侧重于浮点计算场景,而游戏则侧重于GPU的光栅渲染能力和高IO能力。因此针对这些传统虚拟机应用场景设计的评测模型和方法难以准确反应云游戏特殊的应用场景需求。
二、处理器模型
云游戏虚拟机作为游戏画面计算渲染的主体,首先要满足游戏对性能的要求。游戏对硬件资源的消耗与游戏类型,分辨率,画质选项等因素息息相关。目前主流游戏按照性能消耗来划分主要分为CPU瓶颈类游戏和GPU瓶颈类游戏,CPU瓶颈类游戏是指该游戏在主流硬件配置下决定其帧率上限的是CPU的性能尤其是单核性能,其中比较有代表性的游戏是《英雄联盟》,这类游戏对主流GPU的占用率往往不高,换用更高级的GPU对游戏帧率的提升并没有帮助。与之相反的GPU瓶颈类游戏则是对GPU性能更加敏感,典型是《赛博朋克2077》,GPU性能决定其帧率上限,主流GPU占用率往往达到100%,这时更换性能更好的GPU即可提升帧率。除此之外,同一款游戏在选择不同的分辨率和画质也会对帧率有较大影响,而且提升分辨率和画质对GPU的性能消耗往往要远大于CPU,因此会造成一种现象即某款游戏在1080P分辨率低画质下是CPU瓶颈,而调整到4K分辨率高画质后会转化为GPU瓶颈。但是云游戏虚拟机和传统家用游戏电脑的区别在于,一台家用游戏电脑侧重于全部资源用于提升单一游戏进程的分辨率、画质和帧率,而一台云游戏虚拟机的宿主机则需要同时运行多个实例,利用容器或者虚拟化技术实现多个游戏进程并发运行,而虚拟机内还需要运行串流和监控等服务程序,需要一定的并发性能。现阶段由于网络带宽限制,云游戏要求的分辨率和帧率往往低于高端的家用游戏电脑。因此云游戏虚拟机只需保证游戏进程达到串流所需的分辨率(1080P、2K)和帧率(60Hz、144Hz)即可,超出的分辨率和帧率无法传输到客户端,是一种资源浪费。
基于以上需求分析,我们认为云游戏虚拟机在CPU方面相较于传统计算型虚拟机其单核性能要求更高,相较于传统家用游戏电脑,云游戏虚拟机则对多核并发能力有一定要求,对其的量化建模需要考虑单核多核性能均衡。
三、其他模型
请查看本专栏其他文章