当前位置:首页 » 操作系统 » 并行化算法

并行化算法

发布时间: 2022-05-22 05:54:42

A. 微分方程组并行化求解

几种富有代表性的算法做了介绍,并比较了各自的优势和不足,包括矩量法、有限元法、时域有限差分方法以及复射线方法等。
关键词:矩量法;有限元法;时域有限差分方法;复射线方法
1 引 言
1864年Maxwell在前人的理论(高斯定律、安培定律、法拉第定律和自由磁极不存在)和实验的基础上建立了统一的电磁场理论,并用数学模型揭示了自然界一切宏观电磁现象所遵循的普遍规律,这就是着名的Maxwell方程。在11种可分离变量坐标系求解Maxwell方程组或者其退化形式,最后得到解析解。这种方法可以得到问题的准确解,而且效率也比较高,但是适用范围太窄,只能求解具有规则边界的简单问题。对于不规则形状或者任意形状边界则需要比较高的数学技巧,甚至无法求得解析解。20世纪60年代以来,随着电子计算机技术的发展,一些电磁场的数值计算方法发展起来,并得到广泛地应用,相对于经典电磁理论而言,数值方法受边界形状的约束大为减少,可以解决各种类型的复杂问题。但各种数值计算方法都有优缺点,一个复杂的问题往往难以依靠一种单一方法解决,常需要将多种方法结合起来,互相取长补短,因此混和方法日益受到人们的重视。
本文综述了国内外计算电磁学的发展状况,对常用的电磁计算方法做了分类。
2 电磁场数值方法的分类
电磁学问题的数值求解方法可分为时域和频域2大类。频域技术主要有矩量法、有限差分方法等,频域技术发展得比较早,也比较成熟。时域法主要有时域差分技术。时域法的引入是基于计算效率的考虑,某些问题在时域中讨论起来计算量要小。例如求解目标对冲激脉冲的早期响应时,频域法必须在很大的带宽内进行多次采样计算,然后做傅里叶反变换才能求得解答,计算精度受到采样点的影响。若有非线性部分随时间变化,采用时域法更加直接。另外还有一些高频方法,如GTD,UTD和射线理论。
从求解方程的形式看,可以分为积分方程法(IE)和微分方程法(DE)。IE和DE相比,有如下特点:IE法的求解区域维数比DE法少一维,误差限于求解区域的边界,故精度高;IE法适合求无限域问题,DE法此时会遇到网格截断问题;IE法产生的矩阵是满的,阶数小,DE法所产生的是稀疏矩阵,但阶数大;IE法难以处理非均匀、非线性和时变媒质问题,DE法可直接用于这类问题〔1〕。
3 几种典型方法的介绍
有限元方法是在20世纪40年代被提出,在50年代用于飞机设计。后来这种方法得到发展并被非常广泛地应用于结构分析问题中。目前,作为广泛应用于工程和数学问题的一种通用方法,有限元法已非常着名。
有限元法是以变分原理为基础的一种数值计算方法。其定解问题为:

应用变分原理,把所要求解的边值问题转化为相应的变分问题,利用对区域D的剖分、插值,离散化变分问题为普通多元函数的极值问题,进而得到一组多元的代数方程组,求解代数方程组就可以得到所求边值问题的数值解。一般要经过如下步骤:
①给出与待求边值问题相应的泛函及其变分问题。
②剖分场域D,并选出相应的插值函数。
③将变分问题离散化为一种多元函数的极值问题,得到如下一组代数方程组:

其中:Kij为系数(刚度)矩阵;Xi为离散点的插值。
④选择合适的代数解法解式(2),即可得到待求边值问题的数值解Xi(i=1,2,…,N)
(2)矩量法
很多电磁场问题的分析都归结为这样一个算子方程〔2〕:
L(f)=g(3)其中:L是线性算子,f是未知的场或其他响应,g是已知的源或激励。
在通常的情况下,这个方程是矢量方程(二维或三维的)。如果f能有方程解出,则是一个精确的解析解,大多数情况下,不能得到f的解析形式,只能通过数值方法进行预估。令f在L的定义域内被展开为某基函数系f1,f2,f3,…,fn的线性组合:

其中:an是展开系数,fn为展开函数或基函数。
对于精确解式(2)通畅是无限项之和,且形成一个基函数的完备集,对近似解,将式 (2)带入式(1),再应用算子L的线性,便可以得到:

