如何让 Azure Batch API 保留池中 VM 的 VM 映像?

How can I tell Azure Batch API to retain VM images for the VMs in the pool?

我正在学习本教程 https://docs.microsoft.com/en-us/azure/batch/tutorial-parallel-python 如何使用 Azure Batch API。

那篇文章并不清楚,但是在批处理 运行 完成后池中的节点发生了什么。

我关心的原因是我将使用的节点在批处理开始之前需要大量设置。是否可以让 VM 在 运行 秒之间保留该设置以节省设置所需的带宽和时间?

此外,如果该设置需要重启(例如在安装 GPU 驱动程序之后),是否可以在使用集群之前重启?

batch_client.pool.delete(_POOL_ID)导致池被删除,这导致它的所有节点也被删除。 在运行之间保持 VM 的方法是 删除池,然后将下一个作业提交到同一个池。

关于您的大量设置,包括 GPU 驱动程序和重新启动,我假设您是通过池启动任务执行此操作。我认为在启动任务中重新启动(假设它是最后一个命令)应该没问题,尽管我还没有尝试过。节点应该在重启后就绪。

也许更好的选择是 use a custom VM image that contains all the complex setup already or alternatively use a Docker container,它也可以包括如此复杂的设置(包括安装 CUDA 等)。