地理计算第二章_第1页
地理计算第二章_第2页
地理计算第二章_第3页
地理计算第二章_第4页
地理计算第二章_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

地理计算GeoComputation地理计算

主讲:李霖教授第二章

计算技术

首先区分计算科学和计算机科学。尽管他们相关,但是计算学是致力于计算机技术在特殊领域中应用和解决问题。算法性能评估与分析系统软件体系结构应用科学计算学工程学数学计算机科学数值分析按照最传统的理论——实验的二值观点,计算学扩展为包括实验、模拟、建模的三部分。计算是关键的、核心的、一般的、广泛被应用的、不断革新的科学,地理计算是计算的地理版本,当前最迫切的是该方面的研究很少,进展更是缓慢,可以说该领域中绝大多数地方还是未涉足的空白区这就给地理计算学者们丰富的空间来研究、讨论。地理分析的计算复杂度主要来自两个方面:地理数据的增长和模型的复杂性。地理学者已经见证了地理信息量的快速增长。特别是遥感影象精度的增加,是数据呈指数上升。许多地理模型都是需要一定计算强度的,包括各种优化搜索策略。在应用很多模型来进行科学实验和决策时却因计算的复杂度和低性能而受到影响。

摩尔定律预测,每18个月微处理器的性能将翻倍,这个规则在过去的一段时间里得到验证,并且还会持续一段时间。但是,尽管有这种显著的性能增加,计算机工艺设计在不久的将来会达到它们的处理器材料的限制极限,再加之费用的大幅提高,使人们转而投向采用其他方法来提高计算性能。

GC试图为新一代高性能技术发掘新的应用。现在的微处理器性能还在继续提高,但是一旦其接近了其最大值,再想增加速度和性能,只有依靠大规模并行及硬件了。各种计算技术在地理学中不再局限于模型应用和科学研究了,已经开始应用到大规模的分析和决策系统中。新的技术技术的发展,地理计算提供了无限可能,如并行计算、移动计算、网络计算、网格计算、对等计算、公用计算。

内容§2.1高性能计算§2.2并行计算§2.3网络计算§2.4网格计算§2.1高性能计算

高性能计算是利用基于向量或并行处理器为基础的超级计算机硬件对大容量资料,对需要进行实时分析与控制的系统,对那些复杂而又不能用其他手段来处理的现实世界(包括地理的时间、空间世界)所实施的计算。

§2.1高性能计算超级计算机的容量与运算速度是地理学60年代“计量革命”时期所用计算机的109倍,是70年代初期“数学模型革命”时期的108倍,比80年代中期“GIS革命”时期高106倍,比基于Pentium处理器的工作站快103倍。正是以这种高性能为基础的地理环境中具有全球性或大区域性时、空演变特征的地理现象(数值天气预报、全球气侯变化、GIS和RS图像解译等)模拟才有可能真正实现。基于高性能计算的模拟成为创新、认知的工具;高性能计算成为与理论、实验具有同样重要性的科学工具,在或是理论模型复杂、甚至尚未建立,或是因费用昂贵而使实验无法进行的情况下,高性能计算成为求解问题的唯一有效手段。