m=1,2,3,…
此方程组可写成矩阵形式f,以解出f。矩量法就是这样一种将算子方程转化为矩阵方程的一种离散方法。
在电磁散射问题中,散射体的特征尺度与波长之比是一个很重要的参数。他决定了具体应用矩量法的途径。如果目标特征尺度可以与波长比较,则可以采用一般的矩量法;如果目标很大而特征尺度又包括了一个很大的范围,那么就需要选择一个合适的离散方式和离散基函数。受计算机内存和计算速度影响,有些二维和三维问题用矩量法求解是非常困难的,因为计算的存储量通常与N2或者N3成正比(N为离散点数),而且离散后出现病态矩阵也是一个难以解决的问题。这时需要较高的数学技巧,如采用小波展开,选取合适的小波基函数来降维等〔3〕。
(3)时域有限差分方法
时域有限差分(FDTD)是电磁场的一种时域计算方法。传统上电磁场的计算主要是在频域上进行的,这些年以来,时域计算方法也越来越受到重视。他已在很多方面显示出独特的优越性,尤其是在解决有关非均匀介质、任意形状和复杂结构的散射体以及辐射系统的电磁问题中更加突出。FDTD法直接求解依赖时间变量的麦克斯韦旋度方程,利用二阶精度的中心差分近似把旋度方程中的微分算符直接转换为差分形式,这样达到在一定体积内和一段时间上对连续电磁场的数据取样压缩。电场和磁场分量在空间被交叉放置,这样保证在介质边界处切向场分量的连续条件自然得到满足。在笛卡儿坐标系电场和磁场分量在网格单元中的位置是每一磁场分量由4个电场分量包围着,反之亦然。
这种电磁场的空间放置方法符合法拉第定律和安培定律的自然几何结构。因此FDTD算法是计算机在数据存储空间中对连续的实际电磁波的传播过程在时间进程上进行数字模拟。而在每一个网格点上各场分量的新值均仅依赖于该点在同一时间步的值及在该点周围邻近点其他场前半个时间步的值。这正是电磁场的感应原理。这些关系构成FDTD法的基本算式,通过逐个时间步对模拟区域各网格点的计算,在执行到适当的时间步数后,即可获得所需要的结果。
在上述算法中,时间增量Δt和空间增量Δx,Δy和Δz不是相互独立的,他们的取值必须满足一定的关系,以避免数值不稳定。这种不稳定表现为在解显式 差分方程时随着时间步的继续计算结果也将无限制的67增加。为了保证数值稳定性必须满足数值稳定条件:

