Win2008 HPC server集群作业管理之创建步骤
Windows HPC Server 2008 群集作业是对群集上的资源的请求,并且是要运行在这些资源上的任务的负载。群集作业可以很简单,只有一项任务,也可以包括很多任务。最常见的作业类型是 MPI 作业、参数清除作业和任务流作业。
若要创建作业,需要定义一组属性,用于确定作业将如何运行。对于您没有指定的任何作业属性,作业的作业模板将提供默认值。有关作业模板的详细信息,请参阅作业模板。
在定义作业属性之后,可以将一个或多个任务添加到作业中。任务必须包括要运行的命令。如果任务使用 Microsoft 消息传递接口 (MS-MPI) 应用程序,则任务命令的前面必须是 mpiexec。
通过设置任务属性,可以定义任务如何运行。任务可以包括属性,例如要使用的输入、输出和错误文件。在需要的节点、需要的处理器数量、运行时间限制和节点独占性方面,您也可以指定类似于作业属性的任务属性。
通过定义任务之间的相关性,可以定义任务的运行顺序。
(一)新建作业
通过指定作业属性可以创建 Windows HPC Server 2008 群集作业,指定的作业属性包括作业的优先级、作业运行时间的任何限制以及作业的候选资源的说明,可以包括以下属性:请求的节点、节点组、每节点最小内存、每节点最大内存、每节点最小内核数和每节点最大内核数。所有这些属性都是可选的:对于您没有指定的任何作业属性,作业的作业模板将提供默认值。
新建作业
在"作业管理"的"操作"窗格中,单击"新建作业"。
在"新建作业"对话框的左窗格中,单击"作业详细信息",然后提供作业的以下详细信息:
在"作业名称"文本框中,键入作业的名称。
在"作业模板"下拉列表中,选择模板。
在"新建作业"对话框的左窗格中,单击"任务列表"。
将任务添加到作业:
要新建任务,请指向"添加"按钮,单击下箭头,然后单击"基本任务"或"参数任务"。在任务对话框中,提供任务的信息,然后单击"保存"将任务添加到作业,并返回到"新建作业"对话框。
要将保存的任务添加到作业,请指向"添加"按钮,单击下箭头,然后单击"从任务文件"。导航到任务 XML 文件的位置,并单击"打开"将任务添加到作业,并返回到"新建作业"对话框。
在"新建作业"对话框中,可以看见已添加的任务的列表。
(可选)可以设置运行任务的顺序。单击"依存关系"按钮以打开"任务依存关系"对话框。
使用"新建作业"对话框可以根据需要设置其他作业属性。
单击"提交"。
(二)添加 MPI 任务
通过 Microsoft 消息传递接口 (MS-MPI) 处理并行任务的作业需要使用 mpiexec 命令,因此并行任务的命令必须采用以下格式:mpiexec [mpi_options] <myapp.exe> [arguments],其中 myapp.exe 为要运行的应用程序的名称。mpiexec 命令有许多参数,通过这些参数,您可以控制 MPI 进程位置、网络关联和其他运行时间参数。
添加 MPI 任务
在 HPC 群集管理器中,添加任务的选项位于"新建作业"、"修改作业"和"复制作业"对话框中。作为示例,以下过程描述如何在"新建作业"对话框中添加任务。
创建 MPI 任务
在"作业管理"的"操作"窗格中,单击"新建作业"。
在"新建作业"对话框的左窗格中,单击"任务列表"。
指向"添加"按钮,单击下箭头,然后单击"基本任务"。
在"基本任务"对话框中,键入任务的名称。 #p#page_title#e#
在"命令行"输入框中,相对于工作目录,键入任务命令。例如,键入 mpiexec myapp.exe。
指定任务的"工作目录"。通常,应以全局命名约定 (UNC) 路径(而不是相对路径或本地路径)表示工作目录。
指定相对于工作目录的"标准输入"、"标准输出"和"标准错误"文件名。
设置您的作业所需要的最小和最大内核数。
单击"保存"可以将任务添加到作业,并返回"新建作业"对话框。
(三)添加参数任务
参数任务是具有一组不同输入并多次运行的单个任务。参数清除的索引可以应用于应用程序的实例,以及应用于工作目录、输入、输出和错误文件。
添加参数任务
在 HPC 群集管理器中,添加任务的选项位于"新建作业"、"修改作业"和"复制作业"对话框中。作为示例,以下过程描述如何在"新建作业"对话框中添加任务。
创建参数任务
在"作业管理"的"操作"窗格中,单击"新建作业"。
在"新建作业"对话框的左窗格中,单击"任务列表"。
指向"添加"按钮,单击下箭头,然后单击"参数任务"。
在"参数任务"对话框中,键入任务的名称。
按如下所示定义参数清除的索引:
在对话框中的"步骤 1"中,设置清除操作的开始和结束索引值。
在"步骤 2"中,选择清除索引的增加值。
可以在对话框底部的"预览清除"下面验证索引序列。
在"命令行"输入框中,相对于工作目录,键入任务命令。例如,键入 myApp.exe *。这将创建应用程序的多个索引实例。
指定任务的"工作目录"。通常,工作目录应当以 UNC 路径(而不是相对路径或本地路径)指明。如果清除中的每个步骤都需要不连续的工作目录,则工作目录可以包括通配符 (*)。
指定相对于工作目录的"标准输入"、"标准输出"和"标准错误"文件名。使用通配符 (*) 以表示将按照在此过程的步骤 5 中选择的索引设置从一次迭代增加到下一次迭代的文件编号。例如:myInput*.dat。
注意
在参数清除任务中,输入和输出通常是一组索引化文件(例如,input1、input2、input3 …、output1、output2、output3 …)。
预览参数清除任务。如果任务不是所需要的样子,请进行更改,并再次预览。
单击"保存"可以将任务添加到作业,并返回"新建作业"对话框。
(四)了解应用程序和数据文件
Windows HPC Server 2008 在任务输入、输出和错误文件的组织方面很灵活。可以使用"工作目录"、"标准输入"、"标准输出"和"标准错误"任务属性来指定任何共享位置的本地或全局命名约定 (UNC) 文件路径。任务还可以操作存储在默认工作目录中的文件。在任何情况下,都建议您最好使用位于文件服务器上的共享文件夹中的中心文件存储区。
注意
指定文件路径时,请记住从计算节点访问这些文件。例如,"C:Temp"是指正在运行应用程序的计算节点上的 Temp 目录,而不是头节点或客户端计算机上的 Temp 目录。
程序文件
在命令行中为任务指定程序文件时,请使用以下准则:
如果应用程序存在于所有计算节点上,并已添加到 Path 环境变量,则仅键入可执行文件名称。例如,键入 myapp.exe。
如果应用程序存在于所有计算节点上,并且尚未添加到 Path 环境变量,则键入每个计算节点上的应用程序的完整本地路径。例如,C:Program Filesmyapp.exe。
如果应用程序安装在文件共享上,请指定可执行文件的 UNC 路径。例如,键入 #p#page_title#e#\server_nameProgram Filesmyapp.exe。
数据文件
默认情况下,标准输入、输出和错误文件相对于正在运行应用程序的计算节点的工作目录。"工作目录"任务属性的默认值是节点上的提交用户的主目录(%userprofile%,它通常指向 C:Usersuser_nameDocuments)。
可以使用"工作目录"任务属性来简化对共享文件夹上的数据文件的任务访问。例如,如果设置 \fileserverfileshare 作为工作目录并设置 somefile.txt 作为"标准输入",则从 \fileserverfilesharesomefile.txt 读取"标准输入"。
如果没有为任务指定"标准输出"和"标准错误"文件,则结果将定向到 HPC 作业计划程序服务数据库,并作为任务的输出字段显示在"任务属性"对话框中。数据库为每个任务最多存储 4 KB 数据。超过 4 KB 的任何额外数据将截断。如果指定"标准输出"和"标准错误"文件,则任务输出将定向到这些位置,而不存储在 HPC 作业计划程序服务数据库中。
(五)定义任务相关性
任务流作业包含一组以规定顺序运行的任务。在 HPC 群集管理器中,可以通过定义任务之间的相关性来建立任务的运行顺序。
在"任务相关性"对话框中,可以将任务组织成若干个组。一个组中的所有任务将在下一组中的任何任务开始之前完成。起初,所有任务都属于"组 1"。
注意
使用 HPC 命令行工具、HPC PowerShell、HPC 基本配置文件 Web 服务或使用 HPC 应用程序编程接口 (API),可以创建更复杂、非线性的任务相关性。
定义任务相关性
在 HPC 群集管理器中,定义任务相关性的选项位于"新建作业"、"修改作业"和"复制作业"对话框中。作为示例,以下过程描述如何在"修改作业"对话框中定义任务相关性。
定义任务相关性
在"作业管理"的"导航窗格"中,单击"所有作业"。
在作业列表中,右键单击作业,然后单击"修改作业"。
在"修改作业"对话框的左窗格中,单击"任务列表"。
单击"依存关系"按钮以打开"任务依存关系"对话框。
在"组"下,单击"添加"按钮可添加组。可以根据作业的需要添加任意数量的组。注意,"删除"按钮仅删除所选分组级别,而不删除任务自身。
选择一项或多项任务,然后使用"上移"和"下移"按钮在组之间移动所选任务。
单击"确定"可接受任务相关性分组,并返回到"新建作业"对话框。
注意
默认情况下,任务将分配到"组 1"。如果要向作业添加其他任务,请返回到"任务相关性"对话框确保任务按预期方式排序。