地球模拟§2.1高性能计算高性能计算的实现依赖于迅速发展的并行硬件及其相应的软件系统。前者以CrayT3D及其的新一代产品、并行虚拟计算机为代表的并行超级计算机,后者除一些常规并行编程语言外,地理学家们实施地理计算,更多地可望借助信息通道界面利用各种语言编写的软件编码系统。其首要任务是要研究并实施将现存的向量和串行的地理代码,转换成能为像由512个并行处理器组成的CRAYT3D这样的超级计算机所接受的编码系统。§2.1高性能计算高性能计算以并行高速计算为特征,以多处理器、多计算机或分布式系统为并行计算机的互联形式。在系统的组成上,当今流行的主流并行计算机都是并行机,包括共享存储的对称多处理器、分布存储的大规模并行机和工作站机群。整个高性能并行运算,其应用分为计算密集型、数据密集型和网络密集型3大类。在地理现象研究中,像数值天气预报这样的大数据处理当属计算密集型的高性能计算应用,而像GIS的可视化计算应是数据密集型的高性能计算,至于现在正在研究发展中的3S集成技术和应用中所涉及到的,将是计算、数据和网络3种密集型高性能运算的综合,其真正意义上的实现还需作很大努力。§2.1高性能计算-超级计算机英国,2000年HPC的性能达到0.5个万亿次(TF)。美国HPC性能达到10-100个TF,2001年IBM的WhiteASCI超级计算机配置了8192个IBMPower3处理器和160TB字节的磁盘存储器,能够达到每秒12.3万亿次的运算速度。2002年11月,美国IBM负责开发一款名为“ASCIPurple”的超级计算机。该系统运算速度最高可达每秒100万亿次浮点运算。加速战略计算创新(ASCI)美国克林顿总统在1995年8月11日宣布:“美国决定谋求真正的“零当量”全面禁止试验核武器条约”。通过逼真的建模和模拟计算来取代传统的反复试验的工程处理方法1976年大规模并行计算机,强调处理器数目极多ASICWhite该系统硬件环境由一个IBMRS/6000SP系统构成,含有512个SMP节点。每个节点含有16个处理器(512*16=8192),系统总共有8192个CPU,峰值速度达到12.3Tflops。所有节点都经过内部SP开关网络互连。ASICQ374个32(374×32=11968)路AlphaServer

GS320系统构成,采用英国QSW公司的QsNet开关网互连,带宽最高可达340MB/s。占用5个篮球场的面积(约2000平方米)目前完成两台10Tflops巨型机。ASCIBlueMountain(第28名)系统由48个Origin2000(128CPU的共享存储器多处理机,48×128=6144)构成,采用HIPPI-800组成三维环网完成其间的互连。ASCIBlue-PacificIBM3.89TeraOPsPeak4*5856=23424处理器2.6TerabyteMemory52.5TerabyteStorageASCIRedIntel3.15万亿次,2×9360=187201.2TerabyteMemory12.5TerabyteStorage地球模拟器(向量并行计算机)节点:由8个8Gflops的向量处理器共享16GB高速存储器构成全系统640个节点,专用交叉开关网络互连8×640=5120处理器§2.1高性能计算-超级计算机我国对高性能计算技术的发展给予了高度的重视。相继研制出曙光-1全对称(SMP)并行机、曙光-1000大规模并行处理(MPP)系统和基于机群结构的曙光-1000A及曙光-2000系列百亿次高性能计算机。国防科技大学83年研制成功我国第一台银河-Ⅰ亿次巨型计算机起,先后研制成功银河-Ⅱ十亿次巨型计算机、银河-Ⅲ百亿次巨型计算机和银河-Ⅰ、银河-Ⅱ型全数字仿真计算机、银河小型巨型计算机。曙光和银河系列百亿次并行计算机的商品化,高性能计算机基础研究和关键技术的突破,以及更高性能并行机的相继研制成功,缩小了我国高性能计算技术研究与世界水平的差距,为我国信息化建设和国防现代化提供了强有力的工具。经过50多年的发展,我国在计算技术方面确实有了巨大进步,但是同国际先进水平的差距反而比50多年前增大。“这种差距仍有着继续增加的趋势。”

§2.1高性能计算-超级计算机新华网天津2010年6月1日电(记者周润健)5月31日正式发布的第35届全球超级计算机前500强排行榜上,中国首台实测性能超过千万亿次的高性能计算机曙光“星云”跻身世界超级计算机第二位,我国首台千万亿次高性能计算机“天河一号”位列第七位。据曙光资料,星云系统运算峰值达到每秒3000万亿次(3PFlops),实现Linpack值每秒1271万亿次(1.271PFlops),是中国第一台、世界第三台实现双精度浮点计算超千万次的超级计算机,且其单位耗能所提供的性能达到了4.98亿次/瓦。曙光资料还显示,星云超级计算机采用自主涉及的HPP体系结构,由4640个计算单元组成,采用了高效异构协同计算技术,系统包括了9280颗通用CPU和4640颗专用GPU组成。计算网络采用了单向40GbpsQDRInfiniband技术,核心存储采用了自主涉及的Parastor高速IO系统。§2.1高性能计算但是对GC来说,如果它是为了解决各种困难的、感兴趣的或重要的问题而寻找各种计算方法,或者限制在机器速度能承担的上面来,那么过不久,GC真正的发展限制就会出现。§2.2并行计算§2.2.1什么是并行计算§2.2.2并行计算机的类型§2.2.3并行的方法和分解策略§2.2.4何时使用并行计算§2.2.5怎样使用并行编程§2.2.6并行计算的体系结构§2.2.7网络并行系统§2.2.8并行算法和并行效率评测§2.2.9地理学中的超级计算:巨大的挑战§2.2.10并行可视计算§2.2并行计算

