文档

发现集群并使用集群配置文件

集群配置文件管理器

集群配置文件允许您为集群定义某些属性,然后在MATLAB中创建集群、作业和任务对象时应用这些属性®客户端。支持使用集群概要文件的一些功能是万博1manbetx

要创建、编辑和导入集群概要文件,可以使用集群概要文件管理器。打开集群配置文件管理器,在首页选项卡中环境部分中,选择平行>管理集群配置文件

使用并行菜单和集群配置文件

并行计算工具箱™预先配置了两个集群配置文件:

  • 当地的:用于在本地桌面计算机上运行。

  • MATLAB平行云™:用于在Amazon EC2上运行的MATLAB并行云集群。可用性的更新可以找到在这里MATLAB平行云万博1manbetx支持交互式parpool——基于并行。看到MATLAB平行云

使用平行菜单上的MATLAB主选项卡的以下任务:

  • 属性发现在您的网络或Amazon EC2上运行的其他集群平行>发现集群用户界面。

  • 如果连接到MATLAB并行云有困难,请选择平行>测试云连接

  • 如果您想查看您的许可使用情况,请选择平行>查看许可使用情况。另外,见://www.tianjin-qmedu.com/licensecenter查看您的许可使用情况。

  • 如果希望在外部web浏览器中从MATLAB中打开MathWorks云中心,请选择平行>云中心Web应用。有关云中心的详细信息,请参阅://www.tianjin-qmedu.com/help/cloudcenter/

发现集群

您可以让MATLAB为您发现集群。使用以下任何一种技术来发现那些集群,你可以使用:

  • 首页选项卡中环境部分中,选择平行>发现集群

  • 在集群概要管理器中,选择发现集群

这将打开发现集群对话框,在这里您可以搜索MATLAB分布式计算服务器™集群:

如果您选择在你的网络,您会看到一个新窗口。如果集群使用MATLAB作业调度器(MJS)或Microsoft Windows HPC服务器,请选择此选项。当集群被发现时,它们为您的选择填充一个列表。如果您已经有了列出的任何集群的配置文件,那么这些配置文件名称将包含在列表中。如果您想为一个发现的集群创建一个新的配置文件,请选择您想要使用的集群的名称,并选择下一个。随后的对话框允许您选择是否要将新配置文件设置为默认值。

如果您选择在Amazon EC2上,搜索运行在Amazon EC2上的集群。要访问这些集群,您必须提供您的MathWorks帐户登录信息:

集群发现的需求

只有微软的MATLAB作业调度器(MJS)万博1manbetx支持集群发现®窗户®HPC服务器和Amazon EC2云集群。以下要求适用于这些集群。

  • MJS - MJS集群支持两种不同的发万博1manbetx现方式:

    • 组播:discover clusters功能使用来自客户端的组播网络协议来搜索MJS运行的头节点。这需要启用多播网络协议,并在连接MJS头节点(调度程序在那里运行)和客户端机器的网络上工作。这种形式的发现可能仅限于客户端本地子网,因此并不总是能够在网络的其他地方发现MJS。

    • DNS SRV:另一种发现技术是根据DNS服务记录搜索集群。

      域名系统(DNS)是在Internet或私有网络上用IP地址标识主机名的标准。使用DNS可以通过识别特定主机而不是通过网络广播来发现MJS集群。

      DNS服务(SRV)记录定义了主机和服务端口的位置,例如与您希望发现的集群相关的位置。您的系统管理员在您组织的DNS基础结构中创建DNS SRV记录。有关所需记录的描述和验证信息,请参见DNS SRV记录(MATLAB分布式计算服务器)。

  • HPC服务器—发现集群功能使用Active Directory域服务来发现头节点。HPC服务器头节点在安装HPC服务器软件期间添加到Active Directory。

  • Amazon EC2——discover集群功能需要客户端和mathworks.com中运行的云中心web服务之间有一个有效的网络连接。

导入和导出集群配置文件

集群概要文件存储为MATLAB首选项的一部分,因此它们通常针对个别用户可用。要使集群配置文件对其他人可用,您可以将其导出到单独的.settings文件。通过这种方式,可以创建概要文件存储库,以便计算集群的所有用户可以共享公共概要文件。

要导出一个集群配置文件:

  1. 在配置文件集群管理器中,选择(突出显示)您想要导出的配置文件。

  2. 选择出口>出口。(或者,您可以右键单击清单中的概要文件并选择出口。)

    如果您想将所有配置文件导出到单个文件,请选择出口>导出所有

  3. 在“导出配置文件到文件”对话框中,指定文件的位置和名称。默认的文件名与它包含的概要文件的名称相同.settings扩展附加;如果您愿意,您可以更改名称。