其中:(对非均匀区域,应选c的最大值)〔4〕。
用差分方法对麦克斯韦方程的数值计算还会在网格中引起所模拟波模的色散,即在FDTD网格中数字波模的传播速度将随波长、在网格中的传播方向以及离散化的情况而改变。这种色散将导致非物理原因引起的脉冲波形的畸变、人为的各向异性及虚拟的绕射等,因此必须考虑数值色散问题。如果在模拟空间中采用大小不同的网格或包含不同的介质区域,这时网格尺寸与波长之比将是位置的函数,在不同网格或介质的交界面处将出现非物理的绕射和反射现象,对此也应该进行定量的研究,以保证正确估计FDTD算法的精度。在开放问题中电磁场将占据无限大空间,而由于计算机内存总是有限的,只能模拟有限空间,因此差分网格在某处必将截断,这就要求在网格截断处不引起波的明显反射,使对外传播的波就像在无限大空间中传播一样。这就是在截断处设置吸收边界条件,使传播到截断处的波被边界吸收而不产生反射,当然不可能达到完全没有反射,目前已创立的一些吸收边界条件可达到精度上的要求,如Mur所导出的吸收边界条件。
(4)复射线方法
复射线是用于求解波场传播和散射问题的一种高频近似方法。他根据几何光学理论和几何绕射理论的分析方法和计算公式,在解析延拓的复空间中求解复射线轨迹和场的振幅和相位,从而直接得出局部不均匀波(凋落波)的传播和散射规律〔5〕。复射线方法是包括复射线追踪、复射线近轴近似、复射线展开以及复绕射线等处理技术在内的一系列处理方法的统称。其共同特点在于:通过将射线参考点坐标延拓到复空间而建立了一个简单而统一的实空间中波束/射线束(Bundle ofrays)分析模型;通过费马原理及其延拓,由基于复射线追踪或复射线近轴近似的处理技术,构造了射线光学架构下有效的鞍点场描述方法等。例如,复射线追踪法将射线光学中使用的射线追踪方法和场强计算公式直接地解析延拓到复空间,利用延拓后的复费马原理进行复射线搜索,从而求出复射线轨迹和复射线场。这一方法的特点在于可以基于射线光学方法有效地描述空间中波束的传播,因此,提供了一类分析波束传播的简便方法。其不足之处是对每一个给定的观察点必须进行一次二维或四维的复射线轨迹搜索,这是一个十分花费时间的计算机迭代过程。
4 几种方法的比较和进展
将有限元法移植到电磁工程领域还是二十世纪六七十年代的事情,他比较新颖。有限元法的优点是适用于具有复杂边界形状或边界条件、含有复杂媒质的定解问题。这种方法的各个环节可以实现标准化,得到通用的计算程序,而且有较高的计算精度。但是这种方法的计算程序复杂冗长,由于他是区域性解法,分割的元素数和节点数较多,导致需要的初始数据复杂繁多,最终得到的方程组的元数很大,这使得计算时间长,而且对计算机本身的存储也提出了要求。对电磁学中的许多问题,有限元产生的是带状(如果适当地给节点编号的话)、稀疏阵(许多矩阵元素是0)。但是单独采用有限元法只能解决开域问题。用有限元法进行数值分析的第一步是对目标的离散,多年来人们一直在研究这个问题,试图找到一种有效、方便的离散方法,但由于电磁场领域的特殊性,这个问题一直没有得到很好的解决。问题的关键在于一方面对复杂的结构,一般的剖分方法难于适用;另一方面,由于剖分的疏密与最终所形成的系数矩阵的存贮量密切相关,因而人们采用了许多方法来减少存储量,如多重网格法,但这些方法的实现较为困难〔6〕。
网格剖分与加密是有限元方法发展的瓶颈之一,采用自适应网格剖分和加密技术相对来说可以较好地解决这一问题。自适应网格剖分根据对场量分布求解后的结果对网格进行增加剖分密度的调整,在网格密集区采用高阶插值函数,以进一步提高精度,在场域分布变化剧烈区域,进行多次加密。
这些年有限元方法的发展日益加快,与其他理论相结合方面也有了新的进展,并取得了相当应用范围的成果,如自适应网格剖分、三维场建模求解、耦合问题、开域问题、高磁性材料及具有磁滞饱和非线性特性介质的处理等,还包括一些尚处于探索阶段的工作,如拟问题、人工智能和专家系统在电磁装置优化设计中的应用、边基有限元法等,这些都使得有限元方法的发展有了质的飞跃。
矩量法将连续方程离散化为代数方程组,既适用于求解微分方程,又适用于求解积分方程。他的求解过程简单,求解步骤统一,应用起来比较方便。然而 77他需要一定的数学技巧,如离散化的程度、基函数与权函数的选取,矩阵求解过程等。另外必须指出的是,矩量法可以达到所需要的精确度,解析部分简单,可计算量很大,即使用高速大容量计算机,计算任务也很繁重。矩量法在天线分析和电磁场散射问题中有比较广泛地应用,已成功用于天线和天线阵的辐射、散射问题、微带和有耗结构分析、非均匀地球上的传播及人体中电磁吸收等。
FDTD用有限差分式替代时域麦克斯韦旋度方程中的微分式,得到关于场分量的有限差分式,针对不同的研究对象,可在不同的坐标系中建模,因而具有这几个优点,容易对复杂媒体建模,通过一次时域分析计算,借助傅里叶变换可以得到整个同带范围内的频率响应;能够实时在现场的空间分布,精确模拟各种辐射体和散射体的辐射特性和散射特性;计算时间短。但是FDTD分析方法由于受到计算机存储容量的限制,其网格空间不能无限制的增加,造成FDTD方法不能适用于较大尺寸,也不能适用于细薄结构的媒质。因为这种细薄结构的最小尺寸比FDTD网格尺寸小很多,若用网格拟和这类细薄结构只能减小网格尺寸,而这必然导致计算机存储容量的加大。因此需要将FDTD与其他技术相结合,目前这种技术正蓬勃发展,如时域积分方程/FDTD方法,FDTD/MOM等。FDTD的应用范围也很广阔,诸如手持机辐射、天线、不同建筑物结构室内的电磁干扰特性研究、微带线等〔7〕。
复射线技术具有物理模型简单、数学处理方便、计算效率高等特点,在复杂目标散射特性分析等应用领域中有重要的研究价值。典型的处理方式是首先将入射平面波离散化为一组波束指向平行的复源点场,通过特定目标情形下的射线追踪、场强计算和叠加各射线场的贡献,可以得到特定观察位置处散射场的高频渐进解。目前已运用复射线分析方法对飞行器天线和天线罩(雷达舱)、(加吸波涂层)翼身结合部和进气道以及涂层的金属平板、角形反射器等典型目标散射特性进行了成功的分析。尽管复射线技术的计算误差可以通过参数调整得到控制,但其本身是一种高频近似计算方法,由于入射波场的离散和只引入鞍点贡献,带来了不可避免的计算误差。总的来说复射线方法在目标电磁散射领域还是具有独特的优势,尤其是对复
杂目标的处理。
5 结 语
电磁学的数值计算方法远远不止以上所举,还有边界元素法、格林函数法等,在具体问题中,应该采用不同的方法,而不应拘泥于这些方法,还可以把这些方法加以综合应用,以达到最佳效果。
电磁学的数值计算是一门计算的艺术,他横跨了多个学科,是数学理论、电磁理论和计算机的有机结合。原则上讲,从直流到光的宽频带范围都属于他的研究范围。为了跟上世界科技发展的需要,应大力进行电磁场的并行计算方法的研究,不断拓广他的应用领域,如生物电磁学、复杂媒质中的电磁正问题和逆问题、医学应用、微波遥感应用、非线性电磁学中的混沌与分叉、微电子学和纳米电子学等。

参考文献

