很快:偶尔需要50个云虚拟机10分钟,每次需要1-2次 一天。
任务是处理数百GB的数据。数据处于小块状态,所有处理代码都已实现,可以从一个到几百个核心进行扩展。平均数据集在50VM上处理需要10分钟(每个都有16 + GB RAM,总共200个核心)。
处理任务很少且不可预测(按用户请求),因此无需始终保持云VM的安装。
但是,大多数云服务的扩展速度都很慢,因此在50个虚拟机上运行10分钟"转向30多分钟,浪费时间在虚拟机上启动 - 即使在这种情况下,资源也不会100%使用,因为当最后的虚拟机最终在线时,任务已经处理完毕。在那之后出现了#34;完全浪费"这些VM关闭了30多分钟,但仍然被收费。
是否有任何已知的云服务能够快速启动和停止50个VM以执行此类任务?优选地,具有透明的定价。
答案 0 :(得分:0)
如果您的工作具有容错能力,则可以使用Google Cloud的可抢占实例。有些实例持续长达24小时,然后它们会自动关闭,比正常情况便宜约70%。
如果机器在不到10分钟内关闭,它就是免费的。 此外,Google Cloud的实例在我使用的所有其他提供商(包括AWS)中最快。旋转通常需要不到30秒。
欲了解更多信息:
https://cloud.google.com/compute/docs/instances/preemptible
为了一次启动多个实例,您可以执行以下操作:
1 - 创建一个实例,安装批次所需的所有必要软件。
2 - 从此实例创建一个可以重复使用的图像
3 - 使用该映像创建新的实例模板,并指定您需要可预先实例。现在,您从此模板创建的任何实例都可以使用。这很容易做到,因为创建模板看起来非常像创建一个独特的实例。
4 - 根据该模板创建一个实例组。这样做时,您可以指定所需的实例数(在您的情况下为50)。 GCP会立即旋转它们。
5 - 现在可以在你想要的时候自己杀死它们,或者你可以将它们留下来,它们将活到24小时并自动被杀死。您可以随时更改实例组中的实例数。
更多信息: https://cloud.google.com/compute/docs/instances/preemptible#preemptible_with_instance_groups
这是最简单,最干净的方法。您只需要执行一次,然后只需点击几下即可随时根据需要旋转实例。
另一种方法是编写一个循环并创建实例的小脚本,50次。
希望这有帮助。
答案 1 :(得分:-1)
您可以考虑使用专为高性能计算(HPC)设计的Azure Batch服务。 它意味着在100或100的VM上运行计算密集型任务并自动扩展。您可以按需运行或根据计划运行它们。一旦虚拟机准备好开始运行任务,您就可以付费。
以下是一些有用的介绍性链接
Azure Batch适用于HPC,因此您应首先考虑您的工作是否属于该类别,并且需要这些资源。
我不了解其他云平台,因此无法帮助您。