信息论与编码-技术报告文献综述模板.doc_第1页
信息论与编码-技术报告文献综述模板.doc_第2页
信息论与编码-技术报告文献综述模板.doc_第3页
信息论与编码-技术报告文献综述模板.doc_第4页
信息论与编码-技术报告文献综述模板.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

技术报告与文献综述课 程题 目专业班级学生姓名学号黄冈师范学院物理科学与技术学院基于Java的网络分布式计算居中,小二宋体加粗摘要:本文描述一个使用万维网给Web上多个主机分配计算任务的系统。计算机程序员通过计算用Web服务器进行分布式登记。空闲的主机使用这个服务器能够识别可用的计算并且下载一个Java类来执行计算我们称这个类为distriblet。本文介绍的程序描写了实现加载分布,distriblet类结构,以及使用这个系统的经验。英文摘要:。关键词:计算,计算机语言,分布式数据处理,分布,互联网五号宋体,行距1.25倍,关键词和摘要两个词加粗英文关键词:。引言四号宋体加粗,标号、位置与原文一致多年来,一些计算机已应用于分布式程序的运行。应用程序的不同部分运行在局域网中的不同计算机上。分布式计算的优势是众所周知的。其中一个优势是性能的提高:多台电脑被用于运行应用系统的任务。另一个优势是可升级性:如果应用程序上有更多的工作要求,它也可能在另外的计算机上运行应用程序小四宋体1.25倍行距中某些部分。自万维网的出现以来,研究人员已经尝试使用Web上大量的主机计算好的资源方法以实施分布式计算。简单的网页浏览就是分布式计算的一个例子:一些工作,包括在网页浏览器上显示网页就是由浏览器上的机器和一些Web服务器执行的。事实上,一个网页可能实际上从几个不同的Web服务器显示内容,因此可能有很多机器参与到简单的分配计算中。该网站也可用于一般目的的分布式计算。在以下部分中,我们描述了多个以前的研究项目旨在使用网络进行一般目的的分布式计算。使用网络进行一般目的分布式计算的其中一个吸引人的地方是使互联网上闲置的主机参与分布式计算的计算能力成为可能。我们的项目对解决这个问题提供了一种有效的方案。这里用一般方法解决这个问题有三个主要障碍。首先,网络上的大量机器结构和操作系统使得在这样的异构环境下共享代码很难。第二,为确保计算不会让那些未经授权的远程访问进入,某种形式的认证通常必需的,但此限制通常限制了分配计算的范围。第三,在这样的环境下分享如文件或数据库的资源可能很难。Java编程语言的可用性和Java虚拟机(JavaSoft的,1997年,Sun微系统,1996年)开辟了在网络上分配计算新方法的可能性。本质上Java程序可以在任何一台计算机上运行;Java程序内执行环境中的运行被称为Java虚拟机,它能够处理计算机硬件和操作系统的差异。因此,Java程序可以在Java虚拟机许可的任何计算机上运行。使著名的“编写一次,随处运行”的Java属性成为可能。Java也提供网络上软件下载的设施并且创造安全的执行环境。由于这些原因,我们采用了Java作为了我们分布式计算项目的软件基础。在我们的方法里,为了实施分布式计算,程序员编写的的Java类可以在网络上闲置的计算机上下载和运行。在维持“小程序名称”和“程序组件”Java类中,我们称我们的类为“distriblets”,因为它们是专为分布式计算设计的。在最终的系统中,Java是用来提供适合coarse-grain计算的编程环境。Java类通过网络从服务器上下载到计算机并且计算结果被返回到服务器。使用这个系统,程序员可以有一个较大的潜在计算机执行应用程序。我们系统的更多详情,可在Brennan和Brennan(1996)中找到。在讨论了有关的工作之后,本文介绍了下载分布区的这一架构和实施以及我们使用的经验。根据这一经验,我们阐述了另外的工作思路以及为何这样一个系统在万维网中可以执行和支付并总结了调研结果。相关工作分布式计算的一个动机是通过使一套闲置的机器工作而共享计算结果。已经有大量的研究工作投入到分布式系统的数据共享(穆特卡和利夫,1987;威尔和芬克尔,1995年)。这些努力大多数要求所有参与分布式计算的计算机有相同的硬件体系结构和操作系统;通常计算机需连接到局域网。这些研究结果成果表明,将负荷分布到闲置计算机上可大大改善整体性能。这些结果鼓舞着我们通过共享万维网上的计算结果来寻求效率的提高。在整个互联网中使用Distributed.Net项目(D,1998)的分布式计算正在开展。在这个项目中,自愿的计算机用户下载客户端程序去解决一个大问题的一小部分。不同客户端程序提供了不同的体系结构,客户下载与它的结构相应的程序。当前这个项目的重点是对RC5和DES使用不同密钥的加密算法研究。有利于我们工作的是Charlotte项目(Baratloo等,1996)提供了一种基于万维网的处理环境。Charlotte实现了在多处理器计算机内应用共享内存和进程间通信模式。Charlotte提供标准的Java小程序去访问主机上变量的能力就像是他们自己的一样。因此,Charlotte以万维网为媒介创建了一个并行编程环境。另一项研究计划被称为WebOS。该WebOS的目标是在网络上提供主机操作系统型的服务。研究人员在研究向广域申请提供一套通用操作系统的服务(Vahdat等,1998)。这项工作旨在提供诸如命名,永久存储,资源管理和提供一个看起来很像一个本地经营系统应用平台的验证等机制。WebOS的服务是丰富的,但为了共享要求客户端和服务器必须运行WebOS系统。我们项目一个可能的延伸是我们在后面要提到的涉及支付费用给分布计算的参与者。在另一项研究工作中,ReGTime系统提供了一个连接需要计算能力的客户端和拥有计算能力的服务器的计算机制(赞恩和昂格雷尔,1998)。这项工作已实施在用C和Perl写成的工作站环境书面申请中。设计和实现执行架构加载分发系统有三个主要组成部分:(1)辅助应用程序;(2)分布式服务器;(3)计算服务器。该辅助应用程序是一个在入网计算机上运行的Java应用程序。当计算机空闲时,辅助应用程序联系计算服务器找到一个需要执行的计算。然后辅助应用连接到一个计算服务器工作,下载一个Java类执行,执行后并将结果返回到计算服务器。辅助应用程序,分布式服务器,计算服务器都被当成项目的一部分而实施。希望准备一个分配应用的应用程序员必须准备一个Java类来执行计算。预先确定的方法必须在这个类中执行:使用辅助应用程序下载计算中的参数,执行计算,并将结果返回到计算服务器。该应用程序的程序员也必须用分布式服务器登记计算,让辅助应用程序可以找到计算服务器。辅助应用程序已写成Java应用程序。Java程序不是小应用程序就是应用程序。Java小程序是可以在Web浏览器下载并在浏览器内执行的。Java小程序有安全限制,他们不能破坏运行它们的计算机。例如,Java小程序不能访问运行它们的机器上的本地文件,并且不能连接到下载它之外的网站。不过,申请执行没有这些限制,并可以执行一个应用程序的正常功能。网络连接的限制要求辅助应用程序被写为一个Java应用程序而不是一个applet;辅助应用程序需要能够创建网络连接到分布式服务器和计算服务器。为了提供在applet可用的安全执行,我们使用了助手安全模式应用程序。详细实施下面描述了运行辅助应用程序的要点:(1)只有当计算机闲置时工作。为了不影响其所有者而使用计算机,在1(低)到10(高)的范围之间我们设定Java计算的优先级别默认为2。我们对嵌入式辅助应用程序写保护是为了确保这个类不设置自己优先在级别4之上。因为工作的上线是优先级别4,这样就绝不会干预辅助计算机的正常运作。(2)选择加速计算。一旦计算机可以自由地做工作,辅助应用程序就接触分布式服务器并且下载运行计算列表。目前,计算的选择是完全随机的,但将来更具选择性的调度算法可以添加进去以适应优先计算。(3)下载工作。在辅助找到计算的帮助后,它触发合适的计算服务器并且使用TCP连接到服务器请求工作。那个服务器回复一个识别号码和分发类的名称,或一条消息说它没有更多的工作。辅助应用程序检查它是否已经从服务器下载了这个类。如果没有,它要求这个类的Java字节代码。由发展商书写的这个类包含所有具体应用程序以实现工作分配。类必须继承于子类,这是该项目被开发的一部分,并且必须有如下所述的getArgs,run和sendResults方法。(4)数据检索启动。一旦辅助应用拥有类描述,它将类作为项目的实例,并调用项目的getArgs方法,将TCP connection相关数据流传递给它。由此产生的数据传输由程序员处理。(5)执行。执行是通过调用对象的run方法。程序员的运行方法可以在任何许可的数据上操作。由于用户不会希望自己的电脑在没有事先知道它的功能情况下执行外部代码,我们创建了一个很像小程序安全策略的安全政策。唯一的区别是,一个小程序对载有相同的文件和类或其被加载的网址拥有某些权利。但是,由于下载类不是一个引用网址,类没有得到一个小程序的同等权利。下载类的网络能力仅限于连接到发出它的主机。它也没有文件系统访问,不能访问其他线程以及不能访问辅助应用本身,就像一个小程序。有了这些安全限制,用户不必担心安全问题并愿意让他们的计算机被用于未知的计算。(6)发送结果。运行后返回,辅助应用程序调用对象的sendResults方法。sendResults是应用程序开发的方法,可传输网络上的任何必要的结果。(7)获取更多的工作。辅助应用程序拥有从同一个服务器得到更多的工作或到另一台服务器的选择。组件之间的通信图1 空半格组件之间的通信五号宋体居中辅助应用程序,分布式服务器和计算服务器组件一起工作使用一个共同的协议。图1显示了如上所述的这些组件之间的通信。结果为了测试我们的系统,我们开发了两个分布在网络上的应用程序。第一,加法器,将所有的整数由大范围分解成子范围,并把不同的子范围分发到不同的计算机去相加。这一经验表明创建一个distriblet类实现所需要的类是最直接的。这个应用程序只需要很少的网络交通:下载两个整数以及返回一个整数结果。第二个应用程序是一个Mandelbrot分形图像生成器。Mandelbrot图像生成器是一个计算密集型的应用程序,可以很容易分为片断,能被分发到多台计算机上进行计算。同样,我们能够实现必要的distriblet分发计算。我们使用Mandelbrot图像发生器运行一些测试系统的性能。第一次试验涉及确定是否分布式计算比在一台计算机运行速度更快。当分布式计算运行时,虽然我们的测试显示速度提高,但是其作用是难以量化的。我们拥有的可用的计算机有着不同的速度,并且我们确定在单台计算机上的性能很大程度上取决于Java虚拟机的执行效率。我们还使用了Mandelbrot程序去研究在计算时上网络故障对其产生的影响。我们通过下载一些应用程序,返回一个失败结果来模拟网络故障。计算服务器对每个辅助应用程序使用的数据负责,计算出辅助应用程序是否在计时器到期之前没有返回结果。当发生超时时,同一组的参数将被发送到另一辅助应用程序。在我们的测试中,我们仿真的失败率为百分之三十。虽然和没有失败的应用程序比它需要多约百分之四十四的时间,但是应用程序仍然能够成功运行。在我们的系统中包含了在最后一组性能测试中涉及的一组网络开销的评估。对于一个给定的计算,在分布式的计算中我们分了不同的“块”,越多块,网络开销越大。在这些测试中,我们只使用一个辅助机,所以在并行中不存在差异,因为我们划分了大量的块数。因此,完成时间只取决于参数和结果的发送和接收时间,以及网络传输时间。图2 网络传输延迟图2显示了完成计算和数目块的时间的关系。正如所料,增加块数提高了计算时间。这条线斜率表明,每增加一块将提高1.33秒完成时间。尽管开销因精确的价值而异,这取决于时间的速度和正在使用的网络,这一结果表明被分发的计算大小应该足够大去证明这一额外的开销。因此,我们的系统是能够适合coarse-grain并行计算的。未来工作在我们工作过程中,我们已经确定了扩展和改善的方法。我们目前正在调查这些替代方法。其中改善是要编分布式的小程序,以便用户不需要运行辅助应用系统就能通过访问互联网进行下载计算。理想情况下这个连接能持久到在单连接寿命期间计算多任务可以执行。这种机制可以导致网站的用户连接时,他们知道他们的机器将闲置一段时间。这种情况将导致在因特网上巨大的计算机数量可以提供支持并行计算,并且利用在互联网上广大的闲置计算机的计算能力。或者,辅助应用程序可以被广泛内置Web浏览器使用。这种内置的辅助与目前使用Java提供的小程序相比,可能会允许一个比较宽松的安全模型,网络连接的计算机除了提供下载外还允许进行计算。这种方法将允许更多灵活性的计算类型被处理。其他改进重点放在安全和验证,这样计算服务器可以验证一个返回到主机标识的结果,并确保结果被返回是正确的。为了鼓励用户参与,可以使用小额支付系统。如由数字设备公司开发的Millicent系统(数字设备公司,1997年)的小额支付系统,已建议作为访问网络资源收取小额付款。在Millicent系统,用户可以连接到Millicent技术的网站(a “broker”)并且使用信用卡购买代息,这反过来又会用于购买访问网络资源。代息以数字形式存储在用户的计算机上直到它被用于支付访问一些Web资源。使用微额支付方案的优势替代了个人的信用卡交易,因为小额支付系统将支持非常小的款项或许小到一个美分的小部分。信用卡交易的开销太大以至不允许这么小的资金交易。这些相同的微额支付系统可能用于支付用户少量资金,因为他们的系统允许被用来下载并执行分布式计算。因此,用户可以充分使用时间当他们的系统闲置时赚取将用于访问Web资源信誉值。这可以对大量用户提供足够的诱因让他们的系统可用于分布式计算。我们目前正在对我们的系统调查实施延伸。这项研究将同时解决纳入我们的系统的技术问题,以及是否小额支付将会为用户提供足够的诱因去参与的人为因素。总结我们已经描述了用Java编写的运行在万维网上的分配系统的设计和实现的项目。我们实施该系统的框架是辅助应用程序,分布式服务器,以及计算服务器。程序员希望通过使用我们的系统准备一个应用程序来执行,这需要遵循我们的规格创建一个Java类并进行计算。A用户愿意进行协助通过只启动该辅助应用程序来执行一部分计算,它将自动检测当计算机处于空闲状态和定位计算的情况。该辅助应用下载一个Java应用程序类和所需数据,执行计算后返回结果。强大的安全性模型建立在辅助应用程序上,所以用户可以确信,他们不会下载损害用户系统的计算。我们已经证明我们的系统是实用的,并完成所需开销的分析。参考文献Baratloo, A, Karaul, A, Kadem, MZ and Wyckoff, P (1996), “Charlotte:metacomputing on the Web”, Proceedings of the International Conference on Parallel and Distributed Systems, Dijon Brennan, B and Brennan, C (1996), “Dynamic application load distribution with Java”, Department of Computer Science, Worcester Polytechnic Institute, Worcester, MA, MQP CEW-9603Distributednet (1998), “Distributednet Node Zero”, World Wide Web,http:/wwwdistributednet/ JavaSoft (1996), “The JavaSoft homepage”, World Wide Web, http:/wwwjavasoftcom Digital Equipment Corporation (1997), “Millicent”, World Wide Web, http:/wwwmillicentdigitalcom Mutka, MW and Livny, M (1987), “Profiling workstations available capacity for remote execution”, Performance 87, Proceedings, 12th IFIP WG 73 Symposium on Computer Performance,

温馨提示

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

最新文档

评论

0/150

提交评论