并行处理技术简介

摘 要:面对信息时代所产生的海量数据,如果还是用以前的串行的方式来解决,既不能满足现代人高节奏生活的要求,也不能适应现在大数据云计算的时代特征,并行处理技术无疑是提高效率的主要手段。本文阐述了目前并行处理方面最为流行的技术体系。

关键词:海量数据;效率;并行处理

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),性别 男,民族 汉,籍贯 湖北省云梦县,职务/职称[学生],学历 硕士研究生,单位 宁夏大学 ,研究方向 并行分布处理与高性能计算。

并行处理技术简介

转载请注明出处学文网 » 并行处理技术简介

学习

集体备课心得体会

阅读(21)

本文为您介绍集体备课心得体会,内容包括物理集体备课心得体会总结,教师集体备课教研心得体会。为了落实教育局的教学工作思路,加强集体备课促进教师专业化发展及提高课堂效率。我校开展了“集体备课”专题教研实验。通过一段时间的实践,使

学习

数据库中的多值依赖

阅读(36)

本文为您介绍数据库中的多值依赖,内容包括多值依赖数据库,数据库中多值依赖是什么意思。摘要:多值依赖对学习关系规范化理论方面有着重要的作用。本文就多值依赖的产生、定义、性质及如何消除由此引起的冗余等方面进行了简单的归纳总结。

学习

电涡流效应及其应用

阅读(33)

本文为您介绍电涡流效应及其应用,内容包括什么是电涡流效应,电涡流效应及应用。1855年,法国物理学家傅科发现在磁场中运动的金属板因电磁感应而产生涡电流,被称为电涡流,也叫傅科(Foucault)电流,这是傅科在电磁学方面的重要发现.

学习

浅谈司马迁“发愤著书”说

阅读(30)

本文为您介绍浅谈司马迁“发愤著书”说,内容包括如何理解司马迁发愤著书的思想,谈谈你对司马迁发愤著书的理解。关键词:发愤著书;愤懑;逆境

学习

CIPP教育评价模式述评

阅读(51)

本文为您介绍CIPP教育评价模式述评,内容包括cipp课程评价模式的优缺点,cipp评价模式的教育启示。教育评价自八十年代介绍到我国以来,得到了广泛的研究和应用,推动了我国教育科学的发展和教育事业的进步。纵观我国十多年来的教育评价工作,发

学习

“有其母必有其女”

阅读(27)

本文为您介绍“有其母必有其女”,内容包括有其母必有其子,有其母必有其女英语。代代相传

学习

解读巴洛克文学

阅读(23)

本文为您介绍解读巴洛克文学,内容包括巴洛克文学解析,巴洛克文学表现主题。摘要:作为一种艺术现象,巴洛克艺术出现在有文艺复兴向新古典主义过渡的时期并且几乎贯穿了整个17世纪。它的影响面十分广,涉及到建筑,绘画,雕塑以及音乐领域。而作为

学习

半刚性路面基层的施工

阅读(25)

本文为您介绍半刚性路面基层的施工,内容包括半刚性基层的施工方法有,半刚性路面基层施工方法。摘要:路基是道路的重要结构物,它是道路的基础,是道路稳定性的保证,路基的施工是复杂而系统的工作,在路基施工中,必须参照有关道路的施工技术并加以

学习

评新增课文《王几何》

阅读(40)

本文为您介绍评新增课文《王几何》,内容包括王几何原文,王几何阅读理解。今秋,草根作家马及时的《王几何》入选初中课本,一时引起网民热议。说“贴近”学生者有之,说“迎合”学生者有之……不管怎么样,一篇新文章首次亮相语文教材,能引起关注

学习

如何与学生建立良好的关系

阅读(29)

本文为您介绍如何与学生建立良好的关系,内容包括建立良好师生关系的途径与方法,如何与老师建立良好的师生关系。摘要:建立良好的师生关系、促进学生健康发展的需要,也是教师提高教育的效果、获得教育成功的需要。与学生建立良好的关系是教