计算机系统性能增长的根本因素有两个:一个是微电子技术,另一个是计算机体系结构技术。制造大规模集成电路的工艺在实验室已经达到0.3微米,但是,极限无疑是存在的,因为晶体管的形体尺寸最终受到氢原子(最小的原子)直径尺寸的限制,同时电信号的传输速度终将受到光速(宇宙最高速度)的限制。因而要想进一步提高计算机的运算速度和性能必须从体系结构技术上找出路,由此产生了并行处理技术。

§2.2并行计算

并行处理技术已成为计算机界最热门研究课题之一。高性能计算机是国家国力和科技水平的标志。像中长期天气预报,全球气候变化,地球物理勘探,空气动力学模拟,原子、粒子结构探索,生物大分子结构解释,大气污染研究,新飞机和武器系统的研制,新材料的设计和新药剂的研制等学科和领域,都迫切要求计算机有每秒千亿次万亿次甚至更高的速度。唯有大规模并行处理系统(MPP系统)才可能实现这一要求。分布式可扩展计算并行由于其良好的可扩展性和可移植性,正逐渐成为并行计算发展的主流。现在科学家正用并行计算构建一个虚拟太空(Nature,2005),预计2010年能完成。§2.2并行计算

本节将讨论并行计算技术(也称并行处理),首先讨论什么是并行计算,地理学者为什么关心地理计算,并简要回顾超级计算的历史以及并行计算机的出现,然后论述并行计算的优缺点,描述如何进行并行计算。§2.2.1什么是并行计算

最简单的描述并行就是,为加速完成一个费时计算的任务而在同一时间采用多个处理器或处理单元。这和单处理器多线程是不同的概念,单处理器多线程是将处理器的时间进行分段来处理多个任务。同时这里还要和特殊的单处理器并行工作分开(如图形控制和磁盘管理)。

§2.2.1什么是并行计算

Almasi给出这样的定义:并行处理系统是一个由若干处理单元构成的集合,集合中的处理单元能够互相通信并互相协同以快速解算大题目。这是一个准确的定义,它刻画了并行处理系统的基本特征——由若干个能互相通信的处理单元构成的处理机集合,和基本功能——互相协同以快速解算大题目;这又是一个“朦胧”的定义,对于并行处理系统的诸要素,它没有给出明确的界定。§2.2.1什么是并行计算

对各种任务其并行处理的适应性也不同。有些任务很容易进行并行处理。如,假设砌墙盖房一个人的话需要16天,那么四个人同时进行的话只需4天。加速度是用来描述并行处理效果的,可以定义为一个处理器使用的时间除以N个处理器运行的时间,加速度值越接近N说明并行处理性能越好。§2.2.1并行计算--并行性

并行性是问题中具有可以同时进行运算或操作的特性。在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不同的工作,它们在时间上能互相重叠,都体现了并行性。并行性实际上包含了同时性和并发性二重含义。同时性指的是两个或多个事件在同一时刻发生;并发性指的是两个或多个事件在同一时间间隔内发生。§2.2.1并行计算--并行性

时间重叠是在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠的使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。资源重复是在并行性概念中引入空间因素。通过重复设置硬件资源来提高可靠性或并行性能。资源共享是利用软件的方法让多个用户按一定时间顺序轮流地使用同一套资源,包括CPU、主存、外设等硬件资源和软件、信息资源,以提高其利用率,从而提高整个系统的性能。例如,多道程序分时系统等。§2.2.2并行计算机的类型

Flynn(1972)基于指令程序和数据适应的不同把计算机分为4类。

单指令流Singleinstructionstream多指令流Multipleinstructionstream单数据流SinglestreamofdataSISDMISD多数据流MultiplesteamofdataSIMDMIMD§2.2.2并行计算机的类型