〔1〕 文舸一.计算电磁学的进展与展望〔J〕.电子学报,1995,23(10):62-69.
〔2〕 刘圣民.电磁场的数值方法〔M〕.武汉:华中理工大学出版社,1991.
〔3〕 张成,郑宏兴.小波矩量法求解电磁场积分方程〔J〕.宁夏大学学报(自然科学版),2000,21(1):76-79.
〔4〕 王长清.时域有限差分(FD-TD)法〔J〕.微波学报,1989,(4):8-18.
〔5〕 阮颖诤.复射线理论及其应用〔M〕.成都:电子工业出版社,1991.
〔6〕 方静,汪文秉.有限元法和矩量法结合分析背腔天线的辐射特性〔J〕.微波学报,2000,16(2):139-143.
〔7〕 杨永侠,王翠玲.电磁场的FDTD分析方法〔J〕.现代电子技术,2001,(11):73-74.
〔8〕 洪伟.计算电磁学研究进展〔J〕.东南大学学RB (自然科学版),2002,32(3):335-339.
〔9〕 王长清,祝西里.电磁场计算中的时域有限差分法〔M〕.北京:北京大学出版社,1994.
〔10〕 楼仁海,符果行,袁敬闳.电磁理论〔M〕.成都:电子科技大学出版社,1996.

B. 有哪些经典的算法或者轻量应用适合并行化

反对,不会显示你的姓名
知乎用户 计算机博士生,做生物信息
6 人赞同
挖个坑,说几个生物信息领域的经典算法吧。 1. Smith-Waterman 和 Needleman-Wunsch,俩生物信息最经典的动态规划算法, 并行算法的论文不知道发了多少篇了,Xeon,Xeon Phi, CUDA,SIMD的,一般并行先从这个算法开始讲 2. 基因组拼接的算法 de brijin Gra… 显示全部
挖个坑,说几个生物信息领域的经典算法吧。
1. Smith-Waterman 和 Needleman-Wunsch,俩生物信息最经典的动态规划算法, 并行算法的论文不知道发了多少篇了,Xeon,Xeon Phi, CUDA,SIMD的,一般并行先从这个算法开始讲

2. 基因组拼接的算法 de brijin Graph 的构建和查询的并行算法

3. 序列比对,BWT 构建的并行算法

以后慢慢补充

最后来一发,之前给物理学里面的QMC算法(一种MCMC算法,用来计算分子结构的)做Xeon Phi上并行的优化,题主有兴趣可以看看,已经有现成的软件包QMCPACK,可以支持Xeon和GPU并行了。

C. 并行处理技术的策略及定义

在并行处理技术中所使用的算法主要遵循三种策略:
1.分而治之法:也就是把多个任务分解到多个处理器或多个计算机中,然后再按照一定的拓扑结构来进行求解。
2.重新排序法:分别采用静态或动态的指令词度方式。
3.显式/隐式并行性结合:显式指的是并行语言通过编译形成并行程序,隐式指的是串行语言通过编译形成并行程序,显式/隐式并行性结合的关键就在于并行编译,而并行编译涉及到语句、程序段、进程以及各级程序的并行性。 利用计算机语言进行并行性描述的时候主要有三种方案:
1.语言扩展方案:也就是利用各种语言的库函数来进行并行性功能的扩展。
2.编译制导法:也称为智能编译,它是隐式并行策略的体现,主要是由并行编译系统进行程序表示、控制流的分析、相关分析、优化分析和并行化划分,由相关分析得到方法库管理方案,由优化分析得到知识库管理方案,由并行化划分得到程序重构,从而形成并行程序。
3.新的语言结构法:这是显式并行策略的体现。也就是建立一种全新的并行语言的体系,而这种并行语言通过编译就能直接形成并行程序。

D. 串行算法并行化方法

先验算法一般是拿来做并行化的,先验估计串行算法下一部分需要的值,同时生成算法每个步骤的结果,如果预测失败选择回退

E. c语言如何串行算法并行化

你好,C的并行方法为扩展并行。即使用第三方C语扩展来实现,现在基于C的并行扩展有openMP、CUDA等,如果需要推荐书发消息给我。补充:你现在的想法跟AMD的差不多,但是实际用途只在部分代码上有用,具体大的工程实践还是需要相关人员自己进行并行设计,你可以通过很多书上的并行方法通过自己设计解析软件把程序代码分解为openMP代码并作为预处理代码。

F. 并行处理的并行算法的基本策略

