APP下载

高光谱图像预处理的Matlab并行化研究

2015-12-23吴素萍

计算机工程与设计 2015年8期
关键词:数据量个数集群

梁 亮,朱 超,杨 捷,吴素萍

(宁夏大学 数学计算机学院,宁夏 银川750021)

0 引 言

Matlab[1]利用并行工具箱PCT (parallel computing toolbox)可以使用多核处理器、GPU (graphic processing unit)和计算机集群来解决高复杂度计算问题和数据密集型问题,用户借助PCT 可以对Matlab应用程序进行并行化。PCT 工具箱结合分布式计算引擎MDCS (MATLAB distributed computing server)[2]扩展至集群,可以在大规模计算机集群上运行使用更多worker的应用程序。

高光谱图像处理技术[3,4]被广泛应用于科学研究领域[5-9]。将高光谱图像处理技术应用于解决农产品的品质检测问题,目前已经有一些相关的研究成果[10-12]。高光谱图像技术作为农产品无损检测的新技术也可应用于解决红枣的病虫害外部检测。但这些研究都是基于串行算法,只能解决小数据问题,针对农产品无损检测的大数据高光谱图像处理问题,在分布并行Matlab 环境下的并行研究还少见,本文搭建了Matlab分布式并行计算环境,针对病虫害外部检测中高光谱图像预处理产生的大数据问题,在该环境下对高光谱图像预处理的大数据问题进行并行优化,设计了生成样本的功能模块函数PCii(),取得了一定的加速比,并对结果进行分析。

1 Linux集群配置

Linux集群总共有7个节点,均为刀片式服务器。6个计算节点 (处理器:E5620,内存:24GB),1个控制节点(处理器:E5620,内存:8GB),所有节点系统均为Red Hat Enterprise Linux Server release 5.4。控制节点主机名指定为master,内网IP为192.168.10.10,6个计算节点,主机名分别指定为node1~node6,内网IP 地址分别为192.168.10.50~192.168.10.55,各个节点通过高速交换机连成星型拓扑结构,如图1所示。

图1 集群拓扑结构

1.1 配置hosts文件

将每个节点的/etc/hosts文件配置如下:

127.0.0.1localhost.localdomainlocalhost

192.168.10.10master master

192.168.10.50node1node1

192.168.10.51node2node2

192.168.10.52node3node3

192.168.10.53node4node4

192.168.10.54node5node5

192.168.10.55node6node6

1.2 配置ssh

集群作为一个系统各个节点需要经常交换数据,为保证各个节点之间可以无密码通信,以保证数据交换的顺利完成。需为每个节点配置安全外壳协议ssh (secure shell protocol)服务并开启ssh服务处于运行状态。

(1)控制节点创建秘钥对

ssh-keygen-t dsa-P″-f~/.ssh/id_dsa

(2)添加公钥到授权文件

cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_ke ys

(3)将控制节点的公钥复制到其它计算节点中

scp~/.ssh/authorized_keys user@ (Ip):~/.ssh/

IP为主机IP 地址,因机器而异,也可以使用/etc/hosts文件中对应的主机名称,user为用户名。

(4)测试ssh是否配置完善

首先测试本地:

ssh localhost

首次登录会要求输入密码,首次登录成功后使用exit退出后再次连接就无需密码了。

测试远程主机:

ssh hostname

hostname为机器主机名称,和/etc/hosts文件中的名称对应。和ssh localhost一样,首次登录会要求输入密码,首次登录成功后用exit退出,再次连接就无需密码了。

1.3 配置NFS

网络文件系统NFS (network file system)[13]是一种Linux之间通过网络共享文件的标准方式,从而保证执行代码可以从主控节点传输到各个计算节点,计算节点也可以将计算结果传输到主控节点。配置步骤如下:

(1)启动Samba服务

在主控节点启动Samba服务并添加主控节点已经创建好的用以存放执行代码和执行结果的共享目录/sharedir。

(2)文件映射配置

首先关闭每个机器的防火墙,再将主控节点的文件/etc/exports内容配置如下:

