教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

MATLAB分布式并行计算环境(2)

来源:网络收集 时间:2026-09-13
导读: MATLAB分布式并行计算环境 l 高级别的结构,如分布式数组、并行算法,以及消息传递函数,可在多个处理器上处理大型的数据集 l 可在一个多核桌面上本地运行四个worker (至R2009a,4.1版可达8个) l 与MA TLAB Distr

MATLAB分布式并行计算环境

l 高级别的结构,如分布式数组、并行算法,以及消息传递函数,可在多个处理器上处理大型的数据集

l 可在一个多核桌面上本地运行四个worker (至R2009a,4.1版可达8个)

l 与MA TLAB Distributed Computing Server 集成,可用于使用调度程序或任意数量worker 的基于集群的应用程序

l 提供交互模式和批量执行模式

1. 在MATLAB 中编写并行应用程序

Parallel Computing Toolbox(并行计算工具箱)提供了多种高级编程结构,利用此工具箱,可对串行MA TLAB 代码进行转换,使之在数个worker(独立于MA TLAB 客户端运行的MA TLAB 计算引擎)上并行运行。这些worker 既可在桌面上运行(工具箱在桌面上可本地运行多达四个worker),也可在集群上运行(使用MA TLAB Distributed Computing Server)。这样的结构可降低在MA TLAB 客户端与worker 之间、以及各worker 之间管理计算与数据的协调与分发的复杂性,从而简化并行代码开发。此外,可使用关键词,例如parfor(并行for 循环)和spmd(单程序多数据)语句来注释MA TLAB 代码,从而可以

探究算法的各个区段所提供的任务和数据并行机制。

MA TLAB 池(Pool)和并行命令窗口(pmode) 支持交互执行,这样,在设置耗时较长的运行或脱机任务前,可以先测试应用程序的某些区段。即使没有worker,这些结构仍能够运作,这样,只需维护单个代码版本,即可确保串行执行和并行执行。

2. 执行任务并行的算法

通过将Monte Carlo 仿真和其他粗粒度或密集并行问题组织为独立的任务(工作单元),即可实现其并行化。工具箱中的并行for 循环提供了一种在多个MA TLAB worker 间分配任务的方式。使用该循环,可以将独立的循环迭代自动分配给多个MA TLAB worker。parfor 结构管理着MA TLAB 客户端会话与worker 之间的数据和代码传输。它会自动检测是否有worker,如果没有,则会还原为串行方式。

此外,还可以将任务编写为MA TLAB 函数或MA TLAB 脚本。如果指定为函数,可以

通过在工具箱中处理任务和作业对象来执行任务;如果指定为脚本,则可以使用批处理功能。

MATLAB分布式并行计算环境

3. 执行数据并行的算法

对于需要大型数据集处理的MA TLAB 算法,Parallel Computing Toolbox 提供了分布式数组、并行函数,以及使用spmd 关键词注释代码区段的功能,可用于在数个worker 上并行执行。这些并行结构可处理worker 间通信,并协调后台的并行计算。

使用分布式数组,可以在参与并行计算的所有worker 间分配任何数据类型的矩阵。利用并行函数,可以执行多种数学运算,例如索引、矩阵相乘、分解,以及在分布式数组上直接转换。此外,工具箱还提供了150 个多个用于分布式数组的函数,包括基于ScaLAPACK 的线性代数例程。

使用spmd 语句和分布式数组编程。利用分布式数组和并行算法,仅需对代码做最少的更改即可创建数据并行的MA TLAB 程序,且无需使用MPI 编程。

MATLAB分布式并行计算环境

如要对并行方案进行显式的、细粒度的控制,同时还需要明确管理 worker 间的协调,通过 Parallel Computing Toolbox 函数可访问基于 MPI 标准(MPICH2) 的消息传递例程,包括用于发送、接收、广播、阻挡、以及探测操作的函数。

使用 spmd 结构,可以指定代码的区段以在所有参与并行计算的 worker 间并行运行。程序执行过程中,该结构会自动将在其内部使用的数据和代码传输给worker,并在执行完毕后将结果返回给 MATLAB 客户端会话。分布式数组、并行函数以及消息传递函数可以在 spmd 结构内部使用。在没有 worker 的情况下,MATLAB 会串行执行 spmd 语句。