SISD处理器是一个时间对一个数据块进行一个指令,典型的vonNeuman计算机就是这样的处理器。它有两个非常重要的特征:串行和确定性。因这种操作按顺序进行,易于跟踪和理解。MISD能对某数据块同时进行多指令,很明显它在现实中没有应用,是个不存在的类型。§2.2.2并行计算机的类型

SIMD机器具有一系列前后衔接,步调一致的处理器,同时对不同的数据块进行相同的操作,但在任何时间点上只有一个指令在执行。该类型计算机的主要特征是:同步的、确定的、指令或操作并行的。这种类型的机器局限于一定类型的任务,对许多实际的任务还不实用。阵列处理机、流水线处理机、关联处理机等均属于该类计算机。MIMD机器能同时对不同的数据块进行不同的指令操作。能让程序员更灵活地编写程序,使算法适应机器来完成各种任务。该类型计算机的特征是:指令可同步或异步、指令的执行可确定的和不确定的、适合块、回路和子程序级的并行。多处理机和多计算机都属于此类计算机。

§2.2.2并行计算机的类型

并行机器也可根据内存使用情况分为共享内存并行和分布式内存并行。在共享内存并行机中,所有的处理器都连通到机器的同一内存上,这可能产生问题:如果多个处理器多想对同一变量同时进行赋值,第一个能成功还是最后一个,该如何是好?即使能让你写代码来处理这种争夺问题的排序,但因不同的处理器的不同运行,让你也很难来跟踪这个问题。同时因不同处理器都试图读写内存,也使内存的开辟、分配、管理乱为一团。

ProcessorProcessorProcessorProcessorMemory§2.2.2并行计算机的类型

分布式内存并行机器中就克服了上述问题,它由处理单元构成,每个处理单元包括一个处理器和一定的内存,每个处理器进能处理与之关联的内存,另外一个处理器需要它的数据值可以通过明确的消息来处理。现在计算机已经可以通过虚拟内存来达到分布式内存。ProcessorMemoryProcessorMemoryProcessorMemoryProcessorMemoryProcessorMemoryProcessorMemory§2.2.3并行的方法和分解策略

在并行计算中,计算是在多个数据块上同时进行,或者问题是通过多个处理机同时处理解决。根据并行的体系不同并行可以在不同的层次上进行。主要有三种类型的并行:任务或事件并行、数据或几何并行、算法或过程并行。过程并行是处理机有特殊的任务并且数据块要按一定的顺序的通过,更简单的理解就是串行后的并行。

数据并行

数据并行把要处理的数据集做合理划分,分配到可用的处理器上,各处理器并行执行各自的数据。

数据并行有基于记录(Record)的数据并行和基于属性(Attribute)的数据并行两种主要途径。

任务并行

任务并行是把解决问题的整个过程分成若干个子过程,将它们分派到不同的处理器上并行执行。两种途径。第一种基于分而治之策略,这种策略首先对任务进行划分,然后分派子任务到指定的处理器。第二种基于任务队列,就是动态的把子任务分派到目前可用的处理器上。对于任务并行,所有的数据都是共享的,任何处理器都可以操作它们。所以,无论采用任务并行的哪种方式,都要仔细考虑负载平衡的问题。任务并行的成功执行在很大程度上依赖于对应数据集的结构。

数据并行与任务并行相结合

当任务并行和数据并行结合起来考虑时,一种有效的方法就是先对数据合理划分,把数据子集分配到各个处理器上。然后采用基于划分和征用策略的任务并行方法,根据各个处理器上数据集的结构特点,把子任务分配到指定的处理器上。最后,当每个处理器上的任务都执行完毕后,再合并执行结果。这样做的好处就是,只在任务执行的前后进行数据交换,任务可以不被打断的执行下去,大大降低了任务执行过程中进行同步和通信的开销。因此在进行并行处理时应考虑以下一些问题:1)整个体系结构的可伸缩性;

2)数据的分割;3)任务的划分;4)通信花费;5)结果集成。

分解策略

