相关服务

  • 《现代电子技术》2006年第21期摘录:2006年第21期总第236式

如发现有乱码,请点击下面链接浏览原文
正文摘录:

2006年第21期总第236式是所有的进程都在执行单个程序,只是少数进程(经常是初始化时由人工指定)同时负责非计算功能(如I/0等)。Masler/Slave程序框架图和SPMI)程序框架图如图3,图4所示。掣甲v0—1—0厂丽≤荔五一LI.调用pⅧ一m蜘ds()注册调用pⅥrI—spa、vTl(…)创建子进程分派子进程并发送控制参数逐一接收子进程的运算结果等信息调用pⅧ一paenK)确定家族关系接收父进程的参数完成指定任务将运行结果和奉进程标识等信息发送给主进程怒姑磷PVMI盛结果并退出l~至尘__。_________________。。。。__。。'。______________-。。。,一南图3Master’/Stave框架厂再n是第一份拷贝吗?派生子进程二=j二初始化缓冲区+打包数据——厂广播发送数据接收数据_______-_-。。。___________一————j‘——一确定子进程号。。。。。。。。。_________________-。。。。一————生—一计算二二[茇送运算结果等待、回收结果并处理(堕窒J图4SMPD框架3.2编程模式选择两种程序设计模型各有其优缺点,应根据具体的应用程序来衡量选用何种模型更为有效。一般来说两种模式与任务分解的两种技术是相互对应的。定义域分解适合sPMD模式,而控制分解适于Master/Slave模式。但除了任务分解的影响还要考虑以下几个方面:(1)应用程序是何种规模在SPMI)模式中,所有计算任务都加载到结点上完成,对I/o,图形操作及用户操作接口都通过系统服务控制完成。对于并行处理结点而言,这需要更多的内存空间来完成;相反,在Mas!er/Slave模式中,由于一部分操作可放到Master上来执行,因而相对就减轻了并行处理结点的任务量;(2)I/O操作两种模式下,I/0操作(如磁盘访问)是不同的。.Mas—ter/Slave模式下,所有的I/O都是通过Master程序完成的,Slave通过发送消息给Master实现I/O。这种模式适于外设集中于个别机器上的机群系统。而在SPMD模式下,每个进程都可以独立进行I/O操作。这种模式能充分利用整个系统的I/0带宽,效率高。如果程序中有大量的I/0操作,就要注意两种模式下I/0的差异。(3)硬件相关性如果现有的程序中有大量与硬件相关的代码存在,则较适合用Master/Slave模式对原有程序进行改造。尽量将与硬件相关的操作放在Master程序中,让其在符合原来程序要求的机器上执行,而将硬件无关部分并行化,放在并行处理节点上执行,以减少工作量。(4)可移植性与维护性在SPMI)模式中,一个应用程序只有一个同样的代码,分别在并行计算机系统的多个结点上运行。他可以被保存在一个源文本文件中,易于保存和进行移植。而对于Master/Slave模式,我们必须分别保存在主机Master和结点处理机Slave上的运行的程序源代码。而在程序移植时,特别对于移植Master与结点处理机不相同的并行计算机系统的并行应用程序时,须对Master程序与结点程序分别对待,因而给移植与维护增加了困难。在处理对于Master与结点处理机在存放数据的高低字节相反的并行计算机中,使用户程序在接口上就变得相当复杂。(5)复用性对于一些大型的应用程序,开发过程复杂,涉及面广,有些可能没有多少人了解整个代码。这种情况下,用Masl:er/Slave模式将可并行化部分划分到多个节点运行,很容易就能实现并行化。反之,如果采用SPM[)模式则要对这个程序进行修改,很难实现。模式的选择不是绝对的,许多程序可采用任一模式编写,有时两种模式也可互换,程序员要根据具体情况综合考虑。4结语通过初步的研究和实践,详细介绍了在windows环境下利用PVM构建了一个高性能机群计算机系统的配置过程,以及利用VC”编程环境进行并行程序设计所需要的设置,同时给出两种并行编程模式的框架及选择依据,当然,这仅是并行编程的基础,要进一步掌握并行编程的方法,还需要不断的编程实践和总结。目前在我国科研、教育领域,绝大多数计算机仍然是PC机,把微机局域网组成高性能机群计算机系统,不仅可以大大提高现有设备解决实际计算问题的能力,更重要的(下转第56页)53

阅读此文(图):   点击此处在线翻阅