基于Matlab多核并行集群搭建及性能分析

2018-01-17 22:04顾慧
电子技术与软件工程 2017年24期
关键词:并行计算

摘 要

为了充分利用多核处理器资源,本文在分析matlab并行计算工具箱中各部件关系的基础上,利用windows环境实现了matlab多核并行计算集群的搭建,并通过实例,阐明了基于matlab的并行程序设计方法。经测试,并行化处理能有效利用资源优势,缩短运行时间,对进一步研究各类并行处理有一定的指导意义。

【关键词】多核集群 并行计算 PCT

1 多核集群概念

随着计算机硬件技术的发展,处理器的性价比不断提高,并行计算已逐渐由传统的超级计算机转移至拥有多个高性能节点的集群平台上。集群是指可提供网络资源的一组互连的计算机,每台计算机为一节点由集群统一调度,作为一个并行计算机系统工作。从结构和节点通信方式理解,集群是一个分布式存储系统,通过消息传递实现各主机之间的通信,由并行编程环境支持系统完成资源管理和相互协作。多核集群已成为当今公认的高效并行开发模型。随着多核处理器的广泛应用和集群系统的深入研究,以多核為单个节点的多核集群应运而生。多核集群可灵活的进行任务分解,具有良好的可移植性和扩展性。

2 Matlab并行机制

Matlab是用于算法开发、数据可视化、数据分析及数值计算高级技术的交互式环境。Matlab提供并完善了并行计算工具箱(Parallel Computing Toolbox)和MATLAB 分布式计算服务器功能(Distributed Computing Server),为用户解决庞大计算、数据密集型问题。本文充分结合集群和Matlab两者优势, 构建Windows下进行并行计算环境。

并行计算集群中,将一个大规模的工作分解成若干小任务让不同的计算机去处理,并将各处理机结果进行回收,从而提高计算效率。采用Matlab进行并行的集群环境,每台节点机中都将启动Matlab Parallel Computing Engine 服务,该服务能启动参与计算的 worker 的 Matlab session 和管理各台计算机 workers 的job manager。既而通过Job manager 对 workers 进行管理,给 workers分配计算任务,接收 workers 计算后的结果。client进行任务分解,交给job manager。jobmanager 根据 workers 的多少和空闲情况,给每个 workers分配任务,完成后再向job manager反馈结果。所有 workers 都完成任务后,client就可以从 job manager 里取回结果。

3 集群环境搭建

3.1 软硬件环境

在本文配置的硬件环境中,使用交换机连接3台独立的PC机,计算机通过网线与交换机连接,将3台PC机设置为同一网关内,保证局域网畅通互联。3台PC机配置如表1所示:

3.2 搭建与配置

在每一台机器上安装Matlab,运行Matlab并在MATLAB\R2013a\toolbox\distcomp\bin下开启Matlab 分布式计算服务器( MDCE) :!mdce install 以及 !mdce startk。PCT需要安装在编写应用程序的机子上。为了打开防火墙中Matlab分布式计算的对应端口,此时右键点击左边的addMatlabToWindowsFirewall.bat,选择在Windows资源管理器中打开,以管理

员身份运行。所有将参与该计算集群或使用该计算群集功能的服务器和计算机都需要完成以上操作。

在MATLAB\R2013a\toolbox\distcomp\bin下,以管理员身份运行admincenter.bat文件,点击Add or Find,依序完成测试、主机、作业管理器和节点等配置工作。节点数要不超过每台PC处理器内核数。

4 实验测试

针对Matlab平台,对于绘制正弦曲线,将原来的串行算法做一些改变以适应数据的并行处理。具体过程如下:

(1)通过matlabpool open cluster;%开启全部线程。这里进行了4线程、12线程测试。

(2)tic用来保存当前时间进行初始时间记录,将可独立的循环部分加入parafor。

(3)循环算法公式,绘制。

(4)使用toc来记录程序完成时间记录。

(5)关闭线程。

串行程序执行时间为:0.516591s,4workers时为0.2242606s,12workers时为0.127789s。

5 结语

本文通过在windows环境实现了matlab多核并行计算集群的搭建,分析了matlab的并行机制。通过实验中程序串行执行和并行用时对比,体现出Matlab多核并行计算的优势,为日后在此基础上开展图像处理并行化研究具有一定的参考价值。

参考文献

[1]刘维编著.实战Matlab之并行程序设计[M].北京航空航天大学出版社,2012.

[2]姚尚锋等.MATLAB并行计算解决方案[J].计算机时代,2016(09).

[3]阮定益.并行式matlab平台搭建[J].电脑知识与技术,2008(08).

作者简介

顾慧(1985-),女,讲师。主要研究方向为并行计算、计算机教育。

作者单位

内蒙古师范大学网络技术学院 内蒙古自治区呼和浩特市 010022endprint

猜你喜欢
并行计算
基于自适应线程束的GPU并行粒子群优化算法
云计算中MapReduce分布式并行处理框架的研究与搭建
并行硬件简介