(3)挂载共享目录

在计算节点node1 中建立相同的目录/sharedir,在集群中配置好ssh服务的前提下进入node1,命令如下:

ssh node1

在节点node1 中挂载主控节点共享的目录/sharedir,命令如下:

mount-t nfs 192.168.10.10:/sharedir/sharedir

前面的/sharedir目录是控制节点共享的目录,后面的/sharedir目录是node1中的目录。可使用mount命令查看是否挂载成功,此时进入计算节点/sharedir目录可看到控制节点/sharedir目录中的文件。至此,node1 节点的配置完成,其它节点的配置可重复第 (2)步和第 (3)步来完成。

计算节点可以像访问本地磁盘一样访问/sharedir目录,其实数据存放在主控节点的/sharedir目录下。Samba服务

实验分别对50、80、110、138个高光谱数据进行并行处理。当高光谱数据为50个时,串行执行时产生300个图片,2个worker执行时产生300个图片,4个worker执行时产生300个图片,6 个worker执行时产生300 个图片。因此当数据量为50个高光谱数据时,串、并行实验得到的实验结果完全相同。当数据量为80、110 和138 时情况类似,说明并行算法能够保证串行算法的正确性。实验分4组进行测试,先在集群系统中的单个计算节点进行串行测试,数据量为50 个高光谱数据,为了保证测试结果的稳定,计算结果都是取10次求平均值,worker个数为1、2、4、6的平均执行时间 (s)分别为84.80(s)、43.53(s)、26.20(s)、19.16(s),然后分别在高光谱数据量为80 个、110个和138个时进行测试,在worker数为1、2、4、6个时,实验测试的平均执行时间如图3所示。当数据量为50、80、110、138个高光谱数据时,对应的worker数为1、2、4、6的加速比如图4所示。根据实验的数据得到不同数据量对应不同worker时的并行效率见表1。

图3 不同数据量对应不同worker时的平均执行时间

图4 不同数据量对应不同worker时的加速比

表1 不同数据量对应不同worker时的并行效率/%

从图3显示的结果来看,计算量为50个,80个,110个和138个高光谱数据时,处理所需消耗的时间依次增大。相同计算量时,随着worker个数的增加执行消耗的时间在减少。从图4显示的结果来看,2个worker时,加速比处于稳定的值 (1.9+)。4个worker时,随着数据量的增加加速比在增加,在数据量为80个,110个和138个高光谱数据时加速比处于稳定的值 (3.6+),通过观察系统的资源管理器我们发现,加速比处于稳定值的时候,计算机CPU 的利用率为100%,CPU 处于满负荷状态,因此加速比不会因为数据量的增加而增加,而是处于稳定的值。当worker个数为6个的时候加速比随着数据量的增加在增加(最高为5.5+),从数据趋势来看,具有一定的扩展性。从而在实际应用中可以根据应用需求来扩展集群worker节点,提升性能。从表1所示的结果来看,总体的并行效率都保持在73%以上,worker个数为2个的时候,并行效率整体处于稳定的值,当worker个数为4个时对应的数据量为80个、110个和138个高光谱数据的并行效率处于稳定的值,当worker个数为6个的时候,随着数据量的增加并行效率增加明显,从73.77% (数据量为50)增加到91.82% (数据量为138)。

5 结束语

本文给出了Linux集群Matlab分布式并行计算系统的搭建方案并对配置过程进行了详细说明,针对高光谱数据预处理中的大数据问题,在搭建的系统环境上对预处理实现并行优化,设计了生成样本的功能模块函数PCii(),缩短了处理时间,在保证结果正确的前提下,提高了算法的运行效率,当worker个数为6个时,数据量为138个高光谱数据时最高获得了5.5+的加速比,根据实验结果从不同角度对并行算法和系统进行了分析,具有一定的可扩展性,进一步的研究是利用高光谱数据分析进行农产品的内部检测。