4. 在交互式并行环境中工作

Parallel Computing Toolbox(并行计算工具箱)扩展了MA TLAB 交互式环境,可以使用熟悉的MA TLAB 环境来建立原型、开发任务并行和数据并行应用程序。matlabpool 命令可为分配一组专用的计算资源。它可将您的MA TLAB 会话连接至一个MA TLAB worker 池,这些worker 既可在桌面上本地运行,又可在计算机集群上运行。此外,它还可以建立一个交互式并行执行环境。在该环境中,用户可以从MA TLAB 命令提示符执行并行的MA TLAB 代码,并且在计算结束后立即得到结果。在该环境中,并行的编程结构(例如parfor 和spmd)会自动检测是否有worker,并在MA TLAB 会话与worker 之间分发计算和数据。

并行命令窗口(pmode) 是MA TLAB 命令窗口的扩展,可建立一个数据并行的执行环境,在该环境中,用户可以使用分布式数组、关联的并行函数,以及消息传递函数。在并行提示符下发出的命令会在所有参与的worker 上同时执行,并立即返回结果,这样,用户便可以更好地在每个步骤追踪应用程序在整个多处理器系统中的行为。此外,还可以将命令收集到

MATLAB分布式并行计算环境

MA TLAB 函数中,并将其提交用以脱机执行。

5. 在批处理环境中工作

利用Parallel Computing Toolbox(并行计算工具箱),用户可以使用批处理环境来脱机执行程序,从而在执行大型MA TLAB 和Simulink 应用程序时,自如地将MA TLAB 客户端会话用于其他活动。等待应用程序执行并返回结果时,用户也可以关闭MA TLAB 客户端会话。

利用批处理功能,可脱机执行MA TLAB 脚本。它提供了一种在MA TLAB 客户端和worker 工作区之间传输数据的机制,免除了在多个工作区分别管理数据的需要。利用Configurations Manager(配置管理器),可将程序执行导向使用四个本地worker 的工作站,或使用任何scheduler 和任意数量worker 的集群。

此外,该工具箱还提供了作业和任务对象。这些对象提供了一种较低级但更通用的机制,用以在批处理环境中执行并行MA TLAB 应用程序。批处理函数以及作业和任务对象都可用来减少执行串行MA TLAB 程序时,从桌面MA TLAB 会话向worker 传输数据的负载。

3.2.2 分布式计算引擎(服务器)(MDCE/S)

MA TLAB Distributed Computing Server可以使并行计算工具箱应用程序得到扩展,从而可以使用运行在任意数量计算机上的任意数量的worker。MA TLAB Distributed Computing Server还支持交互式和批处理工作流。此外,使用Parallel Computing Toolbox 函数的MA TLAB 应用程序还可利用MA TLAB Compiler(MA TLAB 编译器)编入独立的可执行程序和共享软件组件,以进行免费特许分发。这些可执行应用程序和共享库可以连接至MA TLAB Distributed Computing Server的worker,并在计算机集群上执行MA TLAB同时计算,加快大型作业执行速度,节省运行时间。

MA TLAB Distributed Computing Server 支持多个调度程序:MathWorks 作业管理器

MATLAB分布式并行计算环境

(随产品提供)或任何其他第三方调度程序,例如Platform LSF、Microsoft Windows Compute Cluster Server(CCS)、Altair PBS Pro,以及TORQUE。

使用工具箱中的Configurations Manager(配置管理器),可以维护指定的设置,例如调度程序类型、路径设置,以及集群使用政策。通常,仅需更改配置名称即可在集群间或调度程序间切换。

MA TLAB Distributed Computing Server 会在应用程序运行时在基于用户配置文件的集群上动态启用所需的许可证。这样,管理员便只需在集群上管理一个服务器许可证,而无需针对每位集群用户在集群上管理单独的工具箱和模块集许可 …… 此处隐藏:2436字,全部文档内容请下载后查看。喜欢就下载吧 ……

MATLAB分布式并行计算环境(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/53961.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)