在并行处理技术中所使用的算法主要遵循三种策略:
1.分而治之法:也就是把多个任务分解到多个处理器或多个计算机中,然后再按照一定的拓扑结构来进行求解。
2.重新排序法:分别采用静态或动态的指令词度方式。
3.显式/隐式并行性结合:显式指的是并行语言通过编译形成并行程序,隐式指的是串行语言通过编译形成并行程序,显式/隐式并行性结合的关键就在于并行编译,而并行编译涉及到语句、程序段、进程以及各级程序的并行性。
二、并行性描述定义
利用计算机语言进行并行性描述的时候主要有三种方案:
1.语言扩展方案:也就是利用各种语言的库函数来进行并行性功能的扩展。
2.编译制导法:也称为智能编译,它是隐式并行策略的体现,主要是由并行编译系统进行程序表示、控制流的分析、相关分析、优化分析和并行化划分,由相关分析得到方法库管理方案,由优化分析得到知识库管理方案,由并行化划分得到程序重构,从而形成并行程序。
3.新的语言结构法:这是显式并行策略的体现。也就是建立一种全新的并行语言的体系,而这种并行语言通过编译就能直接形成并行程序。
三、并行软件
并行软件可分成并行系统软件和并行应用软件两大类,并行系统软件主要指并行编译系统和并行操作系统,并行应用软件主要指各种软件工具和应用软件包。在软件中所牵涉到的程序的并行性主要是指程序的相关性和网络互连两方面。
1.程序的相关性:程序的相关性主要分为数据相关、控制相关和资源相关三类。
数据相关说明的是语句之间的有序关系,主要有流相关、反相关、输出相关、I/O相关和求知相关等,这种关系在程序运行前就可以通过分析程序确定下来。数据相关是一种偏序关系,程序中并不是每一对语句的成员都是相关联的。可以通过分析程序的数据相关,把程序中一些不存在相关性的指令并行地执行,以提高程序运行的速度。
控制相关指的是语句执行次序在运行前不能确定的情况。它一般是由转移指令引起的,只有在程序执行到一定的语句时才能判断出语句的相关性。控制相关常使正在开发的并行性中止,为了开发更多的并行性,必须用编译技术克服控制相关。
而资源相关则与系统进行的工作无关,而与并行事件利用整数部件、浮点部件、寄存器和存储区等共享资源时发生的冲突有关。软件的并行性主要是由程序的控制相关和数据相关性决定的。在并行性开发时往往把程序划分成许多的程序段——颗粒。颗粒的规模也称为粒度,它是衡量软件进程所含计算量的尺度,一般用细、中、粗来描述。划分的粒度越细,各子系统间的通信时延也越低,并行性就越高,但系统开销也越大。因此,我们在进行程序组合优化的时候应该选择适当的粒度,并且把通讯时延尽可能放在程序段中进行,还可以通过软硬件适配和编译优化的手段来提高程序的并行度。
2.网络互连:将计算机子系统互连在一起或构造多处理机或多计算机时可使用静态或动态拓扑结构的网络。静态网络由点一点直接相连而成,这种连接方式在程序执行过程中不会改变,常用来实现集中式系统的子系统之间或分布式系统的多个计算结点之间的固定连接。动态网络是用开关通道实现的,它可动态地改变结构,使之与用户程序中的通信要求匹配。动态网络包括总线、交叉开关和多级网络,常用于共享存储型多处理机中。在网络上的消息传递主要通过寻径来实现。常见的寻径方式有存储转发寻径和虫蚀寻径等。在存储转发网络中以长度固定的包作为信息流的基本单位,每个结点有一个包缓冲区,包从源结点经过一系列中间结点到达目的结点。存储转发网络的时延与源和目的之间的距离(段数)成正比。而在新型的计算机系统中采用虫蚀寻径,把包进一步分成一些固定长度的片,与结点相连的硬件寻径器中有片缓冲区。消息从源传送到目的结点要经过一系列寻径器。同一个包中所有的片以流水方式顺序传送,不同的包可交替地传送,但不同包的片不能交叉,以免被送到错误的目的地。虫蚀寻径的时延几乎与源和目的之间的距离无关。在寻径中产生的死锁问题可以由虚拟通道来解决。虚拟通道是两个结点间的逻辑链,它由源结点的片缓冲区、结点间的物理通道以及接收结点的片缓冲区组成。物理通道由所有的虚拟通道分时地共享。虚拟通道虽然可以避免死锁,但可能会使每个请求可用的有效通道频宽降低。因此,在确定虚拟通道数目时,需要对网络吞吐量和通信时延折衷考虑。
四、硬件技术在硬件技术方面主要从处理机、存储器和流水线三个方面来实现并行。
1.处理机:主要的处理机系列包括CISC、RISC、超标量、VL1W、超流水线、向量以及符号处理机。
传统的处理机属于复杂指令系统计算(CISC)结构。指令系统大,指令格式可变,通用寄存器个数较少,基本上使用合一的指令与数据高速缓存,时钟频率较低,CPI较高,大多数利用ROM 实现微码控制CPU,而当今的精简指令系统计算(RISC)处理机指令格式简单规范,面向寄存器堆,采用重叠寄存器窗口技术,具有多级Cache,多种流水线结构,强调编译优化技术,时钟频率快,CPI低,大多数用硬连线控制CPU。
CISC或RISC标量处理机都可以采用超标量或向量结构来改善性能。标量处理机在每个周期内只发射一条指令并要求周期只完成从流水线来的一条指令。而在超标量处理机中,使用了多指令流水线,每个周期要发射多条指令并产生多个结果。由于希望程序中有许多的指令级并行性,因此超标量处理机更要依靠优化编译器去开发并行性。
VL1W 结构是将水平微码和超标量处理这两种普遍采用的概念结合起来产生的。典型的超长指令字VL1W 机器指令字长度有数百位。在VLlW 处理机中,多个功能部件是并发工作的,所有的功能部件共享使用公用大型寄存器堆,由功能部件同时执行的各种操作是用VL1W 指令来同步的,每条指令可指定多个操作。VL1W 指令译码比超标量指令容易,但在开发不同数量的并行性时总是需要不同的指令系统。VL1W 主要是开发标量操作之间的并行性,它的成功与否很大程度取决于代码压缩的效率,其结构和任何传统的通用处理机完全不兼容。即使同一结构的不同实现也不大可能做到彼此二进制兼容。VL1W 的主要优点在于它的硬件结构和指令系统简单,在科学应用领域可以发挥良好作用,但在一般应用场合可能并不很好用。
向量处理机对数组执行向量指令,每条指令都包含一串重复的操作。它是专门设计用来完成向量运算的协处理机,通常用于多流水线超级计算机中。向量处理机可以利用循环级展开所得的并行性,它可以附属于任何标量处理机。专用的向量流水线可以在循环控制中消除某些软件开销,它的效果与优化编译器将顺序代码向量化的性能很有关系。从理论上说,向量机可以具有和超标量处理机同样的性能,因此可以说向量机的并行性与超标量机相同。
符号处理机是为AI应用而研制的,已用于定理证明、模式识别、专家系统、知识工程、文本检索、科学以及机器智能等许多应用领域。在这些应用中,数据和知识表达式、原语操作、算法特性、存储器、I/0和通信以及专用的结构特性与数值计算是不一样的,符号处理机也称为逻辑程序设计语言处理机、表处理语言处理机或符号变换器。符号处理并不和数值数据打交道,它处理的是逻辑程序、符号表、对象、剧本、黑板、产生式系统、语义网络、框架以及人工神经网络等问题。这些操作需要专门的指令系统,通常不使用浮点操作。
2.存储器:存储设备按容量和存取时间从低到高可分为寄存器、高速缓存、主存储器、磁盘设备和磁带机五个层次。较低层存储设备与较高层的相比,存取速度较快、容量较小,每字节成本较高、带宽较宽、传输单位较小。
存放在存储器层次结构中的信息满足三个重要特性:包含性、一致性和局部性。所谓包含性,指的是一个信息字的复制品可以在比它高的所有层中找到,而如果在高层中丢失了一个信息,则在比它低的所有层中此信息也将丢失。CPU 和高速缓存之间的信息传送是按字进行的,高速缓存和主存储器间用块作为数据传送的基本单位,主存和磁盘之间又是以页面为基本单位来传送信息的,而在磁盘和磁带机之间的数据传送则是按文件级处理的。所谓一致性要求的是同一个信息项与后继存储器层次上的副本是一致的。也就是说,如果在高速缓存中的一个字被修改过,那么在所有更高层上该字的副本也必须立即或最后加以修改。为了尽量减少存储器层次结构的有效存取时间,通常把频繁使用的信息放在较低层次。维护存储器层次结构一致性一般有两种策略,一种是写直达策略,也就是如果,则立即在所有高层存储器中进行同样的修改;另一种是写回策略,也就是在较低层中对信息进行修改后并不立即在高层存储器中进行相应的修改,而是等到该信息将被替换或将从低层中消失时才在所有高层存储器中进行同样的修改。甚至可以将写直达和写回策略的优点结合起来,形成写一次协议来维护存储器的一致性。
存储器的层次结构是在一种程序行为——访问的局部性基础上开发出来的。主要有时间局部性、空间局部性和顺序局部性。时间局部性指的是最近的访问项很可能在不久的将来再次被访问。它往往会引起对最近使用区域的集中访问。空间局部性表示一种趋势,指的是一个进程访问的各项其地址彼此很近。顺序局部性指的是在典型程序中,除非是转移指令,一般指令都是顺序执行的。
在多处理机系统中一般使用共享存储器。对共享存储器的组织一般采用低位交叉、高位交叉、高低位交叉三种方法。低位交叉又称并发存取,它是把相邻的地址放在相邻的存储器模块中,在访问时不容易产生冲突,并行性较好,但可靠性容错能力和扩展性均较差。高位交叉又称允许同时存取,它是把相邻地址分配到同一个存储器模块中,可靠性、容错能力和扩展性均较强,但访问时易产生冲突,带宽较窄,并行性较差。高低位交叉存取又称C—s存取,它是结合了高位交叉和低位交叉两种方法的优点,既解决了冲突问题,又能有效地提高容错能力和并行性,最适合于向量处理机结构。
3.流水线:流水线技术主要有指令流水线技术和运算流水线技术两种。
指令流水线技术主要目的是要提高计算机的运行效率和吞吐率。它主要通过设置预取指令缓冲区、设置多功能部件、进行内部数据定向、采取适当的指令调度策略来实现。指令调度的策略主要有静态和动态两种,静态词度是基于软件的,主要由编译器完成,动态词度是基于硬件的,主要是通过硬件技术进行。
运算流水线主要有单功能流水线和多功能流水线两种。其中多功能流水线又可分为静态流水线和动态流水线。静态流水线技术只用来实现确定的功能,而动态流水线可以在不同时间重新组合,实现不同的功能,它除流线连接外,还允许前馈和反馈连接,因此也称为非线性流水线。这些前馈和反馈连接使得进入流水线的相继事件的词度变得很不简单。由于这些连接,流水线不一定从最后一段输出。根据不同的数据流动模式,人们可以用同一条流水线求得不同功能的值。
并行计算机发展简述
40 年代开始的现代计算机发展历程可以分为两个明显的发展时代:串行计算时代、并行计算时代。每一个计算时代都从体系结构发展开始,接着是系统软件(特别是编译器与操作系统)、应用软件,最后随着问题求解环境的发展而达到顶峰。创建和使用并行计算机的主要原因是因为并行计算机是解决单处理器速度瓶颈的最好方法之一。
并行计算机是由一组处理单元组成的,这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。因此,并行计算机的两个最主要的组成部分是计算节点和节点间的通信与协作机制。并行计算机体系结构的发展也主要体现在计算节点性能的提高以及节点间通信技术的改进两方面。
60 年代初期,由于晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小巧和廉价。这些技术发展的结果导致了并行计算机的出现,这一时期的并行计算机多是规模不大的共享存储多处理器系统,即所谓大型主机(Mainframe)。IBM360 是这一时期的典型代表。
到了60 年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了。与单纯提高时钟频率相比,这些并行特性在处理器内部的应用大大提高了并行计算机系统的性能。伊利诺依大学和Burroughs 公司此时开始实施IlliacIV 计划,研制一台64 个CPU 的SIMD 主机系统,它涉及到硬件技术、体系结构、I/O 设备、操作系统、程序设计语言直至应用程序在内的众多研究课题。不过,当一台规模大大缩小了的16CPU 系统终于在1975 年面世时,整个计算机界已经发生了巨大变化。
首先是存储系统概念的革新,提出虚拟存储和缓存的思想。IBM360/85 系统与360/91是属于同一系列的两个机型,360/91 的主频高于360/85,所选用的内存速度也较快,并且采用了动态调度的指令流水线;但是,360/85 的整体性能却高于360/91,唯一的原因就是前者采用了缓存技术,而后者则没有。
其次是半导体存储器开始代替磁芯存储器。最初,半导体存储器只是在某些机器被用作缓存,而CDC7600 则率先全面采用这种体积更小、速度更快、可以直接寻址的半导体存储器,磁芯存储器从此退出了历史舞台。与此同时,集成电路也出现了,并迅速应用到了计算机中。元器件技术的这两大革命性突破,使得IlliacIV 的设计者们在底层硬件以及并行体系结构方面提出的种种改进都大为逊色。
1976 年CRAY-1 问世以后,向量计算机从此牢牢地控制着整个高性能计算机市场15 年。CRAY-1 对所使用的逻辑电路进行了精心的设计,采用了我们如今称为RISC 的精简指令集,还引入了向量寄存器,以完成向量运算。这一系列全新技术手段的使用,使CRAY-1 的主频达到了80MHz。
微处理器随着机器的字长从4 位、8 位、16 位一直增加到32 位,其性能也随之显着提高。正是因为看到了微处理器的这种潜力,卡内基- 梅隆大学开始在当时流行的DECPDP11 小型计算机的基础上研制成功一台由16 个PDP11/40 处理机通过交叉开关与16 个共享存储器模块相连接而成的共享存储多处理器系统C.mmp。
从80 年代开始,微处理器技术一直在高速前进。稍后又出现了非常适合于SMP 方式的总线协议,而伯克利加州大学则对总线协议进行了扩展,提出了Cache 一致性问题的处理方案。从此,C.mmp 开创出的共享存储多处理器之路越走越宽;现在,这种体系结构已经基本上统治了服务器和桌面工作站市场。
同一时期,基于消息传递机制的并行计算机也开始不断涌现。80 年代中期,加州理工成功地将64 个i8086/i8087 处理器通过超立方体互连结构连结起来。此后,便先后出现了Intel iPSC 系列、INMOS Transputer 系列,Intel Paragon 以及IBM SP 的前身Vulcan 等基于消息传递机制的并行计算机。
80 年代末到90 年代初,共享存储器方式的大规模并行计算机又获得了新的发展。IBM将大量早期RISC 微处理器通过蝶形互连网络连结起来。人们开始考虑如何才能在实现共享存储器缓存一致的同时,使系统具有一定的可扩展性(Scalability)。90 年代初期,斯坦福大学提出了DASH 计划,它通过维护一个保存有每一缓存块位置信息的目录结构来实现分布式共享存储器的缓存一致性。后来,IEEE 在此基础上提出了缓存一致性协议的标准。
90 年代以来,主要的几种体系结构开始走向融合。属于数据并行类型的CM-5 除大量采用商品化的微处理器以外,也允许用户层的程序传递一些简单的消息;CRAY T3D是一台NUMA 结构的共享存储型并行计算机,但是它也提供了全局同步机制、消息队列机制,并采取了一些减少消息传递延迟的技术。
随着商品化微处理器、网络设备的发展,以及MPI/PVM 等并行编程标准的发布,机群架构的并行计算机出现。IBM SP2 系列机群系统就是其中的典型代表。在这些系统中,各个节点采用的都是标准的商品化计算机,它们之间通过高速网络连接起来。
今天,越来越多的并行计算机系统采用商品化的微处理器加上商品化的互连网络构造,这种分布存储的并行计算机系统称为机群。国内几乎所有的高性能计算机厂商都生产这种具有极高性能价格比的高性能计算机,并行计算机就进入了一个新的时代,并行计算的应用达到了前所未有的广度和深度。
并行计算机随着微处理芯片的发展,已经进入了一个新时代。目前并行计算机的性能已经突破20PFLOPS,正在向百亿亿次发展。我国并行计算机的研制已经走在世界前列。2003年由联想公司生产的深腾6800 在2003 年11 月世界TOP500 排名中位列第14 名,2004 年曙光公司生产的曙光4000A 在2004 年6 月的世界TOP500 排名中位列第10 名,这是我国公开发布的高性能计算机在世界TOP500 中首次进入前十名,这标志着我国在并行计算机系统的研制和生产中已经赶上了国际先进水平,为提高我国的科学研究水平奠定了物质基础。2013年国际超级计算机大会最新发布的世界超级计算机500强排名中,国防科技大学研制的天河二号超级计算机系统,以峰值计算速度每秒5.49亿亿次、持续计算速度每秒3.39亿亿次双精度浮点运算的优异性能位居榜首。
从TOP500 的前10 名来看,美国仍然是超级计算机的最大拥有者。按照世界TOP500 的统计数据来分析,美国在计算能力上占有近全世界的一半,在TOP500 中的所有计算机中拥有的数量超过50%。

