SimSpace Weaver - 在云中运行大规模的空间仿真模拟

发布于: 雪球转发:0回复:0喜欢:0

我们的世界是复杂的,需要模拟的场景往往也都非常复杂——例如,交通将如何受到一场大型音乐会或体育赛事的影响,这个事件可能需要对数十万独立动态实体进行建模,来代表人或车辆。每个实体都有自己的行为方式,通过建模来定义在模拟世界内的移动和相互互动的反应,这需要比较高的CPU和内存配置。为了将仿真模拟从硬件限制中解放出来,支持很多移动实体的复杂场景,在几周前的2022亚马逊云科技re:Invent全球大会主题演讲上,亚马逊云科技CEO Adam Selipsky发布了SimSpace Weaver。

现在的空间模拟一般只在单一的硬件上运行。如果想模拟更大更复杂的场景,或者是有很多独立实体和动态运动的场景,就需要配备更高配的计算机。仿真开发人员通常被迫在规模和保真度之间做出权衡。而通过SimSpace Weaver,你可以在多个Amazon EC2实例上大规模运行模拟,支持模拟多达一百万以上的独立和动态实体。

当增加模拟的规模或复杂性时,SimSpace Weaver是最佳选择。通过SimSpace Weaver C++ SDK与代码集成,可以更方便地构建模拟,应用程序可以与SimSpace Weaver对接,跟踪模拟实体的全局状态,并实现模拟应用程序之间的实体转移。通过外部客户端连接到模拟,就可以与多个用户实时互动并查看模拟。

SimSpace Weaver如何工作

SimSpace Weaver 可以在多个实例上并行处理空间模拟工作负载,通过指定模拟所需的计算能力以及如何将其分割成分区,在多达10个EC2实例上扩展模拟。SimSpace Weaver负责处理Amazon EC2实例的配置,启动模拟应用程序,并在模拟结束后清理环境。在下面的图片中,你可以看到一个空间区域,在空间上被分割成不同的实例。每一行代表一个实例,该图片中的模拟实例包含10个实例,每个实例处理16个分区。

地图被分割成不同的实例

在处理多个分区时,你不需要担心在分区之间转移实体的复杂问题。无论分区是在同一个Amazon EC2实例,还是在不同的实例中,SimSpace Weaver会处理进行转移的网络和内存管理。SimSpace Weaver本身不是一个模拟器,而是基础设施创建和管理者。在SimSpace Weaver上可以跨实例建立模拟器,有效地将多个实例编织成一个单一的体验。SimSpace Weaver还提供另一个重要功能是调度器。调度器使所有分布式分区以设定的模拟勾选率(10、15或、30赫兹)保持同步,因此模拟的行为就像在一台机器上运行一样。

SimSpace Weaver在美东(俄亥俄州)、美东(北弗吉尼亚州)、美西(俄勒冈州)、亚太(新加坡)、亚太(悉尼)、欧洲(爱尔兰)、欧洲(法兰克福)和欧洲(斯德哥尔摩)区域提供,可以在控制台或通过CLI使用SimSpace Weaver。在控制台中,可以使用一键式样本,来尝试一个简单的模拟例子。这个模拟分四个不同的分区,涉及球形实体,在模拟世界中自由移动,避开彼此和静态物体。下面向导列出使用的主要步骤。

1、下载客户端演示程序:这是一个客户端应用程序,可以用来查看云中运行的模拟。只能使用装有Windows操作系统的电脑来运行;点击亚马逊云科技管理控制台→Amazon SimSpace Weaver,点击 "开始"。

点击 "下载客户端"。

2、启动云中的模拟基础设施:SimSpace Weaver负责部署您所需要的所有基础设施,以运行该模拟。下一步是用Amazon SimSpace Weaver进行模拟,点击 "开始模拟"。

几分钟后,模拟将运行,复制显示的IP和端口。

仿真现在完成了!

3、 查看模拟结果:

最后,从解压的应用程序中运行 "UnrealClient.exe"。在应用程序启动后,将复制的IP和端口粘贴到左下角的文本框中,模拟结果就被显示出来:

最后,我们来看一个SimSpace Weaver的演示例子。

SimSpace Weaver的演示例子

作为全球云计算技术的开创者和领军者,亚马逊云科技在过去的16年中通过持续不断的探索与创新,始终引领着云计算行业的发展方向。借助云的力量,亚马逊云科技已经助力数以百万计的企业在未知领域抓住机遇并茁壮成长,从而重塑企业的现在和未来。