(计算机软件与理论专业论文)java在分布式并行计算中的应用javaite.pdf_第1页
(计算机软件与理论专业论文)java在分布式并行计算中的应用javaite.pdf_第2页
(计算机软件与理论专业论文)java在分布式并行计算中的应用javaite.pdf_第3页
(计算机软件与理论专业论文)java在分布式并行计算中的应用javaite.pdf_第4页
(计算机软件与理论专业论文)java在分布式并行计算中的应用javaite.pdf_第5页
已阅读5页,还剩93页未读 继续免费阅读

(计算机软件与理论专业论文)java在分布式并行计算中的应用javaite.pdf.pdf 免费下载

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

文档简介

j a v a 在分布式并行计算中的应用j a v a i t e 摘要 学科专业:计算机软件与理论 论文题目: y 3 6 弧 j a v a 在分布式并行计算中的应用一j a v a i t e 硕上生:张黎( 9 8 s 6 3 0 )导师:孙世新教授 ? i n t e r n e t 网上现在已经具有海量的计算机资源,对于大量的耗 、 时甚多的超级计算任务,如果能够利用这些现有资源进行分布式并 行处理,无疑可以达到节省时间,节省人力物力的好处。这项工作 无疑具有重要的实用意义。实现这一设想需解决的重大障碍是:1 ) ,域的分布式环境。2 ) 各具体计算结点的硬件、软件异构性。利 用j a v a 天生的诸多优点( 如分布式、结构中立、町移植) 能够突 破这些重大障碍。使j a v a 成为向异构互联环境添加强大计算能力 、 的理想工具。 本文跟踪计算机科学技术的最新发展动态,把握本教研室的主 要研究方向,尝试将j a v a 语言与p v m ( 当前最为成熟和流行的分 布式并行计算环境) 相结合,以形成一个实验性的j a v a 并行虚拟 机系统一j a v a i t e 。j a v a i t e 将标准p v m 系统的核心功能进行归 纳,封装为五个基础的j a v a 类,在这五个类中以p v m d a e m o n 为联 系纽带,p v m e n v i r o n m e n t 为中心,构建了j a v a i t e 的最基本的系 j a v a 在分布式并行计算中的应用j a v a i t e 统框架,并且在此基础卜进行了一些实际的应用研究( 矩阵乘法) 和性能测试。捌试结果表明:j a v a i t e 实验性系统如果满足适合的 粗计算任务粒度和适宜的通信延迟要求,就能获得较为满意的性能 表现。将j a v a 应用在分布式并行计算这一领域必定具有光明的前 景7 【关键词】 互联网、分布式系统、并行计算、行虚拟机 j a v a 在分布式并行计算中的应用一j a v a i t e a b s t r a c t s u b j e ct :c o m p u t e rs o f t w a r ea n dt h e o r y t i t l e t h ea p p l i c a t i o ni nd i s t r i b u t e dp a r a l l e l c o m p u t i n gw i t hj a v a - j a v a i t e m a s t e r :z h a n g l i ( 9 8 s 6 3 0 ) d i r e c t o r :p r o f e s s o rs u n s h i x i n g n o w ,t h e r ea r et a r g eq u a n t i t i e so fc o m p u t e rr e s o u r c e si n i n t e r n e t i nt h eo t h e rh a n d ,w ef a c ew i t hal a r g ea m o u n to f t i m e c o n s u m i n gc o m p u t i n g t a s k s i fw ec a nu t i l i z et h e s e e x i s t i n gc o m p u t e r r e s o u r c e st od e a lw i t ht h e s ec o m p u t i n g t a s k si nd i s t r i b u t e dp a r a ll e lw a y ,w ec a ns a v et i m ea n dm o n e y t o g e t h e r u n d o u b t e d l y t h i sw o r kh a s i m p o r t a n tp r a c t i c a l s i g n i f i c a n c e t o r e a l i z et h ea s s u m et h e r ea r es o m eg r e a t o b s t a c l e st os o l v e :1 ) w i d ed i s t r i b u t e de n v i r o n m e n t 2 ) t h e h a r d w a r ea n ds o f t w a r ed if f e r e n c eo fe a c hc o m p u t i n gn o d e t o u tiliz et h en a t u r a l n u m e r o u sm e r ito fj a v a ( s u c ha s d i s t r i b u t e d 、a r c h i t e c t u r en e u t r a l 、p o r t a b l e ) c a nb r e a k s t h r o u g ht h e s eo b s t a c l e s t oa d ds t r o n gc o m p u t i n gp o w e ri n t o i s o m e ri n t e r l i n k e de n v i r o n m e n t j a v a 在分布式并行计算中的应j 】一j a v a i t e t h i s t h e s i sf 0 11 0 w sn e w e r d e v e l o p m e n t a l c o n d i t i o no f c o m p u t e r s c i e r l c ea n d t e c h n o l o g y ,h 0 1 d s m a i nr e s e a r c h d i r e c t i o no fm yl a b o r a t o r y ,t r i e st oc o m b i n ej a v aw it hp v m ( t h et n o s tm a t u r ea n dp o p u l a rd is t r i b u t e dp a r a l1 e 1c o m p u t i n g e n v i r o n m e n t ) ,a n d f o r m s u p ak i n do f e x p e r i m e n t a l j a v a p a r a l l e lv ir t u a lr o a c h i n es y s t e m j a v a i t e j a v a i t es u m m a r i z e s c e n t r a lf u n c t i o no ft h es t a n d a r dp v m s y s t e m i n t of i v e f u n d a m e n t e lc l a s s e s 1 nt h e f i v ec l a s s e sp v 佃a e m o nist h e r e l a ti o nli g a m e n ta n dp v m e n v ir o n m e n tist h ec o r e t h e y c o n s t r u c tt h em o s tb a s ic s y s t e mf r a m eo fj a v a i t e i n t h is f o u n d a t i o nim a k es o m ea p p l i e dr e s e a r c h ( m a t r i xm u l t i p ly ) a n d p e r f o r m a n c et e s t t h et e s tr e s u l ts h o * st h a tj a v a it ec a ng a i n b e t t o t p e r f o r m a n c e i nt h ec o n d i t i o no fs u it a b l ec o a r s e c o m p u t i n g t a s k g r a n u l a r i t y a n dw e l lc o m m u n i c a t i o n d e l a y r e s i s t a n c e t h et e a mo f a p p l y i n gj a v a t od is t r i b u t e d p a r a l le 1c o m p u t i n gc e r t a i n l yh a s1 u c i f e r o u so h t l o o k k e y w o r d s 】 i n t e r n e t ,d i s t r i b u t e ds y s t e m ,p a r a l l e lc o m p u t i n g 、j a v a , p a r a li e lv i r t u a lm a c h i n e ( p v 静 ! ! 竺垄坌壹墓堑笪生竺主塑窒星:! ! ! 坐一 第一章、研究背景及国内外最新动态 1 1 科学与工程计算程序中的并行性 为了理解i n t e r n e t 和j a v a 任大规模科学与工程计算中的应 用,我们把程序中的并行性分为4 类: 熬握羞筮娃:分子动力学计算、网格上的p d e 计算和m o n t e c a r l o 算法等都具有内在的数据并行性。这类算法由于要处理大 量的数据,通常需要很长的计算时间,其并行度也很大,如一个 l o o x l o o x l 0 0 的网格就具有上百万的并行度。- 功篮差复性:包括典型的线程并行性,如计算与通信重叠、i 0 与计算并行或多个计算任务之间的并行。在大多数应用中存在着 这类并行性。并行的粒度为中等,通常没有很大的并行度。这类并 行性通常在s 肿系统上实现。 过筮羞短选:对象并行性可能有多种含义,但本文只考虑在离 散事件模拟问题中的对象并行性。如在军事模拟软件中的对象包 括“车辆”、“武器”、“士兵”等。对象并行与数据并行类似,不 同之处在于对象并行的基本单位“对象”通常比较大。军事战役 可以描述成战斗单元( 坦克、士兵) 之间的交互,而不是原子之 第9 页 j a v a ! 上,j ,式珂0 j :。算中的应用一j a v a i t e 问的桐互作用或有限元f 曙闳毡 逝坦b ! ! b ! 鲤盥羞堑蛙:在图像处理系统中,通雷包括多个 分离的滤镜程序。某些软件系统,如a v s 和k h o r o s ,可以把这 类模块按用户需求连接起来,完成特定的功能。因此,个1 5 i l e t a p r o b l e m 是由一系列单元连接而成,而每个单元本身就是一个完 整的问题。在制业中,可以见到很多l i | e t a o b l e m 的例子。如 制造飞机包括气流模拟、控制、制造过程、声学、定价和结构分 析模拟等多个问题。据估计,设计一架完整的飞机约需要1 万个 、 独立的程序。 m e t ap r o b l e m 通常具有中等程度的并行性,与功能并行性相 比。i d e t ap r o b l e m s 的并行单元具有更大的粒度和更大的独立性, 因此适用于不同的计算机体系结构。中粒度的功能并行程序需要 低延时和高带宽通信,通常在共享存储器系统上实现。m e t ap r o b l e m 则可以在分布环境( i n t e r n e t ) 上实现。 1 2j a v a j a v a 语言是由s u nm i c r o s y s t e m s 公司经过五年时问设计出 来的,最后于1 9 9 6 年1 月第一次公布。最初是为了能用嵌入的 微机来控制简单的家庭设备而创建一种语言。因此,设计者们从 c + + 的面向对象的概念出发,并对它作了简化,删去了某些特点, 第l o 页 j a 在分布式并行 算中的应用- j a v a i t e 比如容易导致严重编程错误的指针。 j a v a 语言的最大优点是平台无关性,可以在不同的机器平台 上通过j a v a 虚拟机解释执行相同的j a v a 字节码。j a v a 字节码 的伪编译特性又使得其执行效率高于基于源程序级的解释程序。 j a v a 在开发的过程中就已经显而易见地成为在i n t e r n e t 上使用 的语言,它的普及性以显著的速率增长。j a v a 现在能在几乎任何 工作站匕运行。 1 3 网络计算 科学技术的发展对计算机提出了越来越多的要求。某些应用领 域需要每秒运算l 万亿次甚至更快的高性能计算机。例如,新型 药物设计、生物分子结构、催化剂和酶的性质、人类基因、新材 料性质、湍流、海洋回流、核聚变能源系统设计、核爆炸模拟、 量子色动力学、密码学、全球天气预报、灾害性风暴预报、地震 预测、石油勘探中的三维地震资料处理等。 自计算机问世以来,一直遵循着循序串行的运算方法,为了提高 计算机的速度,人们通过提高时钟频率减少指令的执行时间,但这 总耍有一个局限。因此,c r a y 和他的设计组开拓了并行运算的研 究,使多个向量处理机和一个中央存储器连接在起,构成了超级 计算机。商性能处理器的出现和价格的逐渐降低,使大规模并行 第1 】页 望翌兰竺! :盛堑笪生! 宝堕壁里:! ! ! ! 生 处理( 艘p ) 系统的,本系结幸勾具有一定的发展潜力。但真厍使御p 的 潜力得到充分的发挥,还需在系统设计和应用设计上找到有效驱动 大量处理器协同工作的原理与途径。 目前,并行计算体系结构有多种形式,如并行向量系统,基于 共享存储的多处理机系统,基于分布存储的大规模并行处理系统, 另外还有工作站集群系统。其工作方式,一是以分布存储操作数 为基础的字并行处理;二是以分布运算器为基础的块或段并行处 理;三是潜在的以若干实时模数转换输入数据为基础的并行处理。 随着网络计算时代的来临,以计算机网络为通信媒体的协同工 作系统( 亦称群件) 受到了商业界的青睐和学术界的高度重视。 而近两年来,随着i n t e r n e t 如火如茶的发展和j a v a 技术的迅 速成长,群件正逐步向着基于i n t e r n e t 和j a v a 的网上协作技 术方向发展。随着计算机网络技术的迅速发展和i n t e r n e t 的广 泛应用,网络计算己成为计算机理论及应用的一个极为重要的发 展方向。 从技术发展和应用的角度看,过去构造高性能计算系统只有向 量并行处理一种方法,如1 9 7 5 年的向量处理机c r a y l ,其主要 特点是高度流水线和向量处理。后来,出现了大规模并行处理m p p 系统。最近几年,工作站的性能迅速提高,价格不断下降。随着 基于交换的 t m 网络技术的不断完善,基于网络的多计算机结构 第1 2 页 ! ! ! 奎坌塑墨茎笪生蔓主墼窒旦竺竺巳一 成为构造并行处理系统的一个新方向。这类系统已达到了可以和 传统的紧耦合多计算机系统相媲美的高性能,同时又具有无可比 拟的灵活性。 另一方面,计算机网络已经向开放式的异构网络发展。因此, 加强对基于异构网络的并行分布处理的研究是把握国际发展潮流 的关键和一个基本要求。 最近,j a v a 已发展成为应用于i n t e r n e t i n t r a n e t 异构网 络环境的最热门的程序设计语言,但目前它的应用还局限于w 孵浏 览器。能否扩充j a v a 的功能,充分利用i n t e r n e t 这一已经存 在并高速发展的异构网络进行并行处理呢? 另外,在现代社会和 信息时代,人们的工作方式具有群体性、分布性、交互性和协同 性。 因此,充分发挥j a v a 平台和i n t e r n e t i n t r a n e t 计算模 型的优势,在i n t e r n e t i n t r a n e t 环境中建立基于j a v a 的面 向对象分布并行处理系统和协同工作的协作工具,具有深远的现实 意义。 1 4j a v a 运行时系统对科学计算的支持 随着i n t e r n e t 的发展与进步,网络已经成为分布计算最重要 第1 3 页 ! ! 翌兰立塑蔓堑堑生簦! 箜窒里:璺翌兰一 的基础,因为它连接_ ,大量、丰寤、易访问的计算资源。同时,j a v a 在开发网络软件及对并行和分布计算的支持方面,扮演了重要的 角色。在j a v a 用于科学计算方面,首先要讨论两个问题:首先, 如何把现有的计算程序库与j a v a 结合起来;其次,j a v a 的新特 性是否给我们提供解决以前难以解决的问题的机会。 1 4 1 使用连续编译实现并行计算 由于j a v a 是一种解释执行的语言,因此可以采用连续编译技 术,实现自动支持的并行计算。采用j a v a 编写的通用程序类, 通过在运行时刻使用连续编译技术,实现在分布式环境下对稀疏 矩阵并行计算的自动支持。 j a v a 语言和环境提供了一个动态测试分析和转化的机会。j a v a 语言在运行时允许根据需要调入和运行代码,并根据需要创建新 的线程。这些语言特征使在程序运行时对程序进行描述及性能分 析成为可能,而且分析结果能够立即被用于下一步的执行。这个 运行时程序转换框架能够在语言级实现。 1 4 2j a v a 程序框架 j a v a 语言的平台无关性为它在科学计算领域的应用提供保 障。当前,独立于平台的数值计算工具缺乏成为分布式科学与工 第1 4 页 j a t - a 在:骨布式并行计算中自? 应用一j a v a d e 程程序开发的一个障碍。6 像一些自包台程洋能够使用数值算法 的接口,分布式程序要求有严密的数据结构和方法接口的计算环 境,是使独立开发的分布程序之间保持一致性的最基本特征。j a v a 程序框架提供7 一套统一的数据结构和操作数据的标准计算方法 接口。 1 4 3 开发j a v a 运算库的目的 开发j a v a 运算库有以下目的: 遗星公盔程庄澍公基魏握结控丝盏錾:尽管每个程序由不同的 函数组成,但它们经常需要使用一些公共的数学库。为了分布程 序能够有效地共享分布环境下不同程序的数据,需要有一个公共 的数据结构。 。 筮瑰兰鎏焦围鳇珏筮友选塑王县:已有的图形、调试及一些易 用的工具成为测试新的理论和想法的有效框架。工业上要求将它 们转换到不同的平台上,但是在工业环境下,从m a t i j a b 向c 、 f o r t r a n 及j a v a 的转换速度很慢。为了加快转化的速度,需要 在工业和实验环境中交互地测试一些研究想法,同时尽快推广新 的研究方法。 第1 5 页 型! 垒竺塑塞堑笪笪簦! 堂皇里竺些生一 毽进业i 猩庄鲤蕴筮: 一种解决方法就是使用、t a v a 框架调 用已存在的工具库。这种方案使许多研究人员能够将他们的工作 和资源通过广泛的 n t e r n e t 联结起来。许多用c 或f o r t r a n 开 发的数值计算程序多年来一直被使用。但是,由于j a v a 环境中 缺乏数值计算的算法,一些依赖于可靠的数值计算算法的复杂程 序无法转化到j a v a 环境中。 1 4 4 性能 初始阶段重点并没有放在优化效率上,而是提供稳定的、健壮 的程序。除了计算速度的限制外,j a v a 本身的解释执行也限制性 能提高。但是使用j i t 编译和经过编译器的优化,性能上的缺陷 是可以弥补的。 1 4 5j a v a 在一级b i a s 上的本地化 j a v a 语言的解释执行、与平台无关特性,决定了它在执行速 度和性能上的不足。这对要求速度高和计算量大的科学计算程序 来说无疑是一个巨大的缺陷。但是,可以采用一些技术,如将j a v a 代码本地化,来提高性能和执行速度。 通过将j a v a 程序编译成j a v a 虚拟机( j v m ) 能够运行的中 间指令( 字节码:b y t e c o d e ) 实现j a v a 程序的可移植性,字节码 第1 6 页 璺! ! 垄坌塑壅堑笪生竺! 塑壅曼:兰型堡 能够在任何支持r 删的平台上运行。虽然字码的解释执行比大 多数解释执行的高级语言快,但为了保持其移植性而牺牲j a v a 的 部分性能。因此,注重计算的j a v a 程序希望性能上的损耗最小, 而又不影响程序的可移植性。一种解决方案就是在编译或运行时 优化j a v a 的字节码。通过在运行时将字节码编译成本地的机器 码方式( j i t c :j u s t i n t i m ec o m p i l a t i o n ) ,可以更好地提高性 畿。 第1 7 页 第二章、基于i n t e r n e t 和3 a v a 技术的分 布式并行系统 2 1i n t e r n e t 和j a v a 技术的结合 并行计算现阶段的热点由专注于大中型系统转向高配置工作站 集群,并且更加注重并行计算领域的拓展。在分布式工作站集群 的结构上并行计算深入到更多的应用领域。并行分布计算研究内 容主要包括:并行计算机体系结构和算法,并行分布处理技术, 分布式网络环境下物料需求计划的并行计算,字符串匹配并行算 法和基于字符串匹配的数据压缩并行算法,并行分布式环境下机 械系统层次分解优化设计方法,分布式信息系统的并发查询和并 行处理,多媒体交互式并行分布式处理等。除了并行数据库而 外,i n t e r n e t 和j a v a 并行计算是特别成功的应用。 网络计算时代已经来临,以计算机网络为通信媒体的协同工作 系统( 亦称群件) 受到了商业界的青睐和学术界的高度重视。在 群件市场上,既有像i 瑚的l o t u sn o t e s 这样的老牌劲旅,也 有像m i c r o s o f t 的n e t ) 4 e e t i n g 这样的后起之秀。而近两年来, 随着i n t e r n e t 如火如茶的发展和w e b 、3 a v a 技术的迅速成长, 群件正逐步向着基于f f e b 和j a v a 的网上协作技术方向发展。 第1 8 页 ! 竺! 垄坌查苎茎堑蔓:兰! 垫壁星:坚翌塑一 随着计算机网络技术的迅速发展和i n t e r n e t 的广泛应用,网 络计算己成为计算机理论及应用的一个极为重要的发展方向。计 算机网络已经向开放式的异构网络发展。 因此,加强对基于异构 网络的并行分布处理的研究是把握国际发展潮流的关键和一个基 本要求。 最近,j a v a 已发展成为应用于i n t e r n e t i n t r a n e t 异构网 络环境的最热门的程序设计语言,但目前它的主要应用还局限于 w 孵浏览器。如果适当扩充j a v a 的功能,就能充分利用i n t e r n e t 这一已经存在并高速发展的异构网络进行并行处理。另外,在现 代社会和信息时代,人们的工作方式具有群体性、分布性、交互 性和协同性。因此,充分发挥j a v a 平台和w e b 计算模型的优势, 在i n t e r n e t i n t r a n e t 环境中建立基于j a v a 的面向对象分布 并行处理系统和协同工作的协作工具,具有深远的现实意义。 2 2 该类系统的优点 基于i n t e r n e t 和j a v a 技术的分布式并行应用系统具有以下 特点: 垩台适廑丝塑:j a v a 语言的最大优点是“一次编程、随处运 行”的跨平台特性。此外,由于w e b 、j a v a 和i n t e r n e t 有着共 第1 9 页 ! ! ! ! 查坌塑壅茎生立蔓! 塑窒旦:塑竺坐一 同的网络通信协议t c p i p ,因面番可:j a v a 和w e b 的,c s c r 应 用系统既能在小型局域网上运行,又能在大型广域网乃至 i n t e r n e t 上运行。 珏照挂狸亘茎:星蛙妊:一个好的群件系统应有一组功能强大的 协作工具集的支持,并且用户可以将自己开发的协作工具模块嵌 到系统工具集中。 丝丝俭搔丝奁:从本质上讲,w e b 是一种基于h t t p 协议 的c s 计算模式,其优点在于系统的反应速度快、可维护性好、 成本低,系统功能具有灵活性和可变更性。j a v aa p p l e t s 为w e b 的 静态h t m l 页面增添了动态特性和交互性,而且j a v a 程序不需 要移植费用。所有这些因素使得基于j a v a 和w e b 的c s c 应 用系统具有良好的性能价格比。 第2 0 页 ! ! 翌垄坌塑壅箜堡生竺主塑窒墨_ = 兰竖竺! _ 一 第三章、p v i i 和m p i 3 1 可移植网络计算环境 分布式网络并行计算的代表是p v m 和m p i ,p v m 、m p l 均以可 移植的消息传递环境为基础。 网络并行需要一个可移植的网络计算环境,使用户能在通用平 台上运行程序,对已有的程序不必作大的修改,就能够使用户在 该环境下写的程序可以在其它可移植的编程环境下运行,这对于 高速网络异构环境无疑是很重要的。 3 2p 硼 p 、,m 是一个软件包,允许异种u n i x 机器组成的群集通过网络 级联在一起成为一个大型的并行机。这样大规模的计算任务就能 够使用许多机器联合的计算能力和内存更为有效地完成。该软件 跨平台的能力非常好。通过网络库获得的兔费的源程序,从膝上 机到巨型机的各种平台上都可被顺利地编译。 p v m ( p a r a l l e lv i r t u a l a c h i n e ) 中文名为并行虚拟机器, 第2 l 页 j a v a 在分布式妻学计并牢的应用一j a v a i t e 是美国国家基金会资助的公开软爿:系统,具有通用洼强及系统规 模小的特点,既适合t c p i p 网络环境,又适用于艘p 大型并 行系统,当前所有的并行机公司都己宣布支持p v 3 。一些大公 司还针对自己产品的特点推出高效率的p v m 产品。如i b m 在s p 2 上推出了p v m e 及相应的高度工具p d b x 。p v m 是美国o a kr i d g e 国 家实验室研制的。与p v i f i 3 配套的配套的计算机网络环境( h e n c e ) 以及可视化工具】( p 蹦己在世界范围内推广。批标准的软件, 如l i n p a c k ,e i s p a c k ,l a p a c l ( 等正在移植到p 埘平台。近来在 网络上日益流行的公开操作系统l i n u x 也支持p v m ,使得人们可 利用多台微机建立并行环境,这既有利于人才培养和教育,又较 少受到高端并行机市场发展多变的冲击,只需要少量的投资就可 以建立起并行处理环境,这对于我国从事并行处理的科研部门尤 其是教育部门来说,无疑是个好消息。 p v m 具有以下的主要特点: 通用性强,既适用于t c p i p 网络,又适用于m p p 大规 模并行系统; 系统规模小( 约几兆字节) i 所有的现有并行机厂商都宣布支持p v l 9 3 ; 第2 2 页 璺! ! 垄坌塑苎茎堑生簦! 塑兰星二塑塑旦一 美国蹦家摹金会资助的开放软件, 成熟程度高; 世界范围内应用; 一批标准数学软件正在移植到p v m 平台,如:l i n p a c k , e is p a c k ,l a p a c k 等。 3 3 - m i m p i ( m e s s a g ep a s s i n gi n t e r f a c e ) 中文名为标准消息传递界 面。为了统一互不兼容的用户界面,1 9 9 2 年成立了解m p i 委员 会,负责制定消息传递界面的新标准,支持最佳的可移植平台。m p i 在标准化过程中吸收了欧美4 0 个主要组织的6 0 名代表参加, 包括研制并行计算机的大多数产商,以及来自大学、实验室与工 业界的研究人员。正式的标准化过程是从1 9 9 2 年4 月由并行计 算研究中心( t h ec e n t e rf o r r e s e a r c ho l r lp a r a l l e lc o m p u t a t i o n ) 支持招开的研讨会上开始的。在会上讨论了作为一个标准消息传 递界面所具有的基本特性。当年1 1 月发表了草稿( 1 9 9 3 年2 月 修改) 。1 9 9 4 年发布了m p i 的定义与实验版本m p i1 ,相应的标 准m p i2 还在研制中,极有可能将形成一个类似于f x ) r t r a n7 7 那 样的国际消息传递标准平台,这是一个很值得我们重视的技术方 第2 3 页 j a v a 在分布式并行盯算申的立用j a v a n c 向。 船i 的目标是要开发一个广泛用于编写消息传递程序的标准。 要求用户界面实用、可移植、高效、灵活,能广泛用于各类并行 机,特别是分布式在存储的并行机。近l o 年来每个计算机厂商 都在开发标准平台上作了大量的工作,出现了一批可移植的消息 传递环境。咿i 正是吸收了它们各自的有益经验,同时从句法与 语法两方面确定核心库函数,使之能适用于更多的并行机。 确立消息传递标准的好处在于可移植与便于使用。在分布式存 储环境中,高一级的子程序建立在低一级消息传递子程序基础之 上,这时的标准化好处更为明显。其次,消息传递标准一经确定, 就能提前向厂商提供,他们就能在各自的机器上有效地加以实现, 或者是提供相应的硬件支持,从丽提高并行机的可扩展性。 m p i l 的重点仍墩准点到点的通信上,她i2 版的研制工作已 经开始,在以下几个方面进一步增强功能: 输入、输出( i o ) : 主动消息( a c t i v em e s s a g e s ) : 进程启动( p r o c e s ss t a r t u p ) : 第2 4 页 璺竺垄坌塑蔓蔓笪兰簦主堕竺笪l 二受些生 动态进程控制( d y n a m i c p r o c e s sc o n g t r 0 1 ) : 远程存储与远程访问( r e m o t es t o r i n ga n da c e s s ) f o r t r 悄9 0 与c + + ; 图形支持( 6 r a p h i cs u r p o r t ) ; 实时支持( r e a l t i m es u r p o r t ) 。 3 4r p i 与p 的比较 m p 与p 相比,有以下特点: 肝i 的实现方式多样化,同一编程界面可有多种开发工具; 船i 能实现完全的异步通信。立即( i m l e d i a t e ) 发送与接 收完全能与计算覆盖进行 归i 能有效地管理消息缓存区; 好i 能在即p 与工作站机群上有效运行; 第2 5 页 j a v a 在舒布式开 亍 算中的宴用2 a v a i t e m p i 异步执行时能保护用户的其它软件不受影响; m p i 完全是可移植的标准平台。 关于其它可移植的编程环境,较为著名的还有:p 4 系统,由 a r g o n n e 国家实验室最早开发的可移植平台;e x p r e s s 系统,从 加州理工大学c a l t e c h 开发的c r y s t a l i n e 操作系统中直接成长 起来的产品;l i n d a 系统,由y a l e 大学开发的一个并发编程模 式,在现有的些可移植环境中,l i n d a 的同步通信效率与可靠 性位居前列。这些系统相对于p v m 和肝i 来说,应用范围较小。 第2 6 页 j a y a 在分布式并行计算中的! 立黑l a v a r e 第四章、j a v a 与p 系统的结合产物一 j a v a i t e 4 1j a v a 语言的特点 总结j a v a 语言有如下诸多特色: 筮堕( s i m p l e ) :容易编写程序,不需要长时间的训练,而 能满足现代的需求。程序小型亦是简单的一种特性,使得软体能 够在小型机器上执行,基本的解释器约为4 0 k ,若加上基本的程 序库,约为2 1 5 k 。 画自壁筮数( o b j e c t - o r i e n t e d ) :面向对象的设计是一种重 心在资料和接口的技巧。若以木工为比喻,一个面向对象的木工, 他( 她) 最主要的重点是即将要傲的木椅子,其次才是所需要的 工具;反之;一个以非面向对象的木工,他( 她) 所关心的只是 工具。最近的即插即用( p l u ga n dp l a y ) 亦是面向对象设计的重 点。 盆查益煎( d i s t r i b u t e d ) :j a v a 有一个很周全的程序库, 且很容易地与h t t p 和f t p 等t c p i p 通讯协定相配合。j a v a 第2 7 页 j a v a 在订布式并行卜算中能应是j a a i t c 应j 羽程序( a p p l i c a t i o n s ) 能任网路上开启及连结使州物件,就 如同透过u r l s 连结使用一个本地文件系统( l o c a lf i l es y s i e r a ) 。 丝蹩丝( r o b u s t ) :由j a v a 所编写出的程序能在多种情况 下执行而具有其稳定性。j a v a 与c c + + 最大不同点是j a v a 有 一个指针模型( p o i n t e rm o d e l ) 来排除内存被覆盖( o v e r w r i t i n g m e m o r y ) 和毁损数据( c o r r u p t i n gd a t a ) 的可能性。 窒全笪( s e c u r e ) :j a v a 是被设计用于网络及分布式的环境 中,安全性自然是一个很重要的考虑。j a v a 拥有数个阶层的互锁 ( i n t e r l o c k i n g ) 保护措施,能有效地防止病毒的侵入和破坏行 为的发生。 结扭生童煎( k r e h i t e c t u r en e u t r a l ) :一般而言,网络是 由很多不同机型的机器所组合而成的,g p u 和作业系统体系结构 均有所不同;因此,如何使一个应用程序可以在每一种机器上执 行,是一个难题。所幸,j a v a 的编译器产生一种结构中立的目标 文件格式( o b j e c tf i l ef o r m a t ) ;这使得编译码得以在很多种处 理器中执行。 亘整揎鲍( p o r t a b l e ) :原始资料型式的大小是被指定的, 例如f l o a t 一直是表示一个3 2 位元i e e e7 5 4 浮点运算数字, 因绝大多数的c p u 都具有此共同特征。程序库属于系统的一部份, 第2 8 页 ! ! 竺鱼坌查苎茎笪生! 堕塑堕里= 生兰生一 它定义了些可移植的程序接口,j a v - 本身具备有很女学可移植 性。 。 鲣登煎( i n t e r p r e t e d ) :j a v a 解释器能直接地在任何机器 上执行j a v a 位字节码( b y t e c o d e s ) ,因此在进行程序连结时, 时间极大节省,这对于缩短程序的开发过程,有极大的帮助。 直筮篚数( h i g hp e r f o r m a n c e ) :j a v a 位字节码迅速地能被 转换成机器码( m a c h i n ec o d e ) ,从字节码转换到机器码的效能几 乎与c 与c + + 没有分别。 多线捏鲍( m u l t it h r e a d e d ) :j a v a 语言具有多线程的功能, 这对于交互回应能力及即时执行行为是有帮助的。 动盔盟( d y n a m i c ) :j a v a 比c 或c + 十语言更具有动鸯性 更能适应时刻在变的环境,j a v a 不会因程序库的更新,而必须重 新编译程序。 4 2j a v a i t e p v m 的j a v a 版本 由于p v m 系统通用性强、系统规模小、成熟程度高等诸多优 点,及j a v a 语言的强大功能,自然产生了以j a v a 语言来重新 实现的标准p v m 系统,本文讨论的系统一j a v a i t e 也是其中之一。 第2 9 页 ! ! ! ! 奎叁鱼塞茎! ! 生璺! 墼窒旦:坐! 坚一 j a v a i t e 库是以消息传递为基础,用于分布式内存m i m d 并行 程序设计的软件系统。该库支持类似于c 语言与f o r t r a n 语言 的并行虚拟机( p ) 结口,但是由j a v a 语言本身所带来的语法 和语义的变化使得该结口适合j a v a 的编程风格。由于j a v a i t e 与 其它p v m 系统的相似性,熟练的p v m 程序员掌握j a v a i t e 只需 一个快速的学习曲线,这样使得j a v a i t e 系统成为一个易于得到 的,低投资的选择来移植已有的并行程序包到j a v a 平台。 j a v a i t e 系统名称的灵感来自于另一相似系统j a v e l i n 。 j a v a i t e 完全包含了j a v a 的拼写,而其本义为j a v a 熔融石, 又蕴含了该系统是j w 与p w 技术之间的无缝结合的含义。 依靠j a v a 语言的诸多特色支持,j a v a it e 系统提供一般p v m 系统无法提供的全新特色,例如:线程安全性,单个任务的多端 通信能力,缺省消息路由。j a v a i t e 完全由纯j a v a 语言开发, 因此在支持j a v a 虚拟机的机器上具有高度的可移植性。该特性 使得网络并行系统原来通常被排除在外的基于m a c i n t o s h 和 w i n d o w s n t 系统的机器有了被很好利用的可能性。 下文提到的一些基于j a v a i t e 系统的初步的应用程序性能测 i 试结果显示,该类j a v a 应用程序在适当的粗粒度和计算规模上 具有相当好的性能。 第3 0 页 ! ! ! ! 垄竺塑壅茎堑生簦! 堕窒兰_ 二兰兰塑一 第五章、j a v a i t e 系统全局分析 通过一个或多个网络互联的异构的计算机系统群集作为一个单 独的统一计算资源,是近年来普遍使用的大规模高性能计算的手 段。这样一个逐步变得强而有力的、良好互联的、异构的,并且 往往大部分可利用的资源集合所凝聚的能量由网络并行计算系统 进行合理的管理,分配给不同的应用程序使用。 在本文中,我所集中阐述正是这样一个网络并行计算系统,其 最大的特点就是完全由纯j a v a 语言实现。因为j a v a 语言本身 的平台独立性和针对不不同异构系统的统一结口,j a v a 提供了这 样一个极有吸引力的程序设计环境,既可以开发出网络并行计算 的应用程序,也能开发支撑并行应用程序运行的并行系统环境。 尽管已经存在大量的软件系统支持许多形式的网络并行计算, 但是类似于并行虚拟机器( p ) 、通用消息传输结口( m p i ) 这样 的基于一个小巧而完整的常用函数软件包集合,提供清晰的消息 传递支持,采用分布式内存系统模式( m 珊) 的软件得到了最为 广泛的应用。这些软件系统支持简单的,可移植的,针对典型的 高性能计算程序设计语言如c 、f o r t r - 州的函数库结口来便于自 身的扩展。 第3 1 页 ! ! 翌垄坌塑苎茎笪兰曼主塑窒星:! 竺! 壁一一 举例来说,p v m 提供给程序设计者一个封装好的过程库来实现 诸如任务创建,数据组织和异步消息传输。作为附加的部分,p v m 提 供一系列的工具来详细说明和管理一一个应用程序可运行于其上的 主机集合。 网络并行计算系统的实际应用已经获得了令人振奋的结果。例 如,用p v m 系统实现的标准n a s 性能测试套件显示,相对较小 的小工作站集群已经在相当大的程度上获得与昂贵的超级计算机 相当的性能。然而,利用分布式的、异构的、共享资源的普通网 络互联构成一个单一的,虚拟的并行计算机,对于应用软件程序 设计者或者系统软件设计者来说都存在一些较为棘手的问题。一 般来说,大体上一个成功的网络并行程序往往需要具有粗粒度, 并且能够容忍一定程度的网络延迟( 比如需要采用提前发送的程 序设计技巧) 的特点。在一些应用程序中这样的特点很难实现。 从系统软件程序开发者的角度来看,机器之间的异构性会造成 诸如任务与操作系统平台的不匹配,系统的便携性不够等诸多重 大障碍。全新的程序设计语言一j a v a 提供大量有效韵特性,成 为解决跟随网络并行计算程序设计与生俱来的问题的最佳工具。 例如,从应用程序开发的角度看。j a v a 提供一个便携的,统一 的面向线程的结口。在分布式内存并行处理环境下,使用线程来 第3 2 页 j a v a 在分布式并行、十算中的应异j 一- t a 、7 a i t e 替代传统的笨重型的进程,为解获l 增加网络迟延耐受力和改善分 布式并行计算的性能开辟了阳光大道。 从系统程序开发的角度看,j a v a 支持代码高度的可移植性和 针对操作系统服务( 比如网络通信) 的统一的应用程序结1 2 1 ( a p j ) 。 j a y a i t e ( j a v a 并行虚拟机器) 库是用j a v a 语言开发而成的, 明确地使用消息传递、分布式内存m i 佃的并行结构。该系统程 序库支持一个类似于用c 语言或f o r t r a n 语言开发的并行虚拟 机器( p ) 系统结口,但是由于j a v a 语言提供的语法和语义的 新特点,该系统程序库本身具有j a v a 应用程序的鲜明风格。 j a v a i t e 系统与其它广泛使用的p 系统的相似性支

温馨提示

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

评论

0/150

提交评论