G. pso的并行算法

与大多数随机优化算法相似,当适应值评价函数的计算量比较大时,PSO算法的计算量会很大。为了解决该问题,研究者提出了并行PSO算法。与并行遗传算法类似,并行PSO算法也可以有三种并行群体模型:主从并行模型、岛屿群体模型和邻接模型。
Schutte采用同步实现方式,在计算完一代中所有点的适应值之后才进入下一代。这种并行方法虽然实现简单,但常常会导致并行效率很差。故而有人提出异步方式的并行算法,可以在对数值精度影响不大的条件下提高PSO算法的并行性能。这两种方式采用的都是主从并行模型,其中异步方式在求解上耦合性更高,更容易产生通信瓶颈。
Baskar提出一种两个子种群并行演化的并发PSO算法,其中一个子种群采用原始的PSO算法,另一个子种群采用基于适应值距离比的PSO算法(FDR-PSO);两个子种群之间频繁地进行信息交换。而El-Abd研究了在子种群中采用局部邻域版本的协作PSO算法,并研究了多种信息交换的方式及其对算法性能的影响。黄芳提出一种基于岛屿群体模型的并行PSO算法,并引入一种集中式迁移策略,提高了求解效率,同时改善了早收敛现象。
Li提出延迟交换信息的并行算法属于邻接模型,该算法可以提高速度,但可能使得解的质量变差。

