服务器 频道

Win2008 HPC提交作业攻略指南

  【IT168 专稿】作业为用户访问由其 Windows HPC Server 2008 群集提供的计算资源提供了一种方法。作业可以通过各种不同界面提交到系统。将作业提交到计划程序时,作业将被放入队列中,直到所分配资源可用为止,然后这些资源运行作业中的任务。

  作业和任务概述

  Windows HPC Server 2008 作业是资源请求。作业会请求"在 Z 时间量内使用 X 数量的 Y 资源"。例如,作业可能会请求使用"有大量内存"组中的八个节点两个小时。

  作业在计划程序队列中等待的时间取决于多种因素,包括:

  作业需要什么资源

  当前正在运行什么作业

  队列中有其他什么作业

  由群集管理员配置的计划策略

  可通过以下方式减少作业必须在队列中等待的时间量:

  使用高优先级提交作业

  为作业指定准确的最长运行时间

  请求尽可能少的资源

  不限定所需资源的类型

  将资源分配给作业时,计划程序使用这些资源执行作业中的任务。任务是一个要执行的命令,以及有关该命令所需运行方式的某些相关信息。

  作业可包含一个任务、多个任务,或无任务(这解释为:"为我预留一些资源,稍后我将想出如何使用它们")。作业中的任务可以完全独立,也可能互相依赖并需要以特定顺序运行。可以通过定义任务之间的相关性来建立任务的运行顺序。

  有两种类型的任务:

  基本任务   带有某些有关如何运行任务的元数据的命令行。例如,若要运行消息传递接口 (MPI) 应用程序,可创建基本任务,其中命令为 mpiexec [mpi_options] <myapp.exe> [arguments],且该任务请求跨越多个节点的多个资源。

  参数任务   包含通配符 (*) 的命令。例如,<myapp.exe * > [arguments]。命令运行多次,每个实例使用不同值替换该通配符。

  提交作业

  在 Windows HPC Server 2008 中,提交作业有三个基本步骤:

  创建新的作业。

  为作业指定相应的作业模板。

  提供有关作业的资源要求的详细信息。

  将任务添加到作业。

  提交作业。

  可以使用 HPC 作业管理器、命令提示符窗口或 HPC PowerShell 创建作业。

  注意:可以通过创建使用 HPC 基本配置文件 Web 服务的客户端,从其他操作系统或其他编程语言提交作业。
 

  示例作业提交

  为演示如何将作业提交到 Windows HPC Server 2008,本示例创建一个名为"Data File Processing"的作业。该作业包含一个参数任务(一个将针对不同数据集运行多次的任务),并具有以下属性:

  它使用"默认"作业模板。

  其运行不超过 10 分钟。

  其运行所需处理器数不超过四个。

  它对 200 个输入文件(input1.dat、input2.dat … input200.dat)运行 ProcessFile.exe。

  本主题显示如何使用三个主要用户界面提交示例作业:

  使用 HPC 作业管理器提交作业

  使用命令提示符窗口提交作业

  使用 HPC PowerShell 提交作业

  要点:若要提交作业,您必须已在群集上添加为用户,或必须为已在群集上添加为用户的域组的成员。详细信息,请联系您的群集管理员。

  使用 HPC 作业管理器提交作业
 

  步骤 1:创建新的作业

  新建作业的步骤

  打开"HPC 作业管理器":

  单击"开始",指向"所有程序",单击 Microsoft HPC Pack,然后单击"HPC 作业管理器"。

  在"操作"窗格中,单击"新建作业"。

  在"新建作业"对话框的左窗格中,单击"作业详细信息",然后提供作业的以下详细信息:

  在"作业名称"文本框中,键入 Data File Processing。

  在"作业模板"下拉列表中,选择"默认"。

  在"作业运行选项"下,选中"不要运行此作业超过"复选框,然后选择"0 天"、"0 小时"和"10 分钟"。

  在"作业资源"的"选择用于请求此作业的资源类型"下拉列表中,选择"内核"。在"最小"下,保留选中默认"自动计算"。在"最大"下,将值设置为 4。
 

  步骤 2:将任务添加到作业

  将任务添加到作业

  在"新建作业"对话框的左窗格中,单击"任务列表"。

  指向"添加"按钮,单击下箭头,然后单击"参数任务"

  在"参数任务"对话框中,通过设置以下值将清除索引设置为运行从 1 至 200,增量为 1(这将创建 200 个步骤,指数为 1、2、3、4 ... 200):

  将"开始值"设置为 1。

  将"结束值"设置为 200。

  将"增加值"设置为 1。

  可以在对话框底部的"预览清除"下验证索引序列。

  在"命令行"中,键入 ProcessFile.exe *。(此命令将运行 200 次,编号为 1 至 200 以替换清除中每个步骤的 * 字符)。

  在"标准输入"文本框中,键入 input*.dat。(通配符 (*) 将清除索引应用于输入文件。)

  单击"保存"将任务添加到作业并关闭"参数任务"对话框。
 

 步骤 3:提交作业

  提交作业的步骤

  在"命令提示符"窗口中,键入以下命令:

  job submit /id:<myJobID>

  系统提示时,键入密码,然后按 Enter(键入密码时光标不移动且无字符出现)。

  此命令产生以下输出:

  Job has been submitted. ID: <myJobID>.

  继续执行检查作业或任务的状态。

 

  使用 HPC PowerShell 提交作业

  步骤 1:创建新的作业

  新建作业的步骤

  打开 HPC PowerShell:

  单击"开始",指向"所有程序",单击 Microsoft HPC Pack,然后单击 HPC PowerShell。

  创建新的作业并提供作业的详细信息。请注意,参数 -numcores 将最小内核数设置为"自动计算",且将最大内核数设置为 4。键入以下命令:

  New-HpcJob -TemplateName "Default" -Name "Data File Processing" -RunTime "0:0:10" -NumCores *-4

  此命令产生以下输出(其中 myJobID 为 HPC 作业计划程序服务分配给该作业的 ID):(图1)

 

  步骤 2:将任务添加到作业

  使用运行至 200(默认递增为 1)的清除索引添加参数任务。命令 ProcessFile.exe 将运行 200 次,指数为 1、2、3、4 ... 200。使用通配符 (*) 将清除索引应用于输入文件和命令行。在 HPC PowerShell 中,键入以下命令(其中 myJobID 为您在上一步骤中创建的作业的 ID):

  Add-HpcTask -JobId <myJobID> -Parametric -End 200 -Stdin "input*.dat" -CommandLine "ProcessFile.exe *"

  此命令产生以下输出(其中 myJobID 为您在添加任务命令中指定的作业的 ID):(图2)

 

  步骤 3:提交作业

  提交作业的步骤

  在 HPC PowerShell 中,键入以下命令:

  Submit-HpcJob -Id <myJobID>

  系统提示时,键入密码,然后按 Enter(键入密码时光标不移动且无字符出现)。

  此命令产生以下输出:(图3)

 

  继续执行检查作业或任务的状态。

  检查作业或任务的状态

  在提交作业之后,可以使用 HPC 作业管理器、命令提示符窗口或 HPC PowerShell 查看其状态。

  在 HPC 作业管理器中查看作业或任务的状态

  在"导航"窗格中,选择以下各组作业之一:

  若要显示系统中所有未完成的作业:在"所有作业"下,单击"活动"。

  若要显示所有已提交的作业,请单击"我的作业"。

  作业列表将出现在中心窗格中。单击"数据文件处理"(上一主题中创建的示例作业)。

  该作业中的任务将出现在"详细信息窗格"中。选中"扩展参数任务"复选框。在参数清除中的 200 个任务将显示为 200 个单独的命令。

  查看任务结果:

  双击任务以查看其详细信息和结果。对于早期提交的作业,应显示错误消息,从而说明命令 ProcessFile.exe 未被识别。(还可以双击作业以查看任务的详细信息和结果)。

  从命令提示符窗口或 Windows PowerShell 查看作业或任务

  若要从命令提示符窗口或 HPC PowerShell 查看作业或任务的状态,请键入下表中的相应命令。

 

0
相关文章