并行计算实验教学环境建设

2013-04-29 05:40夏正龙刘晓龙赵俊陈全伟
无线互联科技 2013年7期
关键词:并行计算局域网实验教学

夏正龙 刘晓龙 赵俊 陈全伟

摘 要:为服务并行算法实验教学,在实验室通过局域网用Matlab软件构建了服务于教学的并行计算系统平台。本文给出并行计算环境搭建的详细方案,并用实例测试。

关键词:局域网;Matlab;并行计算;实验教学

Environment Construction of parallel computing Experimental Teaching

XIA zheng-long,LIU xiao-long, ZHAO jun,HUANG li-shi,YIN de-long,Chen quan-wei

Abstract:Parallel computing Experimental based on LAN network is built in the laboratory by Matlab software for parallel computing Experimental Teaching.In this paper, the detailed scheme is presented environment Construction of parallel computing.

Key words:LAN;Matlab;Parallel Computing;Experimental Teaching

在日常生活中遇到许多问题在求解的过程中都需要很大的计算量,如背包问题,邮递员问题等一系列NP问题。因此我们可以采用并行计算的方法来解决此类问题,并行计算教学已成为许多本科学校数学专业必修课程,为使并行计算的本科教学能够顺利实施,必须要有相应的实验教学环境[1]。

PC机群[2]是最容易实现的并行计算环境,Matlab是高校数学系学生常用的软件,大多高校数学系的学生都掌握Matlab的基本使用,因此本文考虑用Matlab搭建并行计算实验教学环境,其目的是服务于高校数学系并行计算教学和学习。本文通过实践给出并行计算实验教学环境的搭建过程,先搭建局域网,然后通过局域网搭建多台PC机并行计算环境,此方案适合并行计算实验教学和集中上机实习。

1 基于多台PC机实验室并行环境搭建

1.1 基本配置及原理介绍

在本文搭建的并行环境中,涉及的硬件有四台PC机、路由器、双绞线。操作系统为Windows XP。一台PC机为主机,其余三台客服机。

在Matlab并行机群中,每台参与计算的计算机中都需要启动一个叫Matlab Distributed Computing Engine(MDCE)的服务[3]通过Matlab R2009b构建的PC机群并行环境如图1。

1.2 实验室中Matlab并行计算机环境配置

先通过路由器将四台PC机连成局域网,然后通过Matlab在局域网搭建PC机群并行系统。在Matalb 2009b测试局域网及相关服务的连通性及配置PC机群。最后配置并行环境,Matalb的Parall菜單中Manager Configuration新建Job Manager配置,在Scheduler输入Job Manager名和所从属主机名,所选Job Manager必须是Admin center中已创建的,在jobs菜单下,输入job计划使用Worker的最大最小数目,设置完成之后,全部测试通过如图2,在窗口下放所有项显示为“passed”。

2 并行计算实例

首先通过Job Manager传输代码:set(job, 'FileDependencies',{'fun1.m','fun2.m','main.m'})其次设置文件关联,让Worker node访问网络文件和本地文件set(job, 'PathDependencies',{'\\ip\sharedir\','/mnt/'})接着使用Configurations Manager设置.在matlab的菜单栏上选择Parallel->Manage Configurations...,启动Configurations Manager,设置jobmanager的属性(Properties...)

以简单实例测试PC机群并行计算环境的可行性,例求2+4,5+8和1+7的和,在PC机群并行计算环境2+4,5+8和1+7可分别由三台电脑独立完成,再由服务器将各电脑求得的值汇总后再计算如图3。具体操作如下:

⑴资源查找,创建对象:jm=findResource('scheduler', 'type','jobmanager','name','myjobmanager',…‘LookupURL, ‘node5);需要修改的是有下划线参数,第一个即前面jobmanager的名字,第二个即本地主机的名字;

⑵创建工作,并将该工作所需的数据、程序发到各个worker处.job1=createJob(jm);%工作名为job1.

set(job1,‘FileDependencies{‘bb1.m,‘bb2.m,‘bb3.m,…'W_FDJ1.mat','W_FDJ2.mat','W_FDJ3.mat'}) 注:set()函数就是将该工作所需的数据、程序发到各个worker处,本程序不需要用到;

⑶创建任务createTask(job1,@sum,1,{2,4}); createTask(job1,@sum,1,{5,8});createTask(job1,@sum,1, {1,7}).为job1创建了3个任务,@sum代表函数头,1代表返回参数个数,此处为1个,{2,4}代表函数sum的输入参数。

3 结束语

本文针对以Matlab软件为基础的并行环境的构建.给出了构建并行环境的搭建过程,并进行了优劣对比。对于本科院校开设《并行算法设计》课程教学有所帮助,在计算机实验室内搭建并行系统,有利于对并行算法的验证以及对并行算法进行研究。

[参考文献]

[1]百度百科.并行计算简介[DB/OL].http://baike.baidu.com/view/1666.htm,2012-3.

[2]百度百科.Windows环境下的Matlab并行机群计算配置及应用[DB/OL].http://wenku.baidu.com/view/f042ee4ecf84b9d528ea7a5a.html.

[3]陈国良,等.并行算法实践[M].北京:高等教育出版社,2004:4-25.

猜你喜欢
并行计算局域网实验教学
轨道交通车-地通信无线局域网技术应用
小议初中化学演示实验教学
电容器的实验教学
对初中化学实验教学的认识和体会
基于VPN的机房局域网远程控制系统
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
几何体在高中数学实验教学中的应用
云计算中MapReduce分布式并行处理框架的研究与搭建
矩阵向量相乘的并行算法分析