学习

数学素养

阅读(24)

本文为您介绍数学素养,内容包括数学素养专题大全,数学素养大赛。“数学素养”一词首次出现在我国数学教学大纲中,标志着我国数学教育目标从应试型向累质型方向的转变。提高学生“数学素养”是提高民族素质、丰富人才资源这一战略的重要组

学习

纠错本——英语学习的好助手

阅读(27)

【摘要】利用好英语纠错能帮助学生及时复习、查漏补缺。纠错本中应该涵盖学生曾做错的题目或蒙对的题目以及相关的解析。纠错本应该及时纠、常翻看、常增删。在教学实践中,并非所有学生都有英语纠错本,有纠错本的也存在许多问题:不及时纠、

学习

剩下的果实

阅读(25)

本文为您介绍剩下的果实,内容包括盛夏的果实歌词,盛夏的果实。刘若英都结婚了,我又相信爱情啦!

学习

你会说英语吗?

阅读(20)

本文为您介绍你会说英语吗?,内容包括你会说英语吗完整版,你会说英语吗。今年春节,我和家人一起去迪拜旅游。迪拜,在一半海水一半沙漠中建成的城市,在这里可以看到蓝天碧海,直插云霄的超幻想的建筑,令人目瞪口呆的超奢华的酒店,还可以领略到漫

学习

黄牛冷精配种技术

阅读(30)

摘要:黄牛冷配改良技术一直是改良黄牛品种很有效的办法,所以也一直很受黄牛养殖户的欢迎。文章通过几个方面论述了这种技术的几个关键环节应注意的事项,对黄牛养殖户有一定的借鉴意义。

学习

苔草特征特性及防治技术

阅读(19)

本文为您介绍苔草特征特性及防治技术,内容包括苔草病虫害防治药,金叶苔草的病虫害防治方法。摘要介绍了苔草的形态特征及抗性,总结了苔草的防治技术,并分析了苔草防治过程中的注意事项,以期为苔草的防治提供参考。

学习

隧道大管棚施工技术要点

阅读(23)

本文为您介绍隧道大管棚施工技术要点,内容包括隧道管棚施工顺序图,隧道导向墙及管棚施工。摘要:现代隧道工程不但能够有效的改善行车条件和安全,还能够极大的提升运输效率,降低运输成本,对于我国交通运输质量起到良好的改善作用。但是由

学习

自动化技术及应用

阅读(24)

本文为您介绍自动化技术及应用,内容包括自动化技术在汽车的应用,自动化技术及应用论文。作者简介:蔡义忠,男,(1975年12月-),黄冈职业技术学院讲师,主要从事计算机教学。

学习

羊的人工授精技术

阅读(31)

本文为您介绍羊的人工授精技术,内容包括羊人工授精的全部工具,羊人工授精实际操作步骤。摘要:羊人工授精是人工,采取公羊的,经过品质检查、稀释等一系列处理后,将输入母羊生殖道内,达到母羊受胎的配种方式。人工授精可以提高种公羊的利用率,加

学习

人道屠宰技术

阅读(29)

本文为您介绍人道屠宰技术,内容包括人道屠宰法,人道屠宰的优缺点。很多讲究吃的人在买肉时都会买排酸肉,这是因为,动物在被宰杀前或屠宰的过程中受到了惊吓,体内就会产生毒素,毒素残留在肉里而,人吃了就不安全,而排酸工艺可以降低有害物质的含

学习

虚拟仿真技术

阅读(44)

本文为您介绍虚拟仿真技术,内容包括3d虚拟仿真旅游,虚拟仿真实验教学。1.引言

学习

实用技术问答

阅读(26)

本文为您介绍实用技术问答,内容包括实用技术大全解释,实用app问答。沼气灯不亮或时明时暗,是什么原因?如何调整?