[1]YU Lian.MATLAB parallel computing:Make use of high performance computing resources more efficiently [J].Application of Electronic Technique,2009 (1):4-4 (in Chinese).[余莲.MATLAB并行计算:让高性能计算资源的利用更加高效 [J].电子技术应用,2009 (1):4-4.]

[2]YUAN Shu,HUANG Xuechao,YANG Heng.Configuration and application of Matlab parallel computing cluster under Windows environment [J].Computer and Modernization,2010(5):189-194 (in Chinese). [袁舒,黄学超,杨烜.Windows环境下的Matlab并行机群计算配置及应用 [J].计算机与现代化,2010 (5):189-194.]

[3]WU Chao.Research on some key technology of hyperspectral image processing[D].Nanjing:Nanjing University of Aeronautics and Astronautics,2012 (in Chinese).[吴超.高光谱图像处理若干关键技术研究[D].南京:南京航空航天大学,2012.]

[4]SUN D.Hyperspectral imaging for food quality analysis and control[M].Elsevier,2010.

[5]Camps-Valls G,Tuia D,Bruzzone L,et al.Advances in hyperspectral image classificatioN:Earth monitoring with statistical learning methods[J].Signal Processing Magazine,IEEE,2014,31 (1):45-54.

[6]Liu D,Sun D,Zeng X.Recent advances in wavelength selection techniques for hyperspectral image processing in the food industry [J].Food and Bioprocess Technology,2014,7(2):307-323.

[7]WANG Maozhi,GUO Ke,XU Wenxi.Hyperspectral remote sensing image parallel processing based on cluster and GPU[J].Infrared and Laster Engineering,2013,42 (11):3070-3075 (in Chinese). [王茂芝,郭科,徐文皙.基于集群和GPU 的高光谱遥感影像并行处理 [J].红外与激光工程,2013,42 (11):3070-3075.]

[8]Nascimento J M,Bioucas-Dias J M,Rodriguez Alves J M,et al.Parallel hyperspectral unmixing on GPUs[J].Geoscience and Remote Sensing Letters,IEEE,2014,11 (3):666-670.

[9]ZHENG Xiaowei,YU Mengling.Parallelization design of face recognition algorithm based on Matlab multi-core cluster[J].Journal of Computer Application,2011,31 (10):2597-2599 (in Chinese).[郑晓薇,于梦玲.基于Matlab多核集群的人脸识别算法的并行化设计[J].计算机应用,2011,31(10):2597-2599.]

[10]LI Jinmeng,YE Xujun,WANG Qiaonan,et al.Development of prediction models for determining n content in citrus leaves based on hyperspectral imaging technology [J].Spectroscopy and Spectral Analysis,2014,34 (1):212-216 (in Chinese).[李金梦,叶旭君,王巧男,等.高光谱成像技术的柑橘植株叶片含氮量预测模型 [J].光谱学与光谱分析,2014,34 (1):212-216]

[11]YU K,ZHAO Y,LI X,et al.Identification of crack features in fresh jujube using Vis/NIR hyperspectral imaging combined with image processing [J].Computers and Electronics in Agriculture,2014,103:1-10.

[12]Chen J,Chen H,Wang X,et al.The characteristic of Hyperspectral image of wheat seeds during sprouting [M].Computer and Computing Technologies in Agriculture VII,Springer,2014:408-421.

[13]YING Xuan.Linux under the NFS file system (network),the establishment and configuration method [J].Computer &Network,2013 (21):44-45 (in Chinese).[瑛宣.Linux下NFS (网络文件系统)的建立与配置方法 [J].计算机与网络,2013 (21):44-45.]

猜你喜欢

数据量个数集群
怎样数出小正方体的个数
基于大数据量的初至层析成像算法优化
计算Lyapunov指数的模糊C均值聚类小数据量法
高刷新率不容易显示器需求与接口标准带宽
宽带信号采集与大数据量传输系统设计与研究
等腰三角形个数探索
怎样数出小木块的个数
海上小型无人机集群的反制装备需求与应对之策研究
怎样数出小正方体的个数
一种无人机集群发射回收装置的控制系统设计