亚马逊AWS官方博客

使用 Amazon EC2 G4 实例搭建云游戏服务器

Amazon EC2 G4实例提供了极具成本效益的GPU,并支持实时光线追踪技术,可以使游戏渲染更加高效和真实,为云游戏提供经济高效的解决方案。本文从G4实例在云游戏服务器使用方面的优势、应用场景等方面进行介绍,并用动手实践文档向您介绍如何使用G4实例搭建云游戏服务器,帮助您快速上手。

G4实例基本介绍

Amazon EC2 G4实例提供最新一代的NVIDIA T4 GPU,AWS定制的Intel Cascade Lake CPU,最高100Gbps的网络吞吐量,最高1.8TB的本地NVMe 存储,用于在生产和图形密集型应用程序中部署机器学习模型。G4实例针对需要使用基础GPU软件库的机器学习应用进行了优化,非常适合承载机器学习应用程序。G4实例同时也是图形密集型应用的经济高效解决方案,例如远程图形工作站、视频转码、云游戏等。G4实例有不同的大小,配置从1个GPU到最多8个GPU,供客户灵活选用。

 

G4实例在云游戏场景中的优势

  • 性能提升:

G4实例配备了NVIDIA T4 GPU,可以提供260个TFLOP性能,多达256GB的内存,通过 Nitro 架构的 ENA 网卡提供的最高100Gbps网络吞吐量,以及最高1.8TB的本地NVMe存储,是机器学习、图形计算的理想解决方案。

NVIDIA T4 GPU性能参数:

Tensor 核心

CUDA 核心

单精度FP32

混合精度 (FP16/FP32)

INT8精度

INT4 精度

320个 2560个 8.1 TFLOPS 65 TFLOPS

130 TOPS

 

260 TOPS

NVIDIA GPU 系列芯片对比:

架构

Tesla型号

实例系列

GPU 发布

制成

最小实例规格

Kepler K80 P2 2014 28nm p2.2xl 4C/61G
Maxwell M60 G3/G3s 2015 16nm g3s.xl 4C/31G
Pascal P4/P100 2016 16nm
Turing T4 G4 2018 12nm

g4dn.xl 4C/16G

125G SSD

Volta V100 P3 2017 12nm p3.2xl 8C/61G

 

  • 实时光线追踪能力

G4实例所搭载的NVIDIA T4 GPU是云上第一款提供了 RT核心、支持 NVIDIA RTX实时光线追踪的 GPU实例。实时光线追踪技术使单个GPU可以渲染视觉非常逼真的3D游戏,在专业模型上渲染出无与伦比的光源反射、折射与阴影的物理表现。实时光线追踪提供了最逼真的场景。 设计师和艺术家可以通过实时逼真的渲染,人工智能增强的图形以及视频和图像处理,以新的方式创建内容。有了光线追踪,反射、阴影、环境光遮蔽和全局照明才能呈现出最佳效果。现在,我们终于能将这些技术应用到游戏中,呈献给游戏玩家前所未有的保真度、真实感和沉浸感。

RTX 实时光线追踪原理上通过进入“摄像机”的光线,来回溯寻找光源。大部分从光源发出被折射或者漫反射不被玩家所看到的光线将不会被运算,这种思路将需要实时计算的光线数量降低了数十倍,使得实时光线追踪技术至少提前十年成为现实。

开发商EA的《战地风云5》游戏Alpha版在 RTX 光线追踪关闭和开启情况下的场景对比。

  • 第二代Tensor 核心

G4实例是继P3/P3dn 之后第二款GPU支持 Tensor 核心的实例, 通过利用NVIDIA  Tensor RT 推理框架,实现了快速的 INT8矩阵张量运算能力,从而以最小的精度损失大大提高了推理吞吐量。而NVIDIA T4也是NVIDIA第二代 Tensor 核心 GPU,增加了新的低精度 INT4矩阵运算能力,可以在保持 CUDA 编程性不变的情况下为深度学习AI应用程序实现最高性能。

在3D游戏场景中这些 Tensor 核心也同样能够发挥作用,NVIDIA 提供了基于深度学习超采样(DLSS)方式的抗锯齿技术,通过 AI 方式以很小的帧率损失代价换取足够优异的采样效果,提升游戏细节真实度。另外引入 AI增强算法用于修补涂改受损的图像,AI Slow-Mo 用于视频插帧从而生成慢动作视频,AI Super Rez 自动插入像素从而提升分辨率(支持视频30fps 实时1080p提高到4k 分辨率),这些特性都是NVIDIA NGX(Neural Graphics Acceleration)借助 Tensor Core 通过深度神经网络算法实现的效果。

  • 多种高级着色技术

着色器是一个在 GPU 上运行的程序,控制着渲染过程的各个方面:如何安排顶点与当前摄像机视角的相对位置;随着观察者视角的靠近,较大物体如何分解成较小的三角形;或如何在物体表面给定点反射光线。而 Turing 架构引入了四种新型着色技术:

1)网格着色:面对复杂、庞大的场景,不再逐一计算每一个物体的所有细节,而是由 Turing GPU灵活地计算物体细节等级(LOD),踢出被遮挡的,削弱低细节的,再加上传统曲面细分技术,更高效地生成真正实际需要的三角形,也能大大减轻CPU负担。

2)可变率着色:按照场景中的复杂度不同,分区域动态调整着色速率和资源分配,目的还是减轻GPU负担、避免不必要的资源浪费,最终有利于提升渲染效率、游戏帧率。

3)纹理空间着色:在视角发生变化时不用再一帧帧重复计算精确颜色导致 GPU 浪费,而采用重复过去的物体纹理颜色。

4)多视图渲染:可以同时渲染最多4个视图,可以加速 VR ,头戴显示器以及全息显示屏场景下的渲染性能。

  • 提高图形计算效率

与上一代Amazon G3实例相比,G4实例的图形性能提高了1.8倍,视频解码能力提高了2倍。NVIDIA T4 GPU还可以用于图形应用程序和3D渲染,能够在当今游戏环境中提供 4K 60 FPS 体验,并支持最新的API:DirectX 12,OpenGL 4.6,OpenCL 2.2,CUDA 10.1和Microsoft DXR。通过G4实例与NVIDIA Quadro vWS驱动相结合,从而支持最新的光线跟踪API,包括Microsoft DXR,NVIDIA OptiX和Vulkan。

 

G4实例在云游戏场景中的应用

  • GPU 驱动的云游戏渲染

G4实例所搭载的 Turing 架构GPU也将NVIDIA的游戏能力带到了AWS。可以使用GPU的硬件编码器引擎(通NVIDIA过Video Codec SDK对其进行编程)来渲染和传输最复杂的游戏。游戏发行商可以基于最新的NVIDIA技术构建自己的云游戏实例,并使几乎所有设备上的游戏玩家均可使用其完整的PC游戏特性,以高分辨率以快速,流畅的帧速率享受游戏,而无需担心硬件性能、驱动补丁。获得支持云游戏的驱动可以在AWS 海外区域Marketplace中选择NVIDIA Gaming 的AMI,支持1台4K 分辨率的远程显示器。如果需要用得更多高级图形工作站特性(例如:提供4台4K 分辨率的远程显示器),也可以选择NVIDIA专业图形工作站驱动。在AWS 海外区域可以从Marketplace中选择NVIDIA Quadro Virtual Workstation (Quadro vWS) 的AMI,该 AMI 有额外的许可证费用(中国区需要 BYOL 方式安装驱动)。在许可证上面,G4实例这一点不同于集成了GRID vAPPs许可证的 G3/G3s实例。

  • 音视频流媒体传输

在云游戏场景下,游戏是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。那么除了云端服务器渲染能力之外,音视频流媒体数据的传输能力和效率也会是重要因素。在AWS EC2环境中,我们推荐您使用NICE Desktop Cloud Visualization (DCV),它是 AWS 的远程桌面产品,它的自适应流协议使您的云服务器可以为客户端提供近乎实时的响应能力,同时不影响图像的准确定(Amazon Appstream 2.0 与AWS RoboMaker就是通过 DCV 提供流传输协议能力)。只需要在G4实例上安装DCV的服务器端,在电脑终端启动DCV的客户端或者 Web浏览器就能连上G4实例。 NICE DCV在AWS EC2上使用是完全免费的。

  • 娱乐与 AR、VR、MHD

在增强现实、虚拟现实、头戴智能显示器领域G4实例通过实时光线追踪技术、DLSS 抗锯齿技术、MVR(多视图渲染)、VRS(可变速率着色)技术能够获得更加逼真的沉浸式体验,这为AR/VR类云游戏提供了基础。在新平台架构上NVIDIA VRWorks Audio 的运行速度可提高 6 倍。其光线追踪的音频技术能够实时创建虚拟环境的物理逼真声学图像。

 

 

动手实践: 使用G4实例搭建云游戏服务器

本实验演示在G4实例上使用NVIDIA GRID vGaming 驱动程序搭建云游戏服务器,并进行验证和使用。

步骤 1:启动带Gaming驱动器的G4实例

登录AWS控制台,跳转到EC2服务页面,点击【启动实例】进入到新实例启动界面。在上方的搜索栏中搜索“NVIDA Gaming”,可以在AWS MarketPlace中看到多个操作系统版本预装NVIDAI Gaming驱动的AMI,在本实验中我们选择“NVIDIA Gaming-Windows Server 2019”,点击【选择】按钮进入下一步。

在实例类型选择中看到几种G4实例类型,可以根据您的需求进行选择,我们示例选择g4dn.xlarge。之后几步(配置实例、添加存储、添加标签)均保留默认选项。

在安全组设置中确保3389端口打开,用于之后通过Remote Desktop Protocol连接到Windows实例。

最后进入到审核页面,查看各项选择无误,点击【启动】按钮。在弹出的对话框中选择【创建新密钥对】,为您的密钥对命名,然后点击【下载密钥对】将密钥对下载到本地,放在安全的目录中妥善保存,之后登录实例时会用到。

步骤 2:连接G4实例

