Windows Azure HPC 调度程序在计算节点的本地队列中分配任务。但是不同的任务有可能在一个节点上并行运行吗?是否有可能将潜在的并行任务划分为子任务以在计算节点上同时运行?
1 回答
HPC 调度器只有一个队列。因此,如果有足够的资源(例如足够的 CPU 内核),所有作业都会独立运行。一项工作可以有许多任务。
他们如何运行它取决于一种任务。以下是所有任务类型:
Basic
运行串行应用程序或消息传递接口 (MPI) 应用程序的单个实例。MPI 应用程序通常在多个内核上同时运行,并且可以跨越多个节点。此任务类型是默认值。此枚举成员表示值 0。
NodePrep
在分配给作业的每个计算节点上运行命令或脚本。节点准备任务在作业中的任何其他任务之前在节点上运行。如果节点准备任务无法在节点上运行,则不会将该节点添加到作业中。此枚举成员表示值 2。
NodeRelease
在计算每个节点从作业中释放时运行命令或脚本。节点释放任务在作业被用户取消或优雅抢占时运行。当作业被立即抢占取消时,节点释放任务不会运行。此枚举成员表示值 3。
参数扫描
按照开始、结束和增量值指示的指定次数运行命令,通常跨索引输入和输出文件。扫描的步骤可能会或可能不会并行运行,具体取决于任务运行时 HPC 集群上可用的资源。此枚举成员表示值 1。 服务 对分配给作业的所有资源运行命令或服务。当新资源添加到作业时,或者如果先前运行的实例退出并且先前运行的实例正在运行的资源仍分配给作业,则会启动命令的新实例。服务任务继续启动新实例,直到任务被取消、最长运行时间到期或达到最大实例数。一个服务任务最多可以创建 1,000,000 个子任务。您通过面向服务的体系结构 (SOA) 客户端提交的任务作为服务任务运行。您不能将基本任务或参数化扫描任务添加到包含服务任务的作业。此枚举成员表示值 4。
您可以在此处阅读有关不同类型的信息:
http ://technet.microsoft.com/en-us/library/ee783566(v=ws.10).aspx