1.毕业设计 我想阐述一下并行计算的发展
从20世纪40年代开始的现代计算机发展历程可以分为两个明显的发展时代:串行计算时代、并行计算时代。
每一个计算时代都从体系结构发展开始,接着是系统软件(特别是编译器与操作系统)、应用软件,最后随着问题求解环境的发展而达到顶峰。 并行计算机是由一组处理单元组成的。
这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。因此,并行计算机的两个最主要的组成部分是计算节点和节点间的通信与协作机制。
并行计算机体系结构的发展也主要体现在计算节点性能的提高以及节点间通信技术的改进两方面。 节点性能不断进步 20世纪60年代初期,由于晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小巧和廉价。
这些技术发展的结果导致了并行计算机的出现。这一时期的并行计算机多是规模不大的共享存储多处理器系统,即所谓大型主机。
IBM 360是这一时期的典型代表。 到了20世纪60年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了。
与单纯提高时钟频率相比,这些并行特性在处理器内部的应用大大提高了并行计算机系统的性能。伊利诺依大学和Burroughs公司此时开始实施Illiac Ⅳ计划,研制一台64颗CPU的SIMD主机系统,它涉及到硬件技术、体系结构、I/O设备、操作系统、程序设计语言直至应用程序在内的众多研究课题。
不过,当一台规模大大缩小的原型系统(仅使用了16颗CPU)终于在1975年面世时,整个计算机界已经发生了巨大变化。 首先是存储系统概念的革新,提出虚拟存储和缓存的思想。
以IBM 360/85和IBM 360/91为例,两者是属于同一系列的两个机型,IBM 360/91的主频高于IBM 360/85,所选用的内存速度也较快,并且采用了动态调度的指令流水线。但是,IBM 360/85的整体性能却高于IBM 360/91,惟一的原因就是前者采用了缓存技术,而后者则没有。
其次是半导体存储器开始代替磁芯存储器。最初,半导体存储器只是在某些机器中被用作缓存,而CDC7600则率先全面采用这种体积更小、速度更快、可以直接寻址的半导体存储器,磁芯存储器从此退出了历史舞台。
与此同时,集成电路也出现了,并迅速应用到计算机中。元器件技术的这两大革命性突破,使得Illiac Ⅳ的设计者们在底层硬件以及并行体系结构方面提出的种种改进都大为逊色。
处理器高速发展 1976年Cray-1问世以后,向量计算机从此牢牢地控制着整个高性能计算机市场15年。Cray-1对所使用的逻辑电路进行了精心的设计,采用了我们如今称为RISC的精简指令集,还引入了向量寄存器,以完成向量运算。
这一系列技术手段的使用,使Cray-1的主频达到了80MHz。 微处理器随着机器的字长从4位、8位、16位一直增加到32位,其性能也随之显著提高。
正是因为看到了微处理器的这种潜力,卡内基·梅隆大学开始在当时流行的DEC PDP-11小型计算机的基础上研制一台由16台PDP-11/40处理机通过交叉开关与16个共享存储器模块相连接而成的共享存储多处理器系统C.mmp。 从20世纪80年代开始,微处理器技术一直在高速前进。
稍后又出现了非常适合于SMP方式的总线协议。而伯克利加州大学则对总线协议进行了扩展,提出了Cache一致性问题的处理方案。
从此,C.mmp开创出的共享存储多处理器之路越走越宽。现在,这种体系结构已经基本上统治了服务器和桌面工作站市场。
通信机制稳步前进 同一时期,基于消息传递机制的并行计算机也开始不断涌现。20世纪80年代中期,加州理工学院成功地将64个i8086/i8087处理器通过超立方体互连结构连结起来。
此后,便先后出现了Intel iPSC系列、INMOS Transputer系列,Intel Paragon以及IBM SP的前身Vulcan等基于消息传递机制的并行计算机。 20世纪80年代末到90年代初,共享存储器方式的大规模并行计算机又获得了新的发展。
IBM将大量早期RISC微处理器通过蝶形互连网络连结起来。人们开始考虑如何才能在实现共享存储器缓存一致的同时,使系统具有一定的可扩展性。
20世纪90年代初期,斯坦福大学提出了DASH计划,它通过维护一个保存有每一缓存块位置信息的目录结构来实现分布式共享存储器的缓存一致性。后来,IEEE在此基础上提出了缓存一致性协议的标准。
20世纪90年代至今,主要的几种体系结构开始走向融合。 属于数据并行类型的CM-5除大量采用商品化的微处理器以外,也允许用户层的程序传递一些简单的消息。
Cray T3D是一台NUMA结构的共享存储型并行计算机,但是它也提供了全局同步机制、消息队列机制,并采取了一些减少消息传递延迟的技术。 随着微处理器商品化、网络设备的发展以及MPI/PVM等并行编程标准的发布,集群架构的并行计算机出现开始。
IBM SP2系列集群系统就是其中的典型代表。在这些系统中,各个节点采用的都是标准的商品化计算机,它们之间通过高速网络连接起来。
1.2 有限元并行计算的发展和现状 目前,在计算力学领域内,围绕着基于变分原理的有限元法 和基于边界积分方程的边界元法,以及基于现在问世的各种并行 计算机,逐渐形成了一个新的学科分支——有限元并。
2.并行算法的并行算法的研究内容
(1) 并行计算模型 并行算法作为一门学科,首先研究的是并行计算模型。并行计算模型是算法设计者与体系结构研究者之间的一个桥梁,是并行算法设计和分析的基础。它屏蔽了并行机之间的差异,从并行机中抽取若干个能反映计算特性的可计算或可测量的参数,并按照模型所定义的计算行为构造成本函数,以此进行算法的复杂度分析。
并行计算模型的第一代是共享存储模型,如SIMD-SM和MIMD-SM的一些计算模型,模型参数主要是CPU的单位计算时间,这样科学家可以忽略一些细节,集中精力设计算法。第二代是分布存储模型。在这个阶段,人们逐渐意识到对并行计算机性能带来影响的不仅仅是CPU,还有通信。因此如何把不同的通信性能抽象成模型参数,是这个阶段的研究重点。第三代是分布共享存储模型,也是我们目前研究所处的阶段。随着网络技术的发展,通信延迟固然还有影响,但对并行带来的影响不再像当年那样重要,注重计算系统的多层次存储特性的影响。
(2) 设计技术并行算法研究的第二部分是并行算法的设计技术。虽然并行算法研究还不是太成熟,但并行算法的设计依然是有章可循的,例如划分法、分治法、平衡树法、倍增法/指针跳跃法、流水线法破对称法等都是常用的设计并行算法的方法。另外人们还可以根据问题的特性来选择适合的设计方法。
(3)并行算法分为多机并行和多线程并行。多机并行,如MPI技术;多线程并行,如OpenMP技术。
以上是并行算法的常规研究内容。
3.什么是并行计算
并行计算是相对于串行计算来说的,所谓并行计算分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。
并行计算科学中主要研究的是空间上的并行问题。 空间上的并行导致了两类并行机的产生,按照Flynn的说法分为:单指令流多数据流(SIMD)和多指令流多数据流(MIMD)。我们常用的串行机也叫做单指令流单数据流(SISD)。
MIMD类的机器又可分为以下常见的五类:
并行向量处理机(PVP)
对称多处理机(SMP)
大规模并行处理机(MPP)
工作站机群(COW)
分布式共享存储处理机(DSM)。
[编辑]访存模型
并行计算机有以下四种访存模型:
均匀访存模型(UMA)
非均匀访存模型(NUMA)
全高速缓存访存模型(COMA)
一致性高速缓存非均匀存储访问模型(CC-NUMA)和非远程存储访问模型(NORMA)。
4.写一篇大一应用数学论文 谢谢
并行遗传算法及其应用1、遗传算法(GA)概述GA是一类基于自然选择和遗传学原理的有效搜索方法,它从一个种群开始,利用选择、交叉、变异等遗传算子对种群进行不断进化,最后得到全局最优解。
生物遗传物质的主要载体是染色体,在GA中同样将问题的求解表示成“染色体Chromosome”,通常是二进制字符串表示,其本身不一定是解。首先,随机产生一定数据的初始染色体,这些随机产生的染色体组成一个种群(Population),种群中染色体的数目称为种群的大小或者种群规模。
第二:用适值度函数来评价每一个染色体的优劣,即染色体对环境的适应程度,用来作为以后遗传操作的依据。第三:进行选择(Selection),选择过程的目的是为了从当前种群中选出优良的染色体,通过选择过程,产生一个新的种群。
第四:对这个新的种群进行交叉操作,变异操作。交叉、变异操作的目的是挖掘种群中个体的多样性,避免有可能陷入局部解。
经过上述运算产生的染色体称为后代。最后,对新的种群(即后代)重复进行选择、交叉和变异操作,经过给定次数的迭代处理以后,把最好的染色体作为优化问题的最优解。
GA通常包含5个基本要素:1、参数编码:GA是采用问题参数的编码集进行工作的,而不是采用问题参数本身,通常选择二进制编码。2、初始种群设定:GA随机产生一个由N个染色体组成的初始种群(Population),也可根据一定的限制条件来产生。
种群规模是指种群中所含染色体的数目。3、适值度函数的设定:适值度函数是用来区分种群中个体好坏的标准,是进行选择的唯一依据。
目前主要通过目标函数映射成适值度函数。4、遗传操作设计:遗传算子是模拟生物基因遗传的操作,遗传操作的任务是对种群的个体按照它们对环境的适应的程度施加一定的算子,从而实现优胜劣汰的进化过程。
遗传基本算子包括:选择算子,交叉算子,变异算子和其他高级遗传算子。5、控制参数设定:在GA的应用中,要首先给定一组控制参数:种群规模,杂交率,变异率,进化代数等。
GA的优点是擅长全局搜索,一般来说,对于中小规模的应用问题,能够在许可的范围内获得满意解,对于大规模或超大规模的多变量求解任务则性能较差。另外,GA本身不要求对优化问题的性质做一些深入的数学分析,从而对那些不太熟悉数学理论和算法的使用者来说,无疑是方便的。
2、遗传算法的运行机理:对GA运行机理的解释有两类: 一是传统的模式理论;二是1990 年以后发展起来的有限状态马尔可夫链模型。(1)模式理论:由Holland创建,主要包括模式定理,隐并行性原理和积木块假说三部分。
模式是可行域中某些特定位取固定值的所有编码的集合。模式理论认为遗传算法实质上是模式的运算,编码的字母表越短,算法处理一代种群时隐含处理的模式就越多。
当算法采用二进制编码时,效率最高,处理规模为N的一代种群时,可同时处理O(N3)个模式。遗传算法这种以计算少量编码适应度而处理大量模式的性质称为隐并行性。
模式理论还指出,目标函数通常满足积木块假说,即阶数高,长度长,平均适应度高的模式可以由阶数低,长度短,平均适应度高的模式(积木块)在遗传算子的作用下,接合而生成。而不满足积木块假说的优化问题被称为骗问题(deceptive problem)。
模式理论为遗传算法构造了一条通过在种群中不断积累、拼接积木块以达到全局最优解的寻优之路。但近十多年的研究,特别是实数编码遗传算法的广泛应用表明,上述理论与事实不符。
(2)有限状态马尔可夫链模型:由于模式理论的种种缺陷,研究者开始尝试利用有限状态马尔可夫链模型研究遗传算法的运行过程。对于遗传算法可以解决的优化问题,问题的可行域都是由有限个点组成的,即便是参数可以连续取值的问题,实际上搜索空间也是以要求精度为单位的离散空间,因此遗传算法的实际运行过程可以用有限状态马尔可夫链的状态转移过程建模和描述。
对于有 m 个可行解的目标函数和种群规模为N的遗传算法,N 个个体共有 种组合,相应的马尔可夫模型也有 个状态。实际优化问题的可行解数量 m 和种群规模 N 都十分可观,马尔可夫模型的状态数几乎为天文数字,因此利用精确的马尔可夫模型计算种群的状态分布是不可能的。
为了换取模型的可执行性,必须对实际模型采取近似简化,保持算法的实际形态,通过对目标函数建模,简化目标函数结构实现模型的可执行性。遗传算法优化的过程,可以看作算法在循环过程中不断对可行域进行随机抽样,利用前面抽样的结果对目标点的概率分布进行估计,然后根据估计出的分布推算下一次的抽样点。
马尔可夫模型认为遗传算法是通过对搜索空间不同区域的抽样,来估计不同区域的适应度,进而估计最优解存在于不同区域的概率,以调整算法对不同区域的抽样密度和搜索力度,进而不断提高对最优解估计的准确程度。可见,以邻域结构为依据划分等价类的马尔可夫模型更符合实际,对问题的抽象更能体现优化问题的本质。
3、并行遗传算法(PGA)虽然在许多领域成功地应用遗传算法,通常能在合理的时间内找到满意解,但随着求解问题的。