完全并行分解、域分解和控制分解完全分解将问题分解成过程集合,它只需要附加初始化各过程和收集结果的通信负载。域分解是将构成问题的目标或数据按一定的大小或粒度分配到每个处理机上,以达到高度的并发。控制分解关注于对应用控制的流程,主要有两种方法:功能分解和管理员/工人分解。功能分解是将问题分解成操作集,其中需要建立各处理机间的通信。管理员/工人分解使用一个主处理机来控制,动态的控制各处理机(工人),这种动态的任务处理更有效。

§2.2.4何时使用并行计算

何时使用用并行计算能使我们节省时间,而不是冒然地就使用它。比如:代码的运行频率是多少?运行时间多久?如果说代码运行重复度不高、时间不久那就根本别想用并行处理,因为采用并行处理时的费时可能比顺序代码要慢上2倍还要多。如果该程序需要运行一两次,且运行时间达一两周,那它通常仍比采用并行处理要快。如果你的程序要运行一月或更久,那么并行处理可以考虑;如果该模型要运行成千上万次,那并行计算就是必需的了。同时你还要考虑并行处理的规模,如果问题的核心很小且依赖前期的结果,则并行处理就不合适。如果考虑上述各问题,那你就可以使用并行技术,当然你还要考虑并行计算的类别、语言选择问题等等。

§2.2.5怎样使用并行编程

要进行并行计算那么就需要并行设备——并行计算机。如果没有,也可以通过软件(如PVM)使多个工作站连起来形成虚拟并行计算机,当然它没有真正的并行计算机快,但比较便宜,并且可以给你足够的时间来完善和发展你的并行软件。

2.2.6并行计算的体系结构

并行体系结构是并行计算的基础,各种并行程序设计机智也都是针对不同的并行体系结构的。并行体系结构大致可分为多处理共享内存存储并行机(SMP)、多处理分布共享存储并行机(DSM)、大规模并行机(MPP)和机群,他们都属于多指令多数据流(MIMD)机器。并行计算体系结构有许多种,其中最具代表性的四种体系结构是:SMP、MPP、DSM以及COW这四种体系结构的结构特征

系统特点和应用领域都存在较大的差异。

SMP系统

(SymmeticMulti-processor)多处理系统是一种多处理机系统,在结构上它一般是用总线将多个处理机连接而成的。在这种系统中硬件和软件都是对称的,在硬件方面每一个CPU的能力完全相等,它们共享主存,对存储器的操作是对称的,I/O操作也是对称的;在系统软件方面(主要是操作系统),各处理机没有主次之分,共享存储器中只有一份操作系统代码,每个处理器可以同时执行操作系统的核心代码。SMP(对称多处理机)系统采用商品化微处理器,带有片内和片外高速缓存,这些处理器通过高速监听总线连接到共享存储器,在某些SMP中,除了总线外还使用了纵横交叉开关,下图是SMP的体系结构。

SMPSMP系统相对于非对称对处理机系统有更高的并行性。但是SMP系统的最大局限就是它的扩展性,使用集中式共享存储器和总线或纵横交叉开关会限制处理器数量上的扩充,SMP系统一旦建成就再难予以扩展。

SMP这里需要特别指出的是SMP本身并不意味着并行处理,许多SMP的应用并不采用并行处理技术,其上也不运行任何并行程序,而只是利用其所具有的对称多处理方式获得系统对用户作业的大吞吐量和I/O的大吞吐量,很多将SMP系统作为服务器的应用都属于这种情况。

MPP系统

(MassivelyParallelProcessor)大规模并行机(MPP)是一种由大量处理机构成的并行处理系统,一般认为MPP系统中处理单元的数目应当在100以上,或能支持100个以上的结点并行。所有的MPP系统都使用物理分布的主存,并且越来越多的MPP正使用分布式I/O。每个结点有一个或多个处理器和高速缓存(P/C)、一个本地主存、以及数量不等的磁盘。结点内使用总线或是更高带宽的交叉网络开关、连接处理器、主存和I/O设备。每个结点通过网络接口电路与网络相连,结点间是紧密耦合的。

MPPMPP主要有三部分组成:

1)结点结构。

2)高速互连网络。

3)并行程序开发环境。DSM系统

