前言:中文期刊网精心挑选了计算机并行处理技术范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
计算机并行处理技术范文1
关键词:雷达数据处理;线程级并行;任务级并行;数据局部性
中图分类号:TP301.6 文献标识码:A
1引言
未来战争中的电磁环境将异常复杂,雷达会受到各种形式的欺骗和干扰,产生大量的杂波,并且需要检测的目标日益增多,目标的运动速度越来越快,目标的机动性也越来越灵活[1-2]。上述情况的出现将会大大增加雷达数据处理的运算量,而雷达数据处理系统作为一个实时系统,必须在规定的时间内计算出结果,这对数据处理的计算能力提出了很高的要求。
并行处理技术是提高计算速度最有效的技术之一,通过把求解问题分解为多个可以并行运算的子问题,在多个处理器上同时求解,从而降低解决时间。目前,并行处理已广泛的应用于石油勘探、气象预报、核武器模拟等对计算能力有迫切需求的领域[3],并且在雷达仿真系统、雷达信号处理、多传感器数据融合等方向也有应用[4-6]。
本文将对并行处理技术在雷达数据处理中的应用进行研究,探索并行雷达数据处理设计方法,解决雷达系统中面临的计算能力不足问题。
2并行处理相关工作
2.1并行计算机系统
对称多处理器(symmetric multiprocessor, SMP)并行计算机均采用均匀存储访问结构,如图1(a)所示。共享存储结构提供了一个对用户友好的编程视角,处理器间的通信通过共享存储的方式实现,速度快,其缺点是需要用户保证存储一致性,扩展性较差。
分布式存储结构中每个处理器都有自己独立的内存,本地内存的改变将不会影响到其他的处理器,处理器间通过互联网络进行通信,如图1(b)所示。分布式存储的优点是扩展性好,不需要维护存储一致性,缺点是需要用户显式地进行处理器间通信。
2.3并行计算机编程模型
并行计算机编程模型主要包括共享存储和消息传递两种编程模型[8-9]。
共享存储并行编程模型基于线程级的细粒度并行,主要应用于SMP等共享存储结构的并行计算机。在多个处理器访问共享内存时,需要采用同步机制以保证共享数据的一致性,常用的同步机制有互斥量和信号量。OpenMP是目前比较流行的面向共享存储的并行编程技术。进行循环级并行的应用程序适合采用共享存储编程模型。
3雷达数据处理分析
雷达数据处理系统接收到信号处理送来的点迹,一般按照图2所示流程进行处理[10]。
点迹预处理:把每一个新点迹从目标量测坐标系转换到数据处理所在坐标系。
数据互联:建立当前时刻新点迹与历史数据之间的关系,以确定这些点迹是否来自同一个目标,分为新点迹与旧点迹的互联、新点迹与航迹的互联。典型的数据互联算法有最近邻域法(NNF)和概率数据互联法(PDAF)。最近邻域算法根据对目标状态的预测设置跟踪门(相关波门),判断新点迹是否落入某个跟踪门内,设置相关度,最后选择相关度最高的点航配对。点迹与点迹的互联方法同点航互联。
航迹起始:航迹起始是目标跟踪的第一步,主要包括暂时航迹形成和轨迹确定。
跟踪:对来自目标的新点迹量测值进行处理,以便保持对目标现时状态的估计。目前,经常采用的目标跟踪方法有交互式多模型算法、Jerk模型算法等,滤波算法多使用卡尔曼滤波[10]。交互多模型算法通过多个目标模型的有效组合来实现对目标机动状态的自适应估计[11-12]。
点迹与航迹维护:对每个点迹和航迹进行维护,删除满足条件的点迹和航迹。
4实验结果分析
根据第3节的分析,分别搭建了共享存储并行计算机系统和分布式存储并行计算机系统。
共享存储计算机系统配置为:Intel Xeon W3565 四核处理器,Linux 2.6.32操作系统,6 GB内存,四个处理器核通过处理器内部的互连总线共享内存。分布式存储计算机系统由四个节点组成,每个节点配置为Intel Xeon W3565处理器,Linux 2.6.32操作系统,6 GB内存,千兆以太网卡,节点之间通过千兆以太网交换机进行通信。
在实验中,仿真1500帧数据,模拟2000批目标,每帧数据随机产生20000个杂波点,雷达的探测距离为1000 km,目标和杂波点迹在探测空域均匀分布。
采用任务级并行处理方法时,相邻区域的重叠范围20 km,按照表1中的配置对任务进行分解。
在点迹预处理、航迹起始和跟踪等步骤中,随着任务的分解,运算量线性降低。线程级并行和任务级并行均具有这种特点,因此两种并行方法的执行时间变化情况基本一致。
根据第3节的分析可知,按照探测距离分解任务时,数据互联计算量的降低与任务个数增加成平方关系,而线程级并行方法中数据互联计算量与任务分解个数成线性关系。因此,在数据互联步骤,线程级并行执行时间成线程降低,任务级并行执行时间成平方关系降低,与图7中的统计结果基本一致。
点迹与航迹维护主要是对保存点迹、航迹、点航配对的链表等共享数据进行查找、删除等操作。线程级并行方法中访问共享数据需要采用同步机制,频繁的访问共享数据会导致线程的阻塞。另外,多个线程同时访问内存,竞争激烈,每个线程的访存带宽下降明显,因此线程级并行处理中点迹与航迹维护并行处理的效果不好。
在任务级并行时,每个子任务有独立的内存,不存在访存竞争问题和同步。每个子任务负责部分区域的处理,点迹和航迹链表长度与任务个数成线性关系降低,点航配对链表长度与任务个数呈平方关系下降,因此任务级并行处理中点迹与航迹维护时间降低非常明显。图7中的统计结果与上述分析基本一致。
在任务级并行中增加了综合步骤,当只有一个任务时,不需要综合步骤,多个任务执行时,综合步骤的时间开销占总时间的比例在5%以内,对系统执行时间影响很小。
通过以上为分析可知,按照探测区域进行任务级粗粒度并行处理比线程级的细粒度并行处理效果更好。
5结论
本文通过对雷达数据处理进行分析,提出了两种并行处理方法。第一种方法是对数据处理各步骤中的循环采用多个线程并行处理,属于细粒度并行;第二种方法是根据雷达数据的局部性特征,把雷达探测空域按照径向距离划分成多个部分,由多个子任务并行处理,属于粗粒度并行。实验结果显示,4线程细粒度并行雷达数据处理架构性能接近原来的3倍,4任务粗粒度并行架构性能接近原来的5倍,证明了并行处理技术在雷达数据处理中的有效性。
在线程级并行处理方法中,线程之间同步频繁,访存竞争激烈等原因导致性能有所损失。任务级并行处理方法中同步次数较少,不存在访存竞争问题,并且按照区域分解任务减少了总任务的计算量,性能提高更明显。因此,任务级的粗粒度并行更适合雷达数据处理。
参考文献
[1]康耀红. 数据融合与应用[M]. 西安:西安电子科技大学出版社,1997.
[2]俞志富,吕久明. 基于航迹跟踪的EKF应用研究[J]. 现代防御技术,2007,35(2):113-117.
[3]王志斌,陈 波,万玉发,等. 天气雷达资料实时并行处理方法[J]. 计算机工程,2009,35(23) :255-257.
[4]徐雷,吴嗣亮,李海. 相控阵雷达仿真系统并行计算研究[J]. 北京理工大学学报,2008,28(6):517-520.
[5]何勇,张必银. 多传感器数据融合并行处理方法研究[J]. 舰船电子工程,2011,31(8):56-59.
[6]黄鸿,王秀春. 并行计算机在现代雷达信号处理中的应用[J]. 现代雷达,2004,26(3):25-28.
[7]多核系列教材编写组. 多核程序设计[M]. 北京:清华大学出版社,2007.
[8]陈国良. 并行计算:结构算法编程[M]. 第3版. 北京:高等教育出版社,2011.
[9]RABENSEIFNER, R.Hybrid. MPI/OpenMP Parallel Programming on Clusters of MultiCore SMP Nodes[J]. 17th Euromicro International Conference on Parallel, Distributed and Networkbased Processing, 2009: 427-436.
[10]何友,修建娟,张晶炜,等. 雷达数据处理及应用[M]. 第二版. 北京:电子工业出版社,2009.
计算机并行处理技术范文2
【关键词】大数据;三维场景;快速可视化;LOD;GPU
1 引言
地理信息系统(Geographic Information System,GIS )是一种采集、存储、管理、分析、显示与应用地理信息的计算机系统,是分析和处理海量地理数据的通用技术。随着人们对GIS行业越来越深入的了解,伴随着计算机软、硬件技术和通信技术高速迅猛的发展,GIS已然渗透进入国民生产的各个行业和国民生活的各个方面。然而传统的GIS技术仍然存在着明显的缺陷,主要表现为它以处理二维信息为主,把连续分布的三维现实世界抽象成二维的数字信息,不能给人以自然界三维空间真实物体身临其境的感受。三维GIS是GIS技术发展的重要领域,是进行全方位、多层次、多要素时空分析的基础,开发结构简单、功能完善的真三维GIS软件是当前GIS研究人员的重要目标。由于空间数据具有的数据量庞大、内容丰富等特点,使得三维GIS中要处理的空间数据量远远超出了当前计算机硬件所能处理的能力,该特点已经成为了三维GIS可视化的制约性因素。
层次细节(Level Of Detail, LOD)思想提供了一个解决庞大数据量与快速可视化问题A方向LOD技术主要是根据人眼的视觉原理,一个物体距离人眼越远,人眼看到该物体的细节也就越少,因此系统就可以将距离观察点较远的物体用较粗粒度的模型来代替,从而在不降低视觉效果的前提下大幅度降低了计算机需要处理的数据量,解决了系统的实时动态显示效果。在同样大小的显示范围内,采用LOD技术可以使数据处理量基本保持不变,这一特性对海量空间数据的实时三维可视化是非常重要的。
近年来,随着计算机图形处理器(Graphic Processing Unit, GPU)的计算能力的提升,极大的提高了计算机图形处理的速度和图形生成的质量。GPU技术的极速发展一方面提高了图形处理的计算速度,另一方面还促使了一些与图形处理相关的硬件技术的进步,比如:具有可编程的像素处理模块和具有顶点处理功能的图形硬件@染管道。在3DGIS可视化方面,LOD模型正朝着与GPU集成的方向发展,建模的方法已经不再是逐个选择某个多边形进行绘制,而是在大量的多边形组中选择一组进行批量绘制,建立适合于现代GPU处理的LOD框架,不再追求尽可能的减少多边形的绘制,只要能达到硬件的绘制要求即可。
本文基于对LOD与GPU技术的研究,设计并实现了一个3DGIS平台,并利用该平台解决了海量空间数据实时三维可视化问题。
2 LOD金字塔构建
本文使用的LOD金字塔模型是基于四叉树结构,以分层分块的方式构建的。利用这种方式组织的金字塔模型具有以下特点:
(1)对于树中任意相邻的层,从上到下,分辨率呈双倍递增关系,这样可以很方便的使用四叉树索引技术进行快速定位。
(2)树中每个节点对应一块区域,这样可以直接提供不同分辨率的数据而无需实时重采样。
在构建金字塔时,首先把原始栅格数据作为金字塔的底层,并对其进行分块,形成底层瓦片矩阵。在底层的基础上,从左下角开始,从左至右、从下到上按每2×2个像素合成一个像素的方法生成像素矩阵,并进行分块,形成上一层瓦片矩阵。
分层分块后的文件命名要能反映出数据所在层数和数据的坐标信息,本文采用如下命名规则:Dataset Name\Level of LOD\FileX\ FileX_FileY.abc,其中,Level of LOD为数据所在金字塔模型的层号,FileX为块的行号,FileY为块的列号。利用该规则可以实现文件名与文件坐标之间的换算。
3 GPU高速并行计算
图形处理器(Graphic Processing Unit,GPU)是一个专门用于图形渲染的微处理器,它可以快速的操作和改变内存以加快输出帧缓存中的图像。
在GPU处理器出现以前,显卡只负责图形渲染的操作,大部分的运算处理都由CPU来实现。在GPU出现以后,主流计算机中的处理器大都包含CPU和GPU,由CPU和GPU协同结合来完成大数据量运算和图形@染的工作。CPU和GPU协调工作,CPU负责处理逻辑性强的事务处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。与CPU相比,GPU在运算能力和存储器带宽上具有明显的优势,它可以通过增加并行处理单元和存储器控制单元的方式来提高计算机的并行处理能力和存储器带宽。与CPU相比,GPU具有很多优势:
(1)高度并行性:GPU具备多个@染管道,能并行处理多个顶点和像素数据,具有很高的并行性;
(2)GPU具有向量运算架构,使得其在处理大规模向量运算时性能更佳;
(3)只读高速缓存:GPU中的缓存是只读的,其主要功能是用于过滤对存储器的请求,减少对显存的访问,这使得它比CPU更适合于流处理计算,处理逻辑分支简单的大规模数据并行任务。
4 3DGIS平台设计与实现
本文结合LOD与GPU技术,通过C++语言,使用Microsoft Visual Studio 2012开发工具开发了一套3DGIS软件平台,其功能设计如图1所示。
如上图所示,配置文件中存储一些系统相关参数,如默认图层等,系统初始化时通过配置文件模块读取配置文件内容并创建默认对象;场景控制模块负责事件监听,并保存事件触发后相关场景参数的修改;数据调度模块使用基于四叉树的瓦片检索算法检索当前场景的可见瓦片,并负责在缓存或服务器中获取数据;渲染模块通过构建地形网格和纹理贴图产生三维场景。测试结果显示,当三维窗口大小为800×600时,平均帧频为24.8帧/秒。
5 结束语
本文利用LOD金字塔与GPU的高度并行计算能力和可编程性解决了3DGIS中大数据量场景的快速可视化的问题,并取得了良好的实验效果。本文的主要创新点是将LOD与GPU两项技术相结合,并成功应用到3DGIS软件的开发中。
系统在实现时,为了明确系统目标,降低编码工作量和数据整理搜集的工作量,仅从局部角度考虑三维GIS的快速可视化,没有像Google地球和NASA的WorldWind那些从全球的角度来实现系统的三维可视化,这也是本文下一步考虑解决问题。
参考文献
[1]陈述彭,鲁学军,周成虎.地理信息系统导论[M].北京:科学出版社,2001.
[2]李青元,林宗坚,李成明.真三MGIS技术研究的现状与发展[J].测绘科学,2000.25(2):47-51.
[3]肖乐斌,钟耳顺,刘纪远,等.三维GIS的基本问题探讨.中国图象图形学报,2001(9).
[4]James HClark,HierarchicalGeometric Models for Visible Surface Algorithms[J].Communieation of ACM, 1976(10).
计算机并行处理技术范文3
关键词:直连网络;wormhole寻径;死锁的避免和恢复;虚拟通道
中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)03-0558-02
对于大规模问题求解时,要求很高的计算求解的速度,电子技术的发展曾使计算机的运算速度获得惊人的提高,但现在已接近电子传输的物理极限,传统的大型机和向量巨型机由于自身物理因素和工艺水平的限制,在性能上很难进一步达到要求。因此,传统计算机的串行结构是阻碍速度提高的关键因素,并行处理技术就成了进一步提高性能的主要途径。
并行处理技术是并行计算机的关健技术,它涉及的范围很广,包括并行结构、并行算法、并行操作系统、并行语言及其编译系统等,其中并行结构是关键因素。
计算机根据指令流和数据流是单一的还是多个的进行分类,并行处理机可以分为SIMD(单指令流多数据流)和MIMD(多指令流多数据流)两大类。SIMD比较专用,世界上装用的数量并不多,MIMD则应用广泛,发展出多种类型。MIMD可进一步划分为以下五种类型:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、分布共享存储器(DSM)多处理机、机群系统(COW)。
本文讨论当今较为常用的MPP计算机组成的关键部分――互连网络的结构,并对wormhole寻径技术展开分析和讨论。
1基本术语与性能指标
1.1消息、包和片
消息(Message)是在多计算机系统的处理接点之间传递包含数据和同步消息的信息包。它是一种逻辑单位,可由任意数量的包构成。包(Packet)的长度随协议不同而不同,它是信息传送的最小单位,64-512位。片(Flit)的长度固定,一般为8位。1.2互连网络技术指标
互连网络用来在多计算机系统的处理结点之间传递消息。互连网络性能的两个重要指标是传输时延(Transmission Latency)和吞吐量(Throughput)。吞吐量指系统在每秒内发送或接收到的消息的字节数,它取决于节点的体系结构和通信机制。传输时延主要有三个部分组成:
一个消息的传输时延:从它在源结点进行发送初始化到它在目的结点完整的被接收所耗费的时间。一个网络的传输时延:在一定条件下发送消息的平均时延。
网络的吞吐量:单位时间内网络所能传输的消息数目或长度。
图1 wormhole寻径
2 Wormhole寻径(Wormhole Routing)
首先把一个消息分成许多片,消息的头片包含了这个消息的所有寻径信息,尾片是一个其最后包含了消息结束符的片,中间的片均为数据片。片是最小信息单位。每个结点上只需要缓冲一个片就能满足要求。
Wormhole寻径方式如图1所示。
当消息的头片到达一个结点A的寻径器后,寻径器根据头片的寻径信息立即做出寻径选择:如果所选择的通道空闲而且所选择的结点B的通信缓冲器可用,那么这个头片就不必等待,直接通过结点A传向下一个结点B;随后的其它片跟着相应的向前“蠕动”一步。当消息的尾片向前“蠕动”一步 后,它刚才所占用的结点就被放弃了。如果所选择的通道非空闲或者所选择的结点的通信缓冲器非可用,那么这个头片就必须在此结点的通信缓冲器中等待,直到上述两者都可用为止;其它片也在原来的结点上等待。此时,被阻塞的消息不从网络中移去,片不放弃它所占有的结点和通道。这是Wormhole技术和其它流控制技术都不同的地方。
Wormhole方式从管道消息流的概念中所继承的。它的优点是每个结点的缓冲器的需求量小,易于用VLSI实现;较低的网络传输延迟;所有的片以流水方式向前传送。而在存储转发中,消息是整个的从一个结点“跳”向另一个结点,通道的使用是串行的。Wormhole与线路开关的网络传输延迟正比于消息包的长度,传输距离对它的影响很小(消息包较长时的情况)。通道共享性好、利用率高。对通道的预约和释放是结合在一起的一个完整的过程:占有一段新的通道后将立即放弃用过的一段旧通道。易于实现Multicast和Broadcast。允许寻径器复制消息包的片并把它们从多个输出通道输出。
由于wormhole技术淡化了路径长度对网络性能的负面影响,使人们有希望采用简单、规整的低维网格结构来实现高性能的大规模并行处理(MPP)互连网络。所以,wormhole技术已被广泛用于MPP互连网络中,并收到了较好的效果。
3虚拟通道与死锁
对于wormhole寻径方式最重要的问题在于防止消息传递的阻塞和死锁。一个消息有可能在一个向相反方向传递的消息后阻塞,如图2所示。
图2 Wormhole寻径的阻塞
图中,源2与目的2两各节点之间首先开始传输片,这样就阻塞了源1到目的1的片的传送。在这种情况下,通常使用虚拟通道来解决阻塞的问题。一个虚拟通道是一个物理通道的逻辑抽象概念,与一个物理通道关联的所有虚拟通道具有不同的片缓存,并且它们时分复用该物理通道。与此类似,每个与虚拟通道相关联的缓存实际上是该物理通道的缓存的一部分,如图3所示。
图3虚通道示意图
在图3所示的虚通道示意图中,两个虚通道共用一个物理通道,实现了物理通道的时分复用,从而解决了阻塞的问题。在虚拟通道中,一条物理通道在逻辑上分成两个传输方向相反的通道,每一个虚拟通道为单向且有自己的缓存区;一条物理通道上的虚拟通道逻辑上被划分成多个虚拟通道,这些虚拟通道共享这条物理通道发送或接收信息。由于虚拟通道能够有效的减小冲突和阻塞,因此为增强性能和设计非死锁的寻径算法方面,在多计算机系统尤其是MPP中使用的非常频繁。
综上所述,wormhole技术的通道具有共享性好,灵活的连接方式,较高的吞吐率等优点。在wormhole技术中,对通道的预约和释放是结合在一起的一个完整过程。当占有一段新的通道后,将立即释放用过的一段旧通道,充分考虑多个数据包对通道资源的共享。数据包经过的每一段通道既不在数据包到达之前预约,也不在数据包通过之后继续占有,仅仅在数据包到达时才被使用。对于某一段通道来讲,在数据包到达之前它不必空闲等待,当数据包经过之后它立即可以为其它数据包所利用。
4避免死锁的wormhole寻径方式
4.1维序寻径
维数排序路由是一种确定的wormhole寻径方式,它规定了消息传递时所选择的路径的维数即方向的顺序。这种网络的维数按照时限定好的单调的顺序排序。消息首先在最高维或最低维进行置换,直到它在这一维的方向上到目的节点的距离为0,然后消息再在一个相邻的维上进行交换,重复这个过程,直到该消息抵达目的节点。所有的消息不会反向传送,不会形成循环,因此就保证了死锁的避免。
维数排序路由将最短路径分布在整个网络中,这样同时均衡分布了网络的通信量。对于不对称工作量的网络来说,有些通道就会比其他通道繁忙得多,而由于这种算法将路径限制在一个固定的通道上,即使在冲突或网络发生错误的情况下也不能够分散流量。对于所有的确定的wormhole寻径方式中,都存在这个问题。因此,这是确定的wormhole寻径方式的局限性。
(下转第591页)
4.2转向模型(Turn Model)
转向模型开创了避免死锁的自适应算法新方向。它要求通道独立图中没有自环。转向模型针对无附加通道的网络提供了一套发展自适应寻径算法的系统方法,无论是完全自适应还是部分自适应。在这样的情况下死锁的发生是因为包的寻径转向形成了自环。
参考文献:
[1] Duato J, Yalamanchili S, Ni L.Interconnection Networks[M]. IEEE Computer Society Press, Los Alamitos, CA, 1997.
[2] SCOTT S,THORSON G.Optimized routing in the CrayT3D[C].Proceedings of the International Workshop on Parallel Computer Routing and Communication, 1994:281-294.
[3] Liu Yan, Deng Bo, Yang Xiao Dong. LCFFA: A LOW-COST FULLY ADAPTIVE ROUTING ALGORITHM [J].JOURNAL OF COMPUT? ER RESEARCH & DEVELOPMENT,1999,36(3):331-336.
计算机并行处理技术范文4
关键词:煤矿井下供电;RS-485;可编程串口控制器;综合保护器
1引言
煤矿生产在井下作业,供电负荷场所环境、地质条件复杂,随着近年来煤矿现代化程度的不断提高、井下供电距离的增加以及供、配电要求的日益提高,对煤矿井下供、配电系统的稳定性、安全性和不间断性要求也越来越高。现在的工业现场控制网络中,串口通信网络是最广泛,成本最低的通信方式,其中以RS458最常用。在通讯数据量越来越大的情况下,串口通讯也带来了延迟高,速率低的问题。同时在煤矿供电监控系统建设过程中,面临着众多厂家不同规格型号综合保护器接入系统问题,由于各个厂家甚至同一厂家不同型号不同时期的综合保护器通讯协议都不尽相同,给系统建设带来很大困难。本文作者利用可编程串口控制器(Programmable Serial Controller,PSC)技术构建煤矿井下供电监控系统,解决了上述问题,同时保障了煤矿井下供电安全。
2可编程串口控制器(PSC)技术原理
在煤矿井下串口通讯中采用轮询制,即当总线的通讯速率一定时,系统数据刷新时间=单个分机通讯时间×分机个数÷总线使用率。要减少系统数据刷新时间有两种方式:
(1)在所接分机数量不变情况下在计算机和分机之间加入一个适当的设备,支持N条RS485总线,采用同时并行通讯处理,这样系统刷新时间=单个分机通讯时间×分机个数÷N÷总线使用率;
(2)提高总线使用率。在计算机和分机之间加入一个适当的设备,当计算机没有和下面分机通讯的时候,这台设备继续和分机进行通讯,将数据储存在自带的缓存中,只要计算机需要数据,马上通过以太网将数据成批发给计算机。
PSC就是基于以上原理,采用多CPU并行通讯处理以及超大容量缓存技术,同时对若干智能控制器或者仪表进行并行通讯,所得的数据存储在超大容量缓存中,然后成批量将数据发往上位监控设备。将以往的串口通讯方式改为多路同时并行处理方法,将所有的被控设备按地址进行分组、分批,配合内建的超大容量缓存进行批量通讯,一改以往在规模比较大的串口控制网络中出现的通信速率低、通讯时间迟延长、以及对各种通讯协议不能高度整合等缺点。
1)PSC架构
PSC的架构以ARM处理器为核心,ARM处理器采用32位嵌入式ARM Cortex系列单片机STM32F103x作为PSC的CPU,每个处理器带有可以并行处理的两个串口,共有4片处理器,可以并行处理八路串口,对设备按地址进行分组、分批,并配合大容量缓存进行批量通讯,处理相应速度快,可兼容现场不同种类通讯协议。PSC具有程序存储功能和独立运行的特性,综保的通讯协议在PSC上进行转换并存储起来。即使更换综保,也无需重写程序,做到即换即用。PSC可以单独运行,即使在上位机缺失的情况下,也能保证设备的正常监控。图1为PSC硬件结构图:
图1 PSC硬件结构图 图2基于PSC技术的煤矿井下供电监控系统架构图
2)信号隔离器结构
在煤矿供电监控系统中,难以通过关联试验确认现场综保输出信号是否为本质安全的,根据GB3836的规定,非本安RS-485信号与本安设备连接要做信号隔离处理,即需在非本安信号和本安设备之间加装一个RS-485信号隔离器。本文中与PSC配套的隔离芯片选用ADM2483,芯片内部集成了磁耦隔离通道和RS-485收发器,设计电路连接简单方便,通过单芯片就可以实现RS-485的信号隔离,而且产品体积小,功耗仅为传统光耦隔离的1/10,传输延时为ns级,可靠性高,增强了信号传输的安全性与抗干扰性。
3)PSC编程语言开发平台Rstep
PSC具有使用PC编程语言的可编程功能,较强的扩展性与融合性。使用编程工具就可以将不同的通讯协议转换为规范的协议,从而达到支持不同综合保护器通讯的功能,无需更换综保。与PSC配套的编程开发平台软件为Rstep,软件采用梯形图的编程方式编写程序,梯形图与电气控制系统的电路图很相似,具有直观易懂的优点,很容易被工厂电气人员掌握。
3系统组成和特点
本文中利用PSC技术构建的煤矿井下供电监控系统采用管理层、信息层、设备层三层网络架构,如图2所示。
(1)管理层:地面控制主站和调度管理中心构成管理层。采用工业以太网通讯,其基于IEEE802.3标准的EtherNet/IP网络结构,设备组按点对点连接到工业级网络交换机,由交换机提供RJ-45或SC端口。传输速率为1000/100Mbps,传输介质为单模光纤或5类双绞屏蔽网线。
(2)信息层:井下环网和地面网络构成信息层。信息层是基于IEEE802.3标准的EtherNet/IP网络结构。监控分站与井下环网交换机之间采用以太网通讯,监控分站与监控分站间通过井下环网连接,井下环网通过光纤与地面网络连接。
(3)设备层:综合保护器、传输总线以及监控分站构成设备层。综合保护器通过总线与监控分站连接,监控分站内的PSC将不同协议进行转化并加以存储。监控分站与井下交换机通过以太网连接。
系统具有以下特点:
(1)可编程性:采用Rstep编程软件,以梯形图方式,在PSC内部定义与各种综合保护器的通讯协议,并进行存储,这样监控分站就能与不同通讯协议的综合保护器进行通讯;
(2)自动识别通讯协议:由于每类综合保护器的通讯协议均不相同,所以存储在PSC的程序能自动识别不同类型的综保,达到即换即用,无需重新更新程序,也无需更换任何硬件;
(3)独立性:由于PSC存储了与综合保护器通讯的程序,即使在分站与上层没有网络连接的情况下,依然可以实现就地监控,保障了系统的安全性;
(4)快速性:监控分站与综保通过PSC进行数据处理,每个PSC带有可以并行处理的两个串口,可以并行处理八路串口,对综保按地址进行分组、分批,提高了系统实时性。
4现场应用
本文中基于PSC技术构建的煤矿井下供电监控系统,在安徽淮北矿业集团公司祁南煤矿井下八个变电所进行了工业性试验,对系统的功能、性能、可靠性进行了长期测试,结果表明:
(1)系统接入了祁南煤矿正在使用的五个生产厂家、九种规格的综合保护器;
(2)具备地面远程、井下区域、就地三种监控方式;
(3)具有遥测、遥信、遥调、遥控的“四遥”功能;
(4)系统运行可靠,速度快,响应时间小于1s。
计算机并行处理技术范文5
关键词:高阶矩阵;并行算法;MPI技术
中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)16-31080-01
The Research of High Matrix Multiplication's Algorithm
YANG Yong-juan,JIANG Qun
(Anhui University of Science & Technology Computer Science and Technology,Huainan 232001,China)
Abstract:Through the comparison between serial and parallel multiply arithmetic of high-level matrix, especially the study on parallel arithmetic through MPI method, the author concludes that it is possible, simple and necessary to multiply high-level matrix under MPI environment.
Key words:High-level Matrix;Parallel Arithmetic;MPI Method
1 绪言
我们经常会遇到大型的高阶矩阵的有关计算,尤其是两矩阵相乘更为常见。在应用中常用矩阵相乘的定义算法对其进行计算,即通常所说的串行算法。这个算法用到了大量的循环和相乘运算,这使得算法效率不高。而矩阵相乘的计算效率很大程度上的影响了整个程序的运行速度,所以对矩阵相乘算法进行一些改进是必要的。随着大型的具有多处理机的并行计算机系统的发展,一些大型计算可以构造相应的并行计算方法进行并行处理,从而减少机器的工作单元,提高计算效率,节约资源,这也就是所要研究的并行算法。
在并行机上实现矩阵相乘必须要研究相关的并行算法,目前矩阵相乘并行算法有许多种,它们主要取决于矩阵的划分,根据不同的划分有行列划分法、行行划分法、列列划分法等许多技术,下面主要采用行列划分法进行矩阵相乘的串并行运算比较。
设矩阵Am×k与Bk×n,积矩阵为Cm×n。则Cm×n=Am×k×Bk×n。
每个元素Cij=∑Ait×Btj(i=1,…,m;j=1,…,n)
2 矩阵乘法的串行算法
在java串行中很好解决这个问题,直接用三个循环即可算出结果:
for (int i=0;i
for (int j=0;j
c[i][j]=0;
for (int t=0;t
c[i][j]=c[i][j]+a[i][t]*b[t][j];
}
}
}
3 矩阵乘法的并行算法
并行计算是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干立计算机构成的集群。 它是基于一个简单的想法:N台计算机应该能够提供N倍计算能力,不论当前计算机的速度如何,都可以期望被求解的问题在1/N的时间内完成。显然,这只是一个理想的情况,因为被求解的问题在通常情况下都不可能被分解为完全独立的各个部分,而是需要进行必要的数据交换和同步的。 尽管如此,并行计算仍然可以使整个计算机系统的性能得到实质性的改进,而改进的程度取决于欲求解问题自身的并行程度。
由上面的公式定义Cij=∑Ait×Btj(i=1,…,m;j=1,…,n)可以看出,矩阵C中每个元素的计算彼此之间都是不相关的,其并行性一目了然,因此可以进行并行运算。
3.1并行算法的分析
此并行算法思想是:将一高阶矩阵分解成除数小得多的矩阵相乘的子问题,然后交给各节点机实现,最后进行简单的相加得到最终的结果。
假设现有两个4×4的矩阵进行相乘,则为,
将上面的公式替换为:
按照矩阵乘法计算即为:
C11=A11×B11+A12×B21
C12=A11×B12+A12×B22
C21=A21×B11+A22×B22
C22=A21×B12+A22×B22
此时由刚才的4×4阶的两个大矩阵相乘,改为2×2的8个小矩阵相乘与四个2×2的四个小矩阵相加,可以将各8个小矩阵分配给不同的节点然后利用不同的处理机进行并行运算,这样就可以提高机器的利用效率,最后再加所有的结果交给一个主控机由它进行合并。这时它的复杂性就很少了,若阶数若高,同时处理机的数目越大的话,这种并行计算的优势将体现的更多!但这里还要注意的是,不能因为追求并行性而盲目加大处理器数目,因为各个处理器之间的通讯也是需要代价的。
3.2 并行算法的MPI流程图
假设并行机的处理器有p个:
图1 并行算法图
在刚开始时需要将A、B矩阵的各个子矩阵分别传递给各个不同的处理器,因此需要顺序做,而一旦传送完毕后,各个处理器就可以自己做自己的矩阵相乘运算了,即图中所标的并行处理开始处,直到各个部分处理完毕后,再进行最后的合并。
4 结论
通过上述串行算法与并行算法的比较,可以看出并行算法的明显优势,它具有巨大的数值计算和数据处理能力。现实生活中有许多情况都可以利用并行算法来解决,它能够被广泛地应用于各行各业中。特别是现在的MPI技术,更使得人们编写并行程序越来越简单。
参考文献:
[1]朱旭.矩阵计算的并行算法和实现[J].工程数学学报,1997,14(2):99-103.
[2]李小洲,李庆华.矩阵相乘Cannon并行算法在工作站机群上的实现[J].计算机工程,vol.14 No.8 Aug.2004:49-51.
[3]彭雷,朱永芬,戴光明.PVM下矩阵相乘并行算法的研究与实现[J].微机发展,2004,28(6):102-103.
[4][美]科尔曼(Corrmen,T.H).算法导论(第2版影印版)[M].北京:高等教育出版社,2002.
[5]Wikinson B,Allen M.陆鑫达等译.并行程序设计[M].北京:机械工业出版社,2002.
计算机并行处理技术范文6
关键词:云计算技术;海量;数据挖掘;模型;效率
前言
最近几年,信息技术的不断发展,使得目前三季度产生的数据量是以前几百年的总和,且处于持续增长的状态。尽管激增的数据量扩展了人们的信息范围,然而无形中也提高了企业或个人从大量数据中挖掘出有价值信息的困难程度。针对该问题,基于云计算的大量数据挖掘技术实现了资源配置和利用的优化,具有虚拟性、实用性等特征,符合数据挖掘快速、准确的要求。由此可见,将云计算技术应用于数据挖掘是目前提高数据利用效率的有效方式。基于此,本文提出的以云计算为基础的海量数据挖掘模型,旨在提供给各企业快速有效的数据挖掘服务,从而减少生产成本和提升生产效率。
1云计算技术
1.1基本概念
至今为止,关于云计算的定义尚未有统一标准,维基百科上关于云计算的介绍如下:云计算是通过网络提供给用户相关服务的新计算模式,主要提供可动态变化的虚拟资源,无需用户掌握基本支持设施的应用和管理。也就是说,云计算是一种新商机,借助价格低、可连接的计算机联网进行任务处理,为各系统提供数据存储、运算或其他功能。就技术面而言,云计算技术起步较早,是虚拟技术的拓展、分布计算技术的发展,是资源统一管理和智能控制的重要表现。和传统计算机技术相比,云计算技术推动了观念创新和方法改进。就商业角度而言,云计算技术的应用目标是提供服务,用户产生需求时会主动购买和应用,适应企业发展和系统升级。通常来讲,云计算技术发展衍生出三种商业契机,包括服务即平台、服务即架构和服务即软件三种。图1所示是云计算商业模式逻辑图。
1.2基于云计算技术的并行运算模型
为了实现对海量数据的并行处理,谷歌公司开发出Ma-pReduce,是一个分布并行运算架构或模型。某个MapReduce可分解成多个Reduce和Map任务,其会将海量数据分解成多个单独运算的Map任务,同时配发到对应计算机进行运算处理,生成一定格式的中间数据,最后由相关Reduce任务对其进行合并反馈运算结果。谷歌公司关于云计算技术的研发比较成功,其五大主要技术有分布式文件系统、大容量分布式数据库、分布式锁机制、集群管理和MapReduce。基于上述主要技术,云计算方能提供大量数据挖掘服务和运算系统。总而言之,云计算平台会将大量数据分解成统一规格的数据模块,并分布存储在云端服务器中,之后通过MapReduce并行运算模型进行数据处理,其是谷歌公司在网络搜索引擎方面的重大突破。尽管通过MapReduce并行运算模型可进行海量数据处理,然而其要求数据结构相同、运算过程简单。关于数据挖掘这类密集型的数据处理技术,可能涉及迭代、近似求解等复杂算法,运算过程比较困难。在这种情况下,以云计算技术为基础的大量数据挖掘受到IT行业的重视,是社会热点问题之一。
2基于云计算技术的海量数据挖掘
2.1数据挖掘
所谓的数据挖掘,是发现数据库中有价值信息的过程,即从大量数据中挖掘出有价值或有意义的信息。就企业角度而言,数据挖掘的目的是从大量数据中发现有利于企业经营管理的信息,而且数据量越大,信息准确性越高。一般而言,海量数据挖掘对网络环境和应用条件要求较高,而云计算技术的应用有效提高了数据挖掘效率。基于云计算的资源管理系统可存储大量数据,并结合数据挖掘要求来合理配发网络资源,提高数据挖掘算法的延伸性,且具有一定的容错性,提高了数据挖掘的可靠性和安全性。
2.2云计算技术在数据挖掘中的应用优势
(1)基于云计算技术的数据挖掘可进行分布式并行处理,提高了数据挖掘的实时性和有效性。并且适合各种规模的企业,降低了中小企业数据应用成本,减少大型企对特殊数据应用软件和设备的依赖性;(2)以云计算技术为基础的海量数据挖掘更便捷、更快速,用户层被隐藏起来了,不需要用户进行数据分类、数据分配和任务控制等操作;(3)云计算实现了数据挖掘的并行处理,可提升传统设备的海量数据处理能力,增加了多个控制节点,具有一定的容错性;(4)以云计算为基础的数据挖掘实现了数据应用技术的共享,满足了不同类型用户的数据挖掘需要。
2.3基于云计算技术的海量数据挖掘模型
云计算技术在海量数据挖掘中的应用体现在云计算提供了并行处理能力和大容量存储能力,有效解决了当前海量数据挖掘的难点。图2所示是关于基于云计算技术的海量数据挖掘模型的结构图。据图,以云计算技术为基础的海量数据挖掘模型包括云服务层、数据运算层和用户层三层。云服务层是最基层,负责存储海量数据和提供分布并行数据处理功能。云计算环境除了要保证数据的实用性之外,还要确保数据的安全可靠性。关于数据的存储,云计算采取分布存储形式,提供了数据副本冗余存储功能,确保在数据遗失等情况下用户的正常运转。当前,比较普遍的云计算数据存储技术有开源的HDFS和非开源的GFS两种。除此之外,云计算数据挖掘实现了数据的并行处理,可在多用户发出指令的情况下,及时回复并提供数据挖掘服务。图2基于云计算技术的海量数据挖掘模型的架构图第二层是数据挖掘运算层,主要负责数据的预处理和挖掘算法的并行处理。数据预处理是对大量无规则的数据进行预先整理,基于云计算的MapReduce并行运算模型只适合同一结构的数据挖掘,常见的数据预处理方法有数据转化、数据分类、数据抽调、数据约束等。对数据进行预处理是提升数据挖掘质量的重要保障,使海量数据挖掘更实时、更快速。用户层是最顶层,直接面向用户,主要负责接收用户请求,同时将数据传递到下一层,并且将数据挖掘的运算结果反馈给用户。除此之外,用户还可通过可视化界面来监督和控制任务进度,并实时查看任务执行结果。基于云计算技术的数据挖掘的流程是:用户在输入模块中发出数据挖掘指令,并传递给系统服务器,服务器自动根据用户的挖掘指令在数据库中调出数据,同时在算法库中调出最优的挖掘算法,对数据进行预处理之后,传递到MapReduce运算模块进行深入数据挖掘,最后将挖掘结果反馈到可视化界面,以便用户查看和了解。
2.4云计算技术应用于数据挖掘的缺陷和应对措施
云计算技术尚处于发展阶段,势必会存在诸多问题或缺陷,以云计算为基础的数据挖掘也存在如下问题:(1)用户需求问题。以云计算技术为基础的数据挖掘势必会成为一种新服务形式,用户需求也会更多样化、个性化;(2)数据容量问题。就数据容量而言,未来可能要处理TB甚至PB容量以上的数据,同时还包括噪音数据、动态数据和高维数据等,某种程度增加了数据挖掘的难度;(3)算法选择问题。数据挖掘效果受算法是否最优和是否并行化等影响显著,算法设计、参数设置等都对数据挖掘结果有直接作用;(4)不确定性问题。数据挖掘过程中不确定因素较多,比如任务需求描述不准确、数据采集和预处理不确定、算法选择不确定等。针对上述问题,可从以下几点入手加强云计算技术在海量数据挖掘中的应用:(1)基本设施的构建。要结合用户具体的个性化要求,同时考虑各行各业的特点,建立合适的云计算数据挖掘系统;(2)虚拟技术为云计算在数据挖掘中的应用提供了重要保障,未来要加强虚拟技术的研发,并推动其成果的最大限度应用,可有效控制网络资源的配发和控制;(3)关于各种云计算产品的研发,要充分结合社会具体需要,引导大众积极参与,从而提高数据挖掘的多样化和个性化;(4)就可信度而言,设计和应用的算法要具备一定的通用性,满足后续调查和检验的要求;(5)关于数据安全性方面,不可用传统加密方式来保证数据安全,而要结合用户的具体需要,在客户端通过合适的加密方式来保证数据安全性。
3结语