1、distributed job
     distributed job是一种比較简单的并行任务。假定用户须要完毕一组作业。各个计算作业之间是独立的。并且相互之间不须要进行数据通信。这意味着各个作业的运行顺序不影响终于的运行结果。

这样的情况下能够採用distributed job完毕此类作业。

     distributed job能够通过job manager(集群的scheduler)、local scheduler(单机的scheduler)或第三方的scheduler(pbs)运行。

创建distributed job的过程例如以下:
1、创建scheduler对象
2、创建job
3、创建tasks
4、提交job至scheduler
5、获取job的运行结果

distributed job演示样例代码:
clear all;
% 寻找资源。
jm = findResource('scheduler', 'type', 'jobmanager', 'name', 'mu01', 'LookupURL', '192.168.100.100');
% 使用刚才找到的资源建立一个distributed job
job = createJob(jm);
% 设置该工作的文件关联。让全部workers都能够找到原程序文件,须要在Client上设置共享目录。 set(job, 'PathDependencies', {'\\192.168.0.101\matlab_code\', '/mnt/'})
% 还有一种方法,把用到的原程序文件传给全部workers。
% set(job, 'FileDependencies', {'hm.m'});
N = 5;
M = 4;
% 建立4个任务,每任务都是算hp(M, N)。 createTask(job, @hp, 1, {{M, N}, {M, N}, {M, N}, {M, N}});
% 提交工作给jobmanager。
submit(job)
% 等待全部workers都把任务做完。 waitForState(job, 'finished')
% 取出计算结果。 results = getAllOutputArguments(job);
% 销毁Job,释放资源
destroy(job);

2、parallel job
parallel job仅仅包括1个task。并且此task必须在多个工作单元中同步运行。

各个task之间能够进行数据通信。在matlab并行程序中,将运行parallel job的能够进行数据通信的通信单元称为lab,能够将lab视为一类特殊的worker。

     parallel job的各个工作单元运行的并行程序全然同样,但能够完毕不同的功能。在parallel job并行程序中。能够获得并行程序运行的工作单元的编号以及工作单元的总数等信息。用户能够依据工作单元编号,为不同工作单元分配不同的计算任务。

创建parallel job的步骤:
1、创建或寻找scheduler
2、创建parallel job
3、创建task
4、提交job。等待job manager运行job
5、查看job的运行状态,返回运行结果

matlab两种不同模式的并行运算的更多相关文章

  1. java web学习总结(二十九) -------------------JavaBean的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  2. 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置

    摘要:FRDM-KE02Z是飞思卡尔公司较为新的微控制器,学习和开发资料较少.从本篇开始会陆续介绍其相关的开发流程,并完成一个小型的工程项目.这是本系列博客的第一篇,主要介绍开发环境IAR for A ...

  3. ASP.Net的两种开发模式

    一.ASP.Net的两种开发模式 1.1 ASP.Net WebForm的开发模式 (1)处理流程 在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/bl ...

  4. Spark on YARN两种运行模式介绍

    本文出自:Spark on YARN两种运行模式介绍http://www.aboutyun.com/thread-12294-1-1.html(出处: about云开发)   问题导读 1.Spark ...

  5. javaweb学习总结(二十一)——JavaWeb的两种开发模式

    SUN公司推出JSP技术后,同时也推荐了两种web应用程序的开发模式,一种是JSP+JavaBean模式,一种是Servlet+JSP+JavaBean模式. 一.JSP+JavaBean开发模式 1 ...

  6. spark on mesos 两种运行模式

    spark on mesos 有粗粒度(coarse-grained)和细粒度(fine-grained)两种运行模式,细粒度模式在spark2.0后开始弃用. 细粒度模式 优点 spark默认运行的 ...

  7. Spark on YARN的两种运行模式

    Spark on YARN有两种运行模式,如下 1.yarn-cluster:适合于生产环境.        Spark的Driver运行在ApplicationMaster中,它负责向YARN Re ...

  8. JAVA学习篇--JAVA两种编程模式控制

    在Drp项目中,解说了两种编程模式Model 1和Model2.以下是对这两种模式的简单理解.以及因为Model2是基于MVC架构的模式,就将我们易混淆的MVC与我们之前学的三层架构进行对照学习一下. ...

  9. thinkphp 的两种建构模式 第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用。第二种架构模式两个单入口文件,分别生成两个应用定义define。。。函数可以定义配置文件。。。。

    thinkphp 的两种建构模式  第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用. ...

随机推荐

  1. HDU 2370 Convert Kilometers to Miles

    点我看题目 题意 : 按照题目给定的规则将公里转化成英里,就是每个数都可以用斐波那契数列里的数表示,每个数都有一个编码,21可以表示成(1,0,0,0,0,0,0) ,13可以表示成(1,0,0,0, ...

  2. ANDROID_MARS学习笔记_S01原始版_010_ContentProvider

    一.简介 一.代码1.xml(1)main.xml <?xml version="1.0" encoding="utf-8"?> <Linea ...

  3. Protel封装库

    一.目录下面的一些封装库中,根据元件的不同封装我们将其封装分为二大类:一类是分立元件的封装,一类是集成电路元件的封装 1.分立元件类: 电容:电容分普通电容和贴片电容: 普通电容在Miscellane ...

  4. 如何关闭win7的ps/2兼容鼠标(触屏版)

    买了一个新电脑联想ThinkPad E555 可是刚拿到是个win10 的系统,用习惯了win7,win0不太好用, 然后帮我刷成了win7,之后一切都好,性能也是让我很满意,但是却关不掉触控板,于是 ...

  5. WIP_DISCRETE_JOBS.STATUS_TYPE

    WIP_DISCRETE_JOBS.STATUS_TYPE Value Meaning 7 Cancelled 8 Pending Bill Load 9 Failed Bill Load 10 Pe ...

  6. Oracle系列之游标

    涉及到表的处理请参看原表结构与数据  Oracle建表插数据等等 游标: 1.目的 解决“ select * ”返回空.多行记录问题 但凡select,就可能多行结果集,也就需要用游标 2.原理 多行 ...

  7. MyBatis学习总结2

    这一篇讲述MyBatis对数据库的CRUD操作,内容不做重复,只做添加:查看学习总结1 一.使用MyBatis对表执行CRUD操作——基于XML的实现 在SQL映射文件userMapper.xml中添 ...

  8. JavaScript里的类和继承

    JavaScript与大部分客户端语言有几点明显的不同: JS是 动态解释性语言,没有编译过程,它在程序运行过程中被逐行解释执行JS是 弱类型语言,它的变量没有严格类型限制JS是面向对象语言,但 没有 ...

  9. [摘]selenium-ide命令

    关于,selenium 命令这一部分,为了便于像我一样的菜鸟理解,我采用通过例子讲命令的方式. 菜鸟Selenium 命令通常被称为selenese,有一系列运行测试案例所需的命令构成. ----// ...

  10. Linux入门2

    请设置系统时间和硬件时间保持一致:# hwclock --hctosys sed用法: 1.删除/etc/grub.conf文件中行首的空白符:sed -r 's@^[[:space:]]+@@g' ...