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

阅读数:36 2019 年 11 月 21 日 08:00

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

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

使用 Amazon EC2 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 性能参数:

col 1 col 2 col 3 col 4 col 5 col 6
#### Tensor 核心 #### CUDA 核心 #### 单精度 FP32 #### 混合精度 (FP16/FP32) #### INT8 精度 #### INT4 精度
320 个 2560 个 8.1 TFLOPS 65 TFLOPS 130 TOPS

| 260 TOPS

NVIDIA GPU 系列芯片对比:

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

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

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

开发商 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”,点击【选择】按钮进入下一步。

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

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

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

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

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

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

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

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

步骤 2:连接 G4 实例

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

步骤 3:查看 GPU 与 vGaming 驱动

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相应的,打开任务管理器会看到,GPU 发挥了完全的功效。
使用 Amazon EC2 G4 实例搭建云游戏服务器

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

参考文档

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 的沃云平台自研工作。

本文转载自 AWS 技术博客。

原文链接:
https://amazonaws-china.com/cn/blogs/china/using-amazon-ec2-g4-instance-to-build-cloud-game-server/

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布