并行处理技术简介

来源 :科学与财富 | 被引量 : 0次 | 上传用户:yisheng8585
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:面对信息时代所产生的海量数据,如果还是用以前的串行的方式来解决,既不能满足现代人高节奏生活的要求,也不能适应现在大数据云计算的时代特征,并行处理技术无疑是提高效率的主要手段。本文阐述了目前并行处理方面最为流行的技术体系。
  关键词:海量数据;效率;并行处理
  1引言
  由于移动宽带、物联网技术、云计算技术的迅猛发展,网络被许许多多的移动终端、传感设备接入,海量数据正以惊人的速度产生。如:搜索引擎,如何更好的对网页信息进行合理的安排,才能满足用户的需求,由此而引发的种种大數据处理问题,并行处理不可或缺。并行处理技术的发展水平作为衡量国家高新技术实力的一项重要指标,它在国内应用到科学技术、经济发展和国家安全等领域中比如:天气预报建模、大型数据库管理、大规模地震数据处理、人工智能、控制犯罪率、国防战略部署等等。
  2并行技术
  并行处理技术可以分为三个部分,共享存储系统,分布式系统以及基于GPU的并行处理。对于共享存储系统,每种操作系统都有其对应的线程库,比如:在Windows下一般使用MFC架构以及.Net Framework下相关的操作方法,在Linux下一般使用Pthreads。另外共享存储系统广泛使用的是OpenMP编程规范 。对于分布式系统架构,使用最多的是Hadoop、Spark集群以及MPI消息传递标准。对于GPU异构环境的并行处理,NVIDIA的显卡可以直接使用CUDA框架。
  3共享存储系统
  共享存储,指的是在同一个分区上,同一块存储设备被多台服务器访问。如果没有这样的功能,这就意味着,谁需要该文件,这个用户就必须提供该文件的拷贝,很明显当用户访问量很大时,相当大地程度上浪费存储空间。多主机建设的共享存储系统,不仅完美地实现了数据的保存和保证信息安全的功能,而且实现了每台主机相互进行数据传送及数据共享的高效性,如非线性剪辑广播行业,员工在生片记录和数字化的同时,可以使另一个编辑人员审核视频的长度,以便它可以有效地加快制片速度,大大节约生产成本。
  在共享存储系统的编写程序主要分为两个部分:针对于特定操作系统的线程库和在不同平台上编程的规范及库。OpenMP标准是共享内存并行系统下,多处理器程序设计的一套对程序具有指导性的编译处理方案,它具有良好的跨平台性和可移植性,支持多种程序设计语言:C语言、C++、Fortran。由于OpenMp的编译器的普遍使用,涌现出了许多支持的它的编译器(如:Sun Compiler,GNU Compiler和Intel Compiler等)。在并行算法的高层,OpenMP作了抽象的描述,编写并行程序的复杂度及难度得到大大的降低。因此,程序员不必在意其实现的具体细节,只需要通过在源代码中加入特殊的编译指令,来表明自己的意图,通过编译器编译之后,实现了串行程序的并行化,并且,如果有需要的话,会自动添加同步互斥机制和通信功能。如果一些编译器及相关平台不能识别该编译指令,则编译器会选择跳过这些指令,源代码依然仍可以执行,只是不能通过多线程机制来加快程序的运行速度,但源程序的稳定性并不会被影响。另外,OpenMP标准的并行是线程级的并行,资源消耗量低,占用内存也就较少,在共享存储系统上发挥着一定的优势。
  4分布式系统
  分布式系统有消息传递和MapReduce这两种程序设计模型,消息传递的编程框架是MPI,其使用的编程环境是MPICH2,MapReduce对应的编程环境是Hadoop。
  4.1 MPI
  MPI是一种跨语言编程接口标准,用于编写并行计算机上的消息传递程序。用户实现信息的通讯和互换,是通过在程序中发送数据和接收数据完成的。
  由于MPI并行编程框架具有良好的移植性(支持以现在流行的Windows操作系统以及大部分Linux操作系统为主要代表的不同的操作系统)和较好的异步通信速度,所以其远远胜于老式的信息传递库。MPI支持很多种程序设计语言,在一些由指定惯例集(API)组成的MPI上,可由C语言,C++,Fortran,或者平台上有此类库的语言可以直接调用。此外,MPI还支持多核处理器、集群等其它分布式硬件平台。
  4.2Hadoop
  Hadoop框架最核心的结构设计部分是:MapReduce计算模型和HDFS(Hadoop Distributed File System)分布式文件系统。MapReduce模型,采用的是“分而治之”,
  “先分后合”的思想来处理大数据,程序员编写的并行程序,通过Map、Reduce这两个过程,将大任务转换为同时执行的许许多度多的小片段,极大地提高了数据的计算能力。面对如此庞大的数据,Hadoop采用分布式文件系统(HDFS)来解决海量的数据存储的存储问题; Hadoop 集群上所有节点上的文件由分布式文件系统存储和管理。HDFS对POSIX的要求很低,集群的数据能够以流的形式被访问,因此,它特别适合对那些拥有着超大数据的程序以高吞吐量的形式进行访问。Hadoop框架结构中的更多相关子项目,比如: HBase是分布式NoSQL数据库,而Hive是数据仓库工具。
  5 基于GPU的并行
  GPU(Graphics Processing Unit)不是单纯一个图形计算接口,而且对数据还有很强地处理能力。GPU和CPU这两个处理器在设计时,采用了完全不同的理念:GPU旨在提供数据的高吞吐量,而CPU的优化意在大幅度提高串行代码的执行性能。对并行程序的执行,充分发挥它们各自的优势,将逻辑性很突出的事物,移交给CPU处理,而对于诸如图形渲染这种计算密度较大的任务,由GPU执行,那么基于GPU的并行程序的在执行效率上会提高不少。
  5.1 CUDA
  CUDA (Compute Unified Device Architecture)框架就是针对GPU设计的一个计算设备,CUDA程序只是在原有的C语言的基础上添加了函数和扩张库。在整个结构中,并行程序被分成两个部分:Host主机(CPU)上执行串行代码,Device设备(GPU)主要负责大部分可并行处理的任务。GPU需要处理的数据,由内存中传送到显存中,这里的显存笼统上可以说是GPU的任何存储器,Device端的代码通过Kernel函数由Host端进行计算,执行完了之后,将运行的结果传回内存中。   5.2 CUDA 的线程层次
  在CUDA线程的结构体系中,Grid(网格),Block(块)和Thread(线程)这主要的三层构成了并行的线程阵列,N个Thread构成了一个Block,而N个Block又构成了一个Grid,Thread是整个体系结构中,程序运行的最小单位。在同一个Block中的Thread不仅能够共享纹理存储器及全局存储器,而且能够共同访问某些共享存储器,而如果Thread不在同一个Block中,它们只能共享全局存储器。虽然每个Grid中的Thread执行程序是相同的,但每个Thread各自所需的执行数据不同,它们对应于共享存储器中的不同位置,这就需要一种工作机制,来进行存储空间的定位,实现定位的具体公式如下:i = blockIdx.x * blockDim.x + threadIdx.x
  5.3 CUDA 的存储模型
  在各存储器中,位于最底层的是寄存器。寄存器是每个线程各自私有的,如果寄存器的存储空间不够,本地存储器将开始启用(对于每个线程来说,它也是私用的),但是数据被保存在帧缓冲区(DRAM)中,因此访问速度较寄存器而言很慢。接着是共享存储器,它是可读写存储器,能够被在同一Block中的所有Thread(最多512個)访问。共享存储器功能很强大,可以保存公用的计数器、Block的公用结果,其访问速度与寄存器相当,是减少线程间通信延时的一种较好的处理方法。 除此以外,还有两种地址空间:常数存储器和纹理存储器。由于它们具有只读性,所以能够缓存在GPU片内,从而大大加快了访问速度。支持随机访问的常数存储器空间只有64k,在CUDA程序中,经常用来存储访问的只读参数;而纹理存储器尺寸较大,与传统的缓存相比,它支持二维寻址可以通过插值、滤波的方式来访问大尺寸的二维、三维图象,也可以用采样序列的方法进行高带宽的流式访问。最后是全局存储器,它只是普通的显存,整个Grid中的任意Tread都可以从GPU或者CPU读写全局存储器的任意位置。
  6 总结
  并行处理是计算机系统中能同时执行两个或更多个处理的一种计算方法。并行处理可同时工作于同一程序的不同方面。并行处理的主要目的是节省大型和复杂问题的解决时间。并行处理技术也可以分为两部分:数据的通信,数据的处理。在分布式系统下,各节点的数据需要交换,MPI技术可以帮助解决通信问题,在共享存储系统下,数据可以被多台服务器直接访问,数据不需要通信。数据的处理方式根据处理器的不同可以分为CPU和GPU。目前的多核,多处理器,分布式系统属于CPU的并行;而GPU直接启动多线程实现并行。
  作者简介:白圆(1991),性别 男,民族 汉,籍贯 湖北省云梦县,职务/职称[学生],学历 硕士研究生,单位 宁夏大学 ,研究方向 并行分布处理与高性能计算。