分布式共享存储器系统(DistributedShareMemory,DSM)主要有两种设计方法。第一种设计方法是采用高速缓存目录用来支持分布式一致高速缓存。另外一种设计方法是利用特殊的硬件和软件扩展实现DSM的。在DSM中存储器是物理分布在不同结点中的,但是系统的硬件和软件为用户建立了一个单地址空间的幻觉。DSM机群Clusterofworkstation,COW对机群(Cluster)有许多称呼,如计算机群、工作站群(COW)、个人工作站网络(NOW)等。群机系统是将一组工作站、服务器、小型机甚至巨型机或MPP系统用互连网络(目前一般用局域网)连在一起,构成并行处理系统。因为通常用工作站实现,因此也称为工作站群机系统。COW是全体计算机(结点)的集合,这些计算机由高性能网络或局域网(LAN)物理互连。一般情况下,每个结点是一台SMP服务器、一台工作站或是一台PC计算机。除了满足用户单独使用某个结点完成协定的任务之外,所有COW的结点必须能够一起集体工作,如同一个单一集成的计算资源。

机群COWCOW的每个结点是一台完整的计算机,有自己的处理器、存储器、磁盘、高速缓存、I/O适配器。每个结点上驻留有完整、标准的操作系统。每个结点可以有多个处理器,但是只有一份操作系统的映像。网络接口与结点中的I/O总线是松藕合相连的。结点之间通常使用商品化网络互连,并且可以使用标准的网络通信协议(如TCP/IP)。整个COW体现的是一个单一的系统映像,这可以通过单一系统映像基础设施来完成。机群系统主要由以下一些重要部件组成:多个高性能计算机(工作站、PC或SMP);优秀的操作系统(分层或基于微内核);高性能网络/开关(如千兆位以太网);网络接口卡(NIC);快速通信协议和服务(如活动消息和快速消息);机群中间件(单一映象系统和系统可用性基础);并行编程环境和工具(如编译器、PVM、MPI);应用程序。

机群COW注:OS-操作系统;P/C-处理器和高速缓存;M-存储器;Bridge-桥关;LD-本地磁盘;IOB-I/O总线;NIC-网络接口电路;MB-存储器总线

§2.2.7网络并行系统(NetworkComputing,NC)

继传统Internet与万维网之后,网络计算被视作Internet的第三次浪潮。

对某些并行计算和高性能计算问题,网络计算完全可以取代巨型并行机,并在下面三个方面具有优势:1)在保证性能与并行机相当的情况下,费用较小;2)工作站可升级,便于提高系统性能;3)允许部分工作站失败,可靠性上更高。

§2.2.7网络并行系统网络并行计算需要网络并行化环境,在这个环境下构建一种并行虚拟机,虚拟机的成员可以是网络连接的所有机器资源,也可以只使用其中的单机。依据用户不同的要求,以及不同的并行计算机系统,决定使用不同的并行编程环境。在不同的编程环境下,应用程序会有不同。而可移植性好的并行编程环境会做到,用户在该环境下写的程序不必作大的修改,就能够在其他可移植的编程环境下运行。目前,国内外在网络并行计算的编程环境方面己经做了大量研究,并行程序开发环境主要包括并行语言及其编译系统、程序优化重构工具、图形可视化工具、编辑工具及智能性工具等,较流行的并行程序开发环境有PVM、MPI、Express、Linda等。

§2.2.7网络并行系统网络并行计算则是以网络连接工作节点,即通过网络的数据传输完成CPU的耦合。可以说这个分支在某种意义上说是继承了大型机中央处理方式卓越的性能以及稳定性等优越性的同时又吸收了分布式处理技术中网络和计算机的组合优势。换句话说,网络并行计算技术是用廉价的高速网络通信技术取代了昂贵的多CPU技术并具有高性能的同时又获得了良好的可扩展性和灵活性,这些因素都使得网络并行计算技术在高性能计算领域倍受关注。

§2.2.7网络并行系统网络并行计算环境指的是由底层结构、网络并行计算系统两大模块构成的一个计算环境。首先,整个计算环境的基础是由局域网络和操作系统构成的底层结构。操作系统可以是任何一种多任务的操作系统。其次,在底层结构的上一层是网络并行计算系统,这一层是整个计算环境的核心,它赋予该环境并行计算能力,该系统的功能是屏蔽底层平台相关细节并向上一层的用户并行程序提供并行计算服务。