H. 算法并行化后它的时间复杂度会增加么

有些会,有些不会,有些算法并发处理后需要同步会增加时间复杂度,但是有些算法不需要同步,所以不会。

I. 如何把一个串行算法在hadoop中并行化

你需要了解这个算法的具体现实,将可以并行的挑出来放到不同的任务里面。要不然的话,你就只能用任务管道。用上一个任务的输出做为下一个任务的输入,顺序执行两个并行计算任务。

J. 一直分不清并行计算和分布式计算的区别,望大虾指点。。。

1、并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算的主要目的是快速解决大型且复杂的计算问题。

2、分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。

3、具体的过程是:将需要进行大量计算的项目数据分割成小块,由多台计算机分别计算,再上传运算结果后统一合并得出数据结论。

(10)并行化算法扩展阅读

特征

为利用并行计算,通常计算问题表现为以下特征:

1、将工作分离成离散部分,有助于同时解决;

2、随时并及时地执行多个程序指令;

3、多计算资源下解决问题的耗时要少于单个计算资源下的耗时。

基本术语

1、节点度:射入或射出一个节点的边数。在单向网络中,入射和出射边之和称为节点度。

2、网络直径:网络中任何两个节点之间的最长距离,即最大路径数。

3、对剖宽度:对分网络各半所必须移去的最少边数。

热点内容
下述关于数据库系统的正确叙述是 发布:2024-10-26 05:27:13 浏览:443
我的世界国际服117服务器ip 发布:2024-10-26 05:27:13 浏览:259
香港多ip服务器租用 发布:2024-10-26 05:17:36 浏览:552
妈妈设置密码是多少 发布:2024-10-26 05:15:45 浏览:516
温州云上传媒 发布:2024-10-26 05:14:06 浏览:364
我的世界服务器怎么加光影电脑板 发布:2024-10-26 04:11:08 浏览:575
用绿宝石如何开服务器 发布:2024-10-26 04:10:21 浏览:255
exe文件自解压 发布:2024-10-26 04:03:48 浏览:734
使用ftp服务器下载和上传文件 发布:2024-10-26 03:52:55 浏览:816
纯vc编译器 发布:2024-10-26 03:40:59 浏览:250