MATLAB分布式并行计算环境
MATLAB分布式并行计算环境
MATLAB分布式并行计算环境(一)
2010-05-16 13:46
前言:之前在本博客上发过一些关于matlab并行计算的文章,也有不少网友加我讨论关于这方面的一些问题,比如matlab并行计算环境的建立,并行计算效果,数据传递等等,由于本人在研究生期间做论文的需要在这方面做过一些研究,但总体感觉也就是一些肤浅的应用,现已工作,已很少再用了,很多细节方面可能也记不清了,在这里将以前做的论文内容做一些整理,将分几个小节,对matlab并行计算做个一个简要的介绍,以期对一些初学者有所帮助,当然最主要的还是多看帮助文档及相关技术文章!有不当之处敬请各位网友指正,
3.1 Matlab并行计算发展简介
MATLAB技术语言和开发环境应用于各个不同的领域,如图像和信号处理、控制系统、财务建模和计算生物学。MATLAB通过专业领域特定的插件(add-ons)提供专业例程即工具箱(Toolbox),并为高性能库(Libraries)如BLAS(Basic Linear Algebra Subprograms,用于执行基本向量和矩阵操作的标准构造块的标准程序)、FFTW(Fast Fourier Transform in the West,快速傅里叶变换)和LAPACK(Linear Algebra PACKage,线性代数程序包)提供简洁的用户界面,这些特点吸引了各领域专家,与使用低层语言如C语言相比可以使他们很快从各个不同方案反复设计到达功能设计。
计算机处理能力的进步使得利用多个处理器变得容易,无论是多核处理器,商业机群或两者的结合,这就为像MATLAB一样的桌面应用软件寻找理论机制开发这样的构架创造了需求。已经有一些试图生产基于MATLAB的并行编程的产品,其中最有名是麻省理工大学林肯实验室(MIT Lincoln Laboratory)的pMATLAB和MatlabMPI,康耐尔大学(Cornell University)的MutiMATLAB和俄亥俄超级计算中心(Ohio Supercomputing Center)的bcMPI。
MALAB初期版本就试图开发并行计算,80年代晚期MATLAB的原作者,MathWorks公司的共同创立者Cleve Moler曾亲自为英特尔HyperCube和Ardent 电脑公司的Titan超级计算机开发过MATLAB。Moler 1995年的一篇文章“Why there isn't a parallel MATLAB?[**]”中描述了在开了并行MATLAB语言中有三个主要的障碍即:内存模式、计算粒度和市场形势。MATLAB全局内存模式的多数并行系统的分布式模式意味着大数据矩阵在主机和并行机之间来回传输。与语法解析和图形例程相比,那时MATLAB只花了小部分的时间行例程上,这使得并行上的努力并不是很有吸引力。最后一个障碍对于一个资源有限的组织来讲确实是一个现实,即没有足够多的MATLAB用户将其用于并行机上,因此公司还是把注意力放在单个CPU的MATLAB开发上。然而这并不妨碍一些用户团体开发MATLAB并行计算功能,如上面提到的一些实验室和超级计算中心等。
有几个因素使并行MATLAB工程在MathWorks公司内部变得很重要,首先MATALB已经成长为支持大规模工程的领先工程技术计算环境;其次现今的微处理器可以有两个或四个内核,将来可能会更多甚至个人并行机,采用更复杂的分层存储结构,MATLAB可以利用多处理器计算机或网络机群;最后是用户团体中要求全面成熟解决方案的呼声也越来越高[] Cleve Moler. Parallel MATLAB:
MATLAB分布式并行计算环境
Multiple Processors and Multi Cores, Th eMathWorks News&Notes 。
有三种途径可以用MATLAB来创建一个并行计算系统。第一种途径是主要是把MATLAB或相似程序翻译为低层语言如C或FORTRAN,并用注解和其它机制从编译器中生成并行代码,如CONLAB和FALCON工程就是这样。把MATLAB程序翻译为低层C或FORTRAN语言是个比较困难的问题,实际上MathWorks公司的MATLAB编译软件就能转换生成C代码到生成包含MATLAB代码和库并支持各种语言特性的包装器。
第二种途径是在并行机是MATLAB作为并行计算的一个“浏览器(browser)”而MATLAB本身并没有什么改变且MATLAB环境本来就不是运行上并行机上。这种途径不能真正算是“并行MATLAB”解决方案而仅仅是一个用来接入一个门户启动并行应用程序的WEB浏览器,在Intel Hypercube和Ardent Titan超级计算机上最早的解决方案就是采用的这种方法。最近的MIT的MATLAB*p工程和现在一个商用工程Star-P再次使用这种方法。
上面这两种方法由于有限语言和库支持,用户必须丢弃他们已有MATLAB 代码或选择通过简化的系统提供的构造集来大量的重新实现,而在MathWorlks 公司的最初调查中,已有MATLAB代码的利用性被引为任何并行计算工具集的最重要的特性。
第三种途径是通过其它库来扩展MATLAB或修改语言本身。MIT林肯国家实验室的MatlabMPI和pMATLAB工程及Connell大学的MutiMATLAB工程(MathWorks公司也参与其中)是这种方法运用得最成功的并广泛用于MATLAB并行计算库,其它的还有ParaM和GAMMA工程、Parallel Toolbox for MATLAB(采用PVM进行消息传递)和各种MPI工具箱MATLAB实现以及最近的Ohio超级计算中心的bcMPI(Blue Collar MPI)。
为了满足一套并行MATLAB工具的需要,MathWorls公司在2004年10月份引进并行计算工具箱(Parallel Computing Toolbox)和MATLAB分布式计算服务器(Distributed Computing Server)(原来分别称为Distributed Computing Toolbox? and MATLAB R Distributed Computing Engine?),属于第三种实现途径。刚开始将MATLAB计算能力扩展至并行计算时,主要是针对易并行计算问题(embarrassingly parallel problem),这些问题通常具有的共同特点是,每一个步骤可以计算独立于所有其他的步骤,因此每一个步骤可以运行在一个单独的处理器,以实现更快的结果。例如很多用户要求在公司电脑上简化运行蒙特卡罗(Monte Carlo)和参数扫描(parameter seep)模拟。因为一些高级用户开始运用工具箱,因此必须结合其它语言特性,包括消息传递和对并行for循环、全局数组语义进行高度抽象。隐含多线程计算是在单核或多处理器机器上进行并行计算的另一种方法。
公司的战略目标是将传统的MATLAB优势扩展到机群环境,具有交互式功能、多平台支持,接近数学表达式的语言来表达思想的能力而抽象出不相关的细节,因此工具集的设计目标是:
l 用户在机群上可以执行任意的MATLAB代码和Simulink仿真模型。
l 用户可以用熟悉的MATLAB语言来编写和执行所有的任务相关的MATLAB并行程序
l 用户可以运用一流的语言结构来表达并行思想。他们无须对自己创建并行程序的编程模式作重大的改变,也不用担心特定的体系结构或处理线
程、数据管理和同步等问题。
MATLAB分布式并行计算环境
l 语言应该完全独立于资源分配。同样的程序可以在单个处理器或数百个处理器上正常运行,并且可以根据资源适当扩展伸缩,在机群某节点缺失
情况下依然能正常运行。
l 可编程性将一直超越其它问题,用户能够创建正确的,易于阅读、调试和维护的程序
2005 年MathWorks公司发布到分布式计算工具箱(Distributed Computing Toolbox)的第一个版本,提供管理多个独立MATLAB作业的功能;2006年发布第二版,增加了MATLAB和MPI的绑定。MATLAB代表“Matrix Laboratory”的意思,于是称一个MATLAB实例进程为“lab(or worker)”,并引入numlabs 表示一个作业中开启的labs的个数。从3.0版开始,增加了新的编程构造支持,使MATLAB不仅仅解决易并行计算问题(Embarrassingly Parallel Problems)。2008年发布4.0版(R2008a) …… 此处隐藏:3434字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