PVMPVM(ParallelVirtualMachine)的开发最早开始于1989年夏天,目前它的开发队伍包括美国橡树岭国家实验室,Tennessee大学等单位,并得到美国能源部、国家科学基金以及田纳西州的资助。PVM是一种计算机网络的并行实验系统,具有适应性强的特点,能够在多种流行的工作站机群及MPP机上运行。PVM系统通过计算机网络将计算机连接成一个逻辑上虚拟的并行计算机系统,PVM可视为一个工作站机群上的并行程序工作环境,提供支持并行计算机的并行程序函数库。PVM的主要目标是:提供一个异构型应用开发模型和相联编程框架,以实现应用程序子任务向机器的最佳映射,并提供充分的异构型跟踪调试、可视化、监控手段。

MPI(MessagePassingInterface)消息传递并行编程环境

(MPI)是目前国际上最流行、可移植性和可扩展性很好的并行程序设计平台,并被当前流行的所有高性能并行机所支持。MPI由MPI论坛开发,该论坛是一个有广泛基础的由并行计算机供应商、库编写者以及应用专家组成的联盟。1992年在美国成立了MPI委员会,由欧美的40个主要机构60名代表组成。MPI是一个功能强大且较为完整的MPI并行库规范。通过提供一个消息传递库的标准来实现它的可移植性。MPI用与具体编程语言无关的形式来说明库。并提供了与Fortran和C语言的捆绑,并提供一套工具用于测试和改善并行程序的性能。MPI的目标是要开发一个广泛用于编写消息传递程序的标准,要求用户界面实用、可移植、高效、灵活,同时它具有完备的异步通信功能和对COW工作站群并行机的内在适用性。能用于各类并行机,尤其适用于分布式存储的并行机。用MPI编写的应用程序经过重新编译,可以在任何供应商提供的PC机、工作站、MPP上相互移植。MPI已经在IBMPC机、UNIX工作站和主要并行计算机上得到实现。尤其是它可以应用于WindowsNT,并与C语言和Fortran77有着上百个函数调用接口,使得借助于普通网络就能组建“个人超级并行计算机”。

PVM与MPI的比较

PVM和MPI的设计目的与侧重点是不同的,PVM的研制工作是围绕“虚拟机”的中心思想展开的,可移植性比速度得到了更多的重视,可伸缩性、容错能力和异构性也是研究的重点。而MPI旨在创建一种标准的消息传递界面,速度是MPI设计中的焦点问题,因此在大型并行机系统MPP上,MPI被认为要比PVM速度快。总体上MPI程序可以在任何单机上运行,并在此意义上满足可移植性,而PVM程序可以在不同组成的一群机器之间进行移植(互协性)。MPI缺少较大的灵活性的原因是设计时优先考虑了速度。PVM则牺牲了一些速度而换取了灵活性的增加。PVM在资源与任务管理方面有一个较丰富的资源控制函数集可供使用。PVM可根据用户的需要,随时增加删除节点机,既可从虚拟机命令行也可从用户的应用程序中进行。MPI就缺少这样的动态特征,MPI标准不提供资源抽象,它是由每个MPI的具体实现和用户自己去制定资源管理的方案。§2.2.8并行算法和并行效率评测

并行算法是适合于在各种并行机上求解问题和处理数据的算法。其严格定义为:一些可同时执行的进程集合,这些进程互相作用、协调动作,从而达到对给定问题的求解。高效的并行算法是设计高质量并行程序的基础。并行算法主要来源于两个方面:一是将串行算法改写成并行算法,二是从数学模型出发直接构造并行算法。前者较容易实现,但由于受串行构架的限制,难以取得较高并行度的算法。后者实现有一定难度,但深入研究将会使并行算法的设计有所突破,现已形成了一些理论和技术:NC理沦、并行复杂度理论、下界技术、平衡树法、倍增技术、分治策略、切分原理、流水线技术及对称技术等。

§2.2.9地理学中的超级计算:巨大的挑战

地理的多样性给高性能计算带来了发挥的空间。

