夏正龍 劉曉龍 趙俊 陳全偉
摘 要:為服務(wù)并行算法實驗教學(xué),在實驗室通過局域網(wǎng)用Matlab軟件構(gòu)建了服務(wù)于教學(xué)的并行計算系統(tǒng)平臺。本文給出并行計算環(huán)境搭建的詳細(xì)方案,并用實例測試。
關(guān)鍵詞:局域網(wǎng);Matlab;并行計算;實驗教學(xué)
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問題。因此我們可以采用并行計算的方法來解決此類問題,并行計算教學(xué)已成為許多本科學(xué)校數(shù)學(xué)專業(yè)必修課程,為使并行計算的本科教學(xué)能夠順利實施,必須要有相應(yīng)的實驗教學(xué)環(huán)境[1]。
PC機(jī)群[2]是最容易實現(xiàn)的并行計算環(huán)境,Matlab是高校數(shù)學(xué)系學(xué)生常用的軟件,大多高校數(shù)學(xué)系的學(xué)生都掌握Matlab的基本使用,因此本文考慮用Matlab搭建并行計算實驗教學(xué)環(huán)境,其目的是服務(wù)于高校數(shù)學(xué)系并行計算教學(xué)和學(xué)習(xí)。本文通過實踐給出并行計算實驗教學(xué)環(huán)境的搭建過程,先搭建局域網(wǎng),然后通過局域網(wǎng)搭建多臺PC機(jī)并行計算環(huán)境,此方案適合并行計算實驗教學(xué)和集中上機(jī)實習(xí)。
1 基于多臺PC機(jī)實驗室并行環(huán)境搭建
1.1 基本配置及原理介紹
在本文搭建的并行環(huán)境中,涉及的硬件有四臺PC機(jī)、路由器、雙絞線。操作系統(tǒng)為Windows XP。一臺PC機(jī)為主機(jī),其余三臺客服機(jī)。
在Matlab并行機(jī)群中,每臺參與計算的計算機(jī)中都需要啟動一個叫Matlab Distributed Computing Engine(MDCE)的服務(wù)[3]通過Matlab R2009b構(gòu)建的PC機(jī)群并行環(huán)境如圖1。
1.2 實驗室中Matlab并行計算機(jī)環(huán)境配置
先通過路由器將四臺PC機(jī)連成局域網(wǎng),然后通過Matlab在局域網(wǎng)搭建PC機(jī)群并行系統(tǒng)。在Matalb 2009b測試局域網(wǎng)及相關(guān)服務(wù)的連通性及配置PC機(jī)群。最后配置并行環(huán)境,Matalb的Parall菜單中Manager Configuration新建Job Manager配置,在Scheduler輸入Job Manager名和所從屬主機(jī)名,所選Job Manager必須是Admin center中已創(chuàng)建的,在jobs菜單下,輸入job計劃使用Worker的最大最小數(shù)目,設(shè)置完成之后,全部測試通過如圖2,在窗口下放所有項顯示為“passed”。
2 并行計算實例
首先通過Job Manager傳輸代碼:set(job, 'FileDependencies',{'fun1.m','fun2.m','main.m'})其次設(shè)置文件關(guān)聯(lián),讓W(xué)orker node訪問網(wǎng)絡(luò)文件和本地文件set(job, 'PathDependencies',{'\\ip\sharedir\','/mnt/'})接著使用Configurations Manager設(shè)置.在matlab的菜單欄上選擇Parallel->Manage Configurations...,啟動Configurations Manager,設(shè)置jobmanager的屬性(Properties...)
以簡單實例測試PC機(jī)群并行計算環(huán)境的可行性,例求2+4,5+8和1+7的和,在PC機(jī)群并行計算環(huán)境2+4,5+8和1+7可分別由三臺電腦獨立完成,再由服務(wù)器將各電腦求得的值匯總后再計算如圖3。具體操作如下:
⑴資源查找,創(chuàng)建對象:jm=findResource('scheduler', 'type','jobmanager','name','myjobmanager',…‘LookupURL, ‘node5);需要修改的是有下劃線參數(shù),第一個即前面jobmanager的名字,第二個即本地主機(jī)的名字;
⑵創(chuàng)建工作,并將該工作所需的數(shù)據(jù)、程序發(fā)到各個worker處.job1=createJob(jm);%工作名為job1.
set(job1,‘FileDependencies{‘bb1.m,‘bb2.m,‘bb3.m,…'W_FDJ1.mat','W_FDJ2.mat','W_FDJ3.mat'}) 注:set()函數(shù)就是將該工作所需的數(shù)據(jù)、程序發(fā)到各個worker處,本程序不需要用到;
⑶創(chuàng)建任務(wù)createTask(job1,@sum,1,{2,4}); createTask(job1,@sum,1,{5,8});createTask(job1,@sum,1, {1,7}).為job1創(chuàng)建了3個任務(wù),@sum代表函數(shù)頭,1代表返回參數(shù)個數(shù),此處為1個,{2,4}代表函數(shù)sum的輸入?yún)?shù)。
3 結(jié)束語
本文針對以Matlab軟件為基礎(chǔ)的并行環(huán)境的構(gòu)建.給出了構(gòu)建并行環(huán)境的搭建過程,并進(jìn)行了優(yōu)劣對比。對于本科院校開設(shè)《并行算法設(shè)計》課程教學(xué)有所幫助,在計算機(jī)實驗室內(nèi)搭建并行系統(tǒng),有利于對并行算法的驗證以及對并行算法進(jìn)行研究。
[參考文獻(xiàn)]
[1]百度百科.并行計算簡介[DB/OL].http://baike.baidu.com/view/1666.htm,2012-3.
[2]百度百科.Windows環(huán)境下的Matlab并行機(jī)群計算配置及應(yīng)用[DB/OL].http://wenku.baidu.com/view/f042ee4ecf84b9d528ea7a5a.html.
[3]陳國良,等.并行算法實踐[M].北京:高等教育出版社,2004:4-25.