我有一个Python代码,我需要在并行计算中运行1000个CSV来进行计算。一个CPU核心可以在8小时内完成每个CSV上的代码运行。
因此,我正在寻找一种方法来使用Azure。我想创建几个虚拟机,比如4x D5v2,每个虚拟机有16个核心,用于访问在64核心机器上运行的Windows Server。
我尝试在同一个Cloud Service中创建这些虚拟机,然后将它们放入相同的可用性集中,该集合运行良好。当所有虚拟机都在运行并且我访问其中任何一个虚拟机时,我看到所有其他虚拟机上的核心都被分配到"其他角色"。
我的问题是:
1)是否可以在4个虚拟机中创建一个假设的虚拟机以使用更多内核?
2)如何将Cloud Service中的所有核心手动分配到一个特定的VM?
答案 0 :(得分:3)
您最好的解决方案是使用Azure Batch使用Batch创建作业,它将在您指定的可运行的CPU上运行。
取自批处理首页
当您准备好运行作业时,Batch会为您启动一组计算虚拟机,安装应用程序和暂存数据,运行具有任意数量任务的作业,识别故障并重新排队工作并缩小工作工作完成后的游泳池。您可以控制规模,以满足最后期限,管理成本,并以适合您应用的规模运行。
答案 1 :(得分:2)
1)是否可以在4个虚拟机中创建一个假设的虚拟机以使用更多内核?
不,你不能。
2)如何将Cloud Service中的所有核心手动分配到一个特定的VM?
你不能这样做。您需要使用云原生解决方案来扩展多个资源的流程。