一、背景:
隨著互聯網和通信技術的蓬勃發展,云計算產業已經成為計算機行業的重要一環。而云游戲又是其中異軍突起的應用場景。云游戲服務將游戲的計算渲染任務從傳統的用戶端向服務端集中。在眾多不同的云游戲實現方案中,在服務器上利用虛擬化技術運行游戲是目前各云游戲廠商的主要方案之一。基于虛擬化技術實現的云游戲方案在大幅降低用戶進行游戲所需要的計算機硬件配置的同時也對服務端虛擬機的性能,功能,穩定性和成本等方面提出了不同于傳統應用場景虛擬機的新需求。但是目前主流的虛擬機實現方案都并未針對游戲做出特殊優化。不管是傳統的通用計算型虛擬機,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方面相較于傳統計算型虛擬機其單核性能要求更高,相較于傳統家用游戲電腦,云游戲虛擬機則對多核并發能力有一定要求,對其的量化建模需要考慮單核多核性能均衡。
三、其他模型
請查看本專欄其他文章