以这种方式保存的配置文件可以由其他MATLAB用户导入:

  1. 在集群概要管理器中,选择进口

  2. 在“从文件导入配置文件”对话框中,浏览以找到.settings您要导入的概要文件的文件。选择文件并选择开放

    导入的配置文件将出现在集群配置文件管理器列表中。请注意,该列表包含配置文件名称,而不一定是文件名。如果您已经有一个与您导入的配置文件同名的配置文件,那么导入的配置文件会在其名称中添加一个扩展名,这样您就可以区分它了。

属性还可以通过编程方式导出和导入概要文件parallel.exportProfileparallel.importProfile功能。

出口的资料MATLAB编译器

您可以使用导出的配置文件MATLAB编译器™MATLAB编译器SDK™标识用于在集群上运行已编译应用程序的集群设置信息。例如,setmcruserdata函数可以使用导出的概要文件名称设置键的值ParallelProfile。有关部署并行应用程序的更多信息和示例,请参见在运行时通过并行计算工具箱配置文件(MATLAB编译器)在已部署的应用程序中使用并行计算工具箱(MATLAB编译器SDK)。

编译后的应用程序具有与编译用户在编译应用程序时相同的默认配置文件和可选配置文件列表。这意味着在许多情况下不需要配置文件,当使用时可能就是这种情况当地的本地工人简介。如果使用了导出的文件,则在导入时文件中的第一个配置文件将成为默认配置文件。如果任何导入的概要文件具有与任何现有的概要文件相同的名称,它们将在导入期间被重命名(尽管它们在文件中的名称保持不变)。

创建和修改集群配置文件

第一次打开集群配置文件管理器时,它会列出两个配置文件:当地的MATLAB平行云

您可以指定配置文件属性,包括:

  • NumWorkers:启动一个池的工人数量。实际的池大小可能受到许可、集群大小和集群配置文件设置的限制。看到池大小和集群选择

  • NumThreads:在每个worker上使用的计算线程数。你可以改变NumThreads,以便您的工作程序可以在多线程模式下运行,并使用集群上的所有核心。这允许您增加计算线程的数量NumThreads对每个工人,而不增加工人的数量NumWorkers。如果您有更多的可用内核,请增加NumThreads充分利用许多底层MATLAB库的多线程特性所提供的内置并行性。有关详细信息,请参见在多核和多处理器机器上运行MATLAB

    请注意

    不要将机器上所有工作线程的数量增加到超过物理内核的数量。换句话说,要确保NumWorkers x NumThreads≤机器上物理内核的数量。否则可能会降低性能。

  • MaxNumMachines的最大机器数量MATLAB平行云可以使用。当需要更多的工人时,机器会自动添加到集群中,直到这个最大值。看到MATLAB平行云

    要以编程方式查看和编辑集群的所有属性,请使用parallel.cluster.Cloud对象。有关详细信息,请查看这里的云属性:parallel.Cluster

下面的示例说明了如何使用集群配置文件管理器创建和修改配置文件。

假设您希望创建一个配置文件来设置要在MJS集群中运行的作业的几个属性。下面的例子说明了一个可能的工作流,在这个工作流中,您创建的两个概要文件仅根据它们所使用的工人的数量来区分。

  1. 在集群概要管理器中,选择添加>自定义>MATLAB作业调度器(MJS)。这指定您需要一个MJS集群的新配置文件。

    这将创建并显示一个名为MJSProfile1的新配置文件。

  2. 双击清单中的新配置文件名称,并将配置文件名称修改为MyMJSProfile1

  3. 选择编辑,以便您可以设置配置文件的属性值。

    在Description字段中,输入文本MJS和4名工人,如下图所示。输入运行MJS的机器的主机名和MJS的名称。如果您正在为网络上已经运行的实际MJS输入信息,请输入适当的文本。如果您不确定网络上的MJS(以前称为作业管理器)名称和位置,请向系统管理员寻求帮助。

    请注意

    如果MJS使用非默认BASE_PORT属性中定义的mdce_def文件,宿主属性必须附加在集群配置文件中BASE_PORT号码。例如,MJS-Host: 40000

  4. 向下滚动到Workers部分,对于Workers的数量范围,输入两个元素向量(4 - 4)。这指定使用此配置文件的作业至少需要四个worker,且不超过四个。因此,使用此配置文件的作业恰好在4个worker上运行,即使它必须等到4个worker可用后才能启动。

    您可能需要根据特定的网络和集群情况编辑其他属性。

  5. 选择完成保存配置文件设置。