高性能计算和并行计算可为GIS提供多种服务,主要体现两个方面:1)地理空间信息的存储和获取服务,指存储空间信息到并行数据库、数据结构或格式的转换等。2)地理分析和计算。3)实时可视化。现在的可视化应用(如飞行模拟、分布式交互模拟DIS、虚拟现实)都需要计算机提供高性能的数据处理能力,这些应用都有性能和反应时间限制,而GIS的并行化能有效地解决这些问题,其中最合适的是SMP。§2.2.9地理学中的超级计算:巨大的挑战并行技术给地理计算带来两个好处:为我们表达、处理、分析和揭示地理空间及空间关系提供了新的方法和技术手段;同时大大提高地理计算的速度。目前来说,主要有两个方面阻碍并行GIS的发展,一是基于internet的服务导向和基础设施还不够,HPC还不可接近,GIS和数据缺少互操作,OGC的开发网格服务体系(OGSA)正将WEB服务和网格服务聚集在一起,希望不久的将来能为HPC提出新的机遇。二是基础性的问题,也就是创建并行GIS不是件容易的事情,还缺乏有效的算法、应用库和工具。

§2.2.10并行可视计算

在实际应用时采用并行LOS可视算法来确定目标的可视度,这些目标可以是地形上的高程点、建筑物、道路线等。这也是有关站点选址规划时在进行可视影响和分析时要考虑的。由于越来越多的海量空间数据可用,特别是高精度的DEM数据,对并行处理的要求逐渐增加。可视分析

并行可视计算并行可视处理的关键是定义应用问题和每个处理机/器的工作量,这样系统才能在较优化的性能下运行。对实行可视分析并行群的构建,可采用100MhzPentium的PC机,NT系统,10M网络,采用PVM和C编程。PVM提供了任务管理。并行方法上采用管理员/工人的策略,主结点负责创建其他结点和通信,包括初始化、分配任务和收集结果。这种模型比较简单,但其有个固有的缺点,就是和主结点的通信会存在瓶颈,但可以通过增加次主结点来改善此问题。并行可视计算在数据管理上,最简单的形式是所有的结点都获取整个DEM或其拷贝,或者通过等级结构或虚拟共享内存来处理。对可视分析来说,需要所有的结点都获得整个DEM,其他的管理还包括发送、配置参数和收集结果。

§2.3网络计算

§2.3.1网络计算的含义§2.3.2网络计算机§2.3.3网络计算结构模式:集中式和分布式§2.3.4网络计算的特点和优点§2.3.5网格计算§2.3.6网络计算与GIS§2.3.1网络计算的含义“网络计算”实际上是指以网络为中心的计算,或是基于网络的计算,它将是21世纪初科学计算和开发信息应用系统的主要趋势。我们也可以把现阶段的“网络计算”在技术层次上作这样的定义:把计算功能和负荷合理地分配到联网的客户机和服务器上,这些开放的联网计算机应具有的功能是其用户界面应该是web/browser型的,应用软件的内容应该是用HTML或XML编写的,在运行系统中具有Java和CORBA的功能。实现网络计算最必需的支撑技术就是建立与平台无关的、以网络为中心的计算环境。

§2.3.2网络计算机

1995年,ORACLE公司提出网络计算机(networkcomputer)的概念,引起了极大反向。NC没有硬盘、光驱、软驱,所有数据存储运算都通过网络继续,并且有人预言“NC将无处不在”,但事实的发展却大出他们意外,主要由于标准未成熟、网络速度的问题。随着相关技术的不断发展,网络计算机概念也在不断变化,网络计算机技术也逐步成熟,NC再次受到人们的高度重视。主要原因有:网络计算的发展;Linux操作系统流行并为人们所接受;网络安全重视度增加。网络计算机主要有三个类型:真NC,完全符合NC规范,非wintel结构;类NC,客户端采用windows终端;反NC,也称NETPC,是Microsoft和Intel对抗NC的产品,该计算机有硬盘,但整机是密封的。

§2.3.3结构模式:集中式和分布式

集中式结构的优点是计算环境和资源都集中于同一部机器内,在程序开发和使用管理上很简单,但它的购置、安装和维护费用高;多用户分享同一资源时服务质量受影响;风险大,服务器死机整体瘫痪;扩展性差。主要有主机/终端、工作站/文件服务器两种类型。分布性主要指数据分布和计算分布,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论