其他文献
摘 要:随着科市场经济的发展,人们的生活水平得到很大程度上的改善,人们对于居住的质量要求越来越高,由于土地面积的限制,高层建筑成为现代住宅建筑的主要发展方向。为了满足人们的居住需求,建筑企业要不断提升建筑的施工质量。高层框剪结构住宅楼板作为高层建筑施工的重要方面之一,直接关系建筑的整体质量。为了实现现代化市场对于建筑质量和美观性的要求,施工企业在施工过程中必须结合施工区域的现状,不断强化施工技术。
期刊
摘 要:绝缘子串带电更换技术是供配电系统领域研究的热点。本文针对线路电压等级、绝缘子串的类型、更换零/低值绝缘子串的流程等问题,回顾了近年来绝缘子串的带电更换在电力技术上研究工作的发展历程,主要从带电作业工具的改进方法和基于不同等级电压、不同类型绝缘子串的更换方法两个方面进行深入介绍。全面系统地介绍了绝缘子串带电更换技术及相关问题的未来研究的方向。  关键词:带电更换;绝缘子串;工具改进;电压等级
期刊
摘 要:GIS作为一种更新换代的高压电气设备,在电网的新建以及升级改造中被普遍运用,大有替代常规敞开式高压电气设备的趋势。但近年来却频频发生GIS故障,其中有的故障直接导致了电网大面积停电的电力安全事件,不仅对用电客户造成一定影响,对电网及供电企业也造成了较大损失。本文通过列举GIS典型故障案例,剖析其原因及产生源头,同时由横向及纵向对比论证了GIS的故障特点,又将GIS与常规设备进行深入对比,最
期刊
《陕西日报·科教专刊》愈办愈好,年年有新起色、新创意,受到全省广大科学技术和教育、医务、体育工作者的欢迎。我想这首先在于科教部编辑记者按照小平同志所说的科学技术是
一、风险管理概述  (一)风险的概念  “风险”一词的出现,是在远古时期,渔民们在出海捕捞打鱼的过程中发现,如果出现“风”则意味着有很大的几率会发生“险”,长此以往,人们将有可能出现的危险总结为“风险”,“风险”一词由此而来。而现代意义上的风险一词,学术界并没有统一的认识,主要有几种观点:一是风险是损失或损害的可能性;二是风险是损失的不确定性;三是风险是实际结果和预期结果的离差;四是风险是可度量的
期刊
摘 要:回收利用发动机余热并与空调系统相结合,可显著降低车辆系统中发动机的油耗、减少冷却系统的负担,提高运行的可靠性。本文采用专利分析方法,通过分析发动机余热驱动热泵系统的专利申请量,从结合不同类型热泵系统、国内外申请量差异、本领域主要申请人等角度剖析了相关技术的发展。为我国专利申请人的研究方向提供指导。  关键词:发动机;余热;空调;专利分析  1、引言  随着社会经济的发展和人民生活水平的提高
期刊
摘 要:心理健康不仅是人良好的心理素质表现,还是人整体的健康状态中的重要组成部分。本文运用心理测试法、文献资料法和数理统计法对湖南8所普通高校的800名在校大学生运用SCL-90量表做了调查研究与分析,结果显示:(1)总体上,湖南大学生心理健康状况明显好于全国大学生;(2)不同学科、不同性别的大学生的总体心理健康水平无显著性差异;(3)不同年级的高校学生之间有着显著性差异。  关键词:心理健康;大
期刊
期刊
期刊
摘 要:随着网络信息技术的快速发展和壮大,极大的促进了现代通信技术的不断创新和发展。电信光纤是目前通信技术中的先进技术,其主要的影响因素是光纤的材料,不仅直接关系到通信的质量和效率,还广泛的应用到各个领域中,从而在全球信息化社会中具有非常重要的地位。因此,本文主要探究电信光纤通信技术的优势。  关键词:电信;光纤;通信技术;优势;发展  在全球信息化的时代背景下,我国电信光纤通信技术快速发展,并在
期刊