之后在EC2实例列表中找到刚才启动的实例,选中实例,点击上方的【连接】按钮。点击【下载远程桌面文件】下载RDP客户端,在客户端中配置连接(实例的DNS名称或公有IP地址)、用户名(Administrator)和密码(使用之前下载的密钥生成),连接到G4实例。

步骤 3:查看GPU与vGaming驱动

在登录后的Windows系统中,打开命令行对话框,输入以下命令:

“C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe” -q

可以看到T4 GPU的信息,以及GRID vGaming驱动已经授权的状态,如下图所示,License Status为Licensed。

打开任务管理器,可以看到GPU的运行状态。

步骤 4:安装NICE DCV用于远程桌面连接

使用云端G4实例作渲染和展示时,需要用专业的远程桌面连接软件,例如NICE DCV。在AWS的EC2实例上使用NICE DCV不需要付License费用,只需要给EC2赋予访问License所在S3存储桶的权限即可。

首先登录到Windows实例,前往 Server Manager 关闭 IE Enhanced Security Configuration,若不修改我们每次访问外部网站都会被 IE 拦截。完成下载后,我们建议您开启 IE Enhanced Security Configuration 来保证服务器安全。

从官网上下载 NICE DCV Server (https://download.nice-dcv.com),跟随引导程序,保持默认选项,完成安装。


NICE DCV 默认使用 8443 端口,因此您需要在该 EC2 的安全组规则中添加 8443 端口。回到AWS管理控制台,找到G4实例,修改安全组,允许8443端口的访问。

接下来需要为该 EC2 配置 NICE DCV 的 License。我们需要为该 EC2 创建一个 IAM 角色,使得该 EC2 可以访问存储在该区域的 S3 存储桶中的 NICE DCV License。在AWS管理控制台中选择IAM服务,点击左边栏的【策略】标签,点击【创建策略】按钮创建一个新的策略,输入下面的JSON策略规则:

示例中的G4实例启动在东京区域,如果您的实例启动在其他区域,可以相对应修改Resource一栏中区域的代码,将 ‘ap-northeast-1’改成对应的区域,如果在中国区需要将 ‘arn:aws’ 改成’arn:aws-cn’。

之后使用刚才创建的策略创建新的角色,在IAM服务中点击左边栏的【角色】标签,点击【创建角色】按钮进入创建IAM角色的流程。

在使用角色的服务中,选择EC2,在之后的策略中选择您刚才创建的策略。

回到AWS管理控制台的EC2服务页面,选中G4实例,点击【操作】->【实例设置】->【附加/替换IAM角色】,找到刚才创建的IAM角色,点击【应用】进行替换。之后G4实例上安装的NICE DCV就拥有License授权了。

现在您需要在自己的 PC 上安装 NICE DCV 客户端用于远程登录 G4。在官网上 (https://download.nice-dcv.com/) 下载安装 NICE DCV Client。

安装完成后输入 EC2 的 IP 地址,用户名和密码即可远程登录该 EC2。

步骤 5:使用GPU开始云游戏

使用NICE DCV客户端登录G4实例后,您可以下载您的游戏,开始实时的云游戏运行与传输。示例中我们使用Minecraft,它从1.12版本开始支持实时光线追踪技术。下载Minecraft启动器,启动默认最新版本,打开一个场景,可以看到呈现出一个像素般的世界。

下载支持光线追踪的插件和素材库后(我使用的是Forge和Sonic Ether提供的 SEUS PTGI),进行一些参数的调整之后,通过Forge打开相同的世界,可以看到在实时光线追踪技术的支持下,呈现出的是一个完全不同的画面。无论是天空、云彩、阴影还是水面的波动,都更加真实。

相应的,打开任务管理器会看到,GPU发挥了完全的功效。

现在,您可以为您的玩家提供高画质的云游戏服务了!

 

参考文档

G4实例参考文档:

入门指南:

https://aws.amazon.com/cn/ec2/instance-types/g4/

用户指南:

G4实例使用指南(Linux系统)

https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-grid-g4

G4实例使用指南(Windows系统)

https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/WindowsGuide/install-nvidia-driver-windows.html#nvidia-grid-g4

G4实例动手实践参考博客:

NICE DCV介绍

https://aws.amazon.com/cn/hpc/dcv/

G4 实例 + NICE DCV 打造云端图形工作站

https://amazonaws-china.com/cn/blogs/china/g4-instance-dcv-build-cloud-graphics-workstation/

 

本篇作者

李思源

AWS解决方案架构师,负责基于 AWS 的云计算方案的咨询与架构设计,同时致力于 AWS 云服务知识体系的传播与普及。在网络、软件开发等领域有实践经验,加入AWS 之前曾任软件开发工程师、Scrum master、项目经理等角色,PMI认证PMP。目前关注游戏、高性能计算等领域。

莫梓元

AWS 解决方案架构师,有着超过5年的云计算领域从业经验,工作中担任过解决方案、售前、研发、实施、运维等多种角色。加入 AWS 之前,作为技术骨干负责中国联通基于 OpenStack 的沃云平台自研工作。