为了创建一个类似的配置文件,只有一些差异,你可以复制一个现有的配置文件,只修改你需要改变的部分,如下:

  1. 在集群配置文件管理器中,右键单击配置文件名称MyMJSProfile1在列表中选择重复的

    这将创建一个重复的配置文件,其名称基于附加的原始配置文件名称_Copy

  2. 双击新的配置文件名称,并将其名称编辑为MyMJSprofile2

  3. 选择编辑允许您更改配置文件属性值。

  4. 编辑description字段,将其文本更改为任何工人都可以

  5. 向下滚动到Workers部分,对于Workers的数量范围,清除(4 - 4)并保留字段空白,如下图突出显示:

  6. 选择完成保存配置文件设置并关闭属性编辑器。

您现在有了两个配置文件,它们的不同之处仅在于运行作业所需的工作者数量。

在创建作业时,您可以将任一配置文件应用于该作业,作为指定应该在多少个worker上运行的方法。

方法中可以看到支持的不同类型调度器的配置文件示例万博1manbetxMATLAB分布式计算服务器安装说明在配置您的集群(MATLAB分布式计算服务器)。

验证集群配置文件

集群配置文件管理器包含验证配置文件的功能。验证确保MATLAB客户机会话可以访问集群,并且集群可以通过配置文件的设置运行各种类型的作业。

您可以选择运行验证阶段的一个子集,并指定在验证您的概要文件时要使用的工作程序的数量。在某些情况下,您可能会发现这样做更合适或更快。

要验证配置文件,请遵循以下步骤:

  1. 。上打开集群配置文件管理器首页选项卡中环境节中,通过选择平行>管理集群配置文件

  2. 在集群配置文件管理器中,选择要测试的配置文件的名称。您可以高亮显示一个配置文件,而无需更改所选的默认配置文件。因此,选择用于验证的配置文件不需要是默认配置文件。

  3. 选择要运行的验证阶段。

  4. 选择使用纺车的工人数量。

  5. 选择验证

如果您选择了所有阶段,配置文件验证包括五个步骤:

  1. 连接到群集(parcluster)

  2. 独立工作(createJob)在集群中使用配置文件

  3. 使用概要文件在集群上运行spmd类型的通信作业

  4. 使用概要文件在集群上运行池类型的通信作业

  5. 使用概要文件在集群上运行并行池作业

当测试运行时,集群配置文件管理器显示如下所示的进度:

您可以通过选择下面窗格中的对应行来查看不同阶段的详细信息使用工人的数量

请注意

如果已经打开了一个并行池,验证将失败。

当测试完成时,您可以选择报告显示以获得更多有关测试结果的资料。这些信息包括任何错误消息、调试日志和其他可能有助于诊断问题或帮助确定适当网络设置的数据。

Validation Results选项卡保持测试结果可用,直到当前MATLAB会话关闭。

在客户端代码中应用集群概要文件

在创建和定义并行计算集群、作业和任务对象的MATLAB客户机中,可以在创建这些对象时使用集群配置文件。

选择默认的集群配置文件

有些函数支持默认配置文件,因此万博1manbetx如果您没有为它们指定配置文件,它们将自动应用默认配置文件。有几种方法来指定你的配置文件应该使用作为默认配置文件:

  • 首页选项卡中环境部分中,选择平行>默认集群,从那里,您的所有配置文件都是可用的。指示默认配置文件。您可以选择列表中的任何配置文件作为默认值。

  • 集群配置文件管理器指出哪个是默认配置文件。您可以选择列表中的任何配置文件,然后选择设置为默认

  • 属性以编程方式获取或设置默认配置文件parallel.defaultClusterProfile函数。下面的命令集可以实现同样的功能:

    parallel.defaultClusterProfile (“MyMJSProfile1”) parpool

    parpool (“MyMJSProfile1”)

创建集群对象

parcluster函数根据指定的配置文件在工作区中创建一个集群对象。该配置文件标识一个特定的集群并应用属性值。例如,

c = parcluster (“MyMJSProfile1”)

此命令查找由配置文件的设置定义的集群MyMJSProfile1并根据配置文件中的设置设置集群对象的属性值。通过应用不同的配置文件,您可以在不更改MATLAB应用程序代码的情况下更改集群选择。

创造就业和任务

因为集群、作业和任务对象的属性可以在概要文件中定义,所以不必在应用程序中显式定义它们。因此,您的代码可以适应任何类型的集群而无需修改。例如,下面的代码使用一个配置文件来设置集群、作业和任务对象的属性:

c = parcluster (“MyMJSProfile1”);job1 = createJob (c);%使用群集对象c的配置文件。createTask (job1 @rand 1, {3})%使用群集对象c的配置文件。

另请参阅

||||||

相关的例子

更多关于

外部网站

这个话题有用吗?