java-calcu 2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java-calcu 2.doc

Java与科学计算 Java和Web技术在信息发布、管理、传输等信息服务领域得到了广泛的应用,但在传统的科学与工程计算方面却应用的较少。 在科学与工程计算中引入Java和Web技术的主要原因是: 1 网络已经成为分布计算的重要基础,充分利用Internet连接大量、丰富、易访问的计算资源; 2 充分发挥Java在网络软件开发及对并行和分布计算支持的优势。 在Java运用于科学计算方面,目前需要解决两个主要问题: 首先是解决Java解释执行慢等性能问题; 第二是如何把现有的计算程序库与Java结合起来。 第一节Java与科学和工程计算 一、科学与工程计算程序中的并行性 1. 数据并行性 2. 功能并行性 3. 对象并行性 4. Metaproblem 二、Web和并行计算软件 Web和Java在科学计算软件中的下列方面将发挥重要的作用: (1)用户界面设计: 包括问题描述、可视化、数据分析 等。 (2)在分布式系统上实现Metaproblem,进行软件集成。 (3)在高性能计算机系统上实现Metaproblem中的某个计算密集的模块。 三、用户界面设计 未来的高性能计算环境一般分为4个层次: (1)完全可视化环境或脚本语言环境层:用于与具体问题领域相关的功能,如现有的图形界面。 (2)部分脚本语言环境层:以性能为代价,换取程序的可移植性,如Java applets。 (3)传统编译层:传统的高级语言,可以获得高性能,如Fortran、C、C++和Java。 (4)平台相关层:应用程序的程序员很少使用这一层次提供的方法。这一层次用户可以用非常不方便的编程方式获得最高的性能。 四、粗粒度软件集成 计算512位二进制数的因子分解是一个非常有趣的例子。可以利用Web现实计算任务。 例如,在Web上发布计算需求和计算能力,并动态地匹配计算任务和计算资源。 五、Java——科学和工程计算的基本语言 1. Java用于科学和工程计算的优缺点 Fortran 77、Fortran 90 和C++相比。 1 Java最大的优势在于将有很多人学习和使用它。 2 Java语言对并行性的支持 第二节Java的代码优化技术 一、引言 由于Java的字节码通常是在虚拟机上解释执行的,因此速度比较慢。一个重要的思路便是将成熟的编译技术移植到Java上,进行代码优化。 二、优化的不利因素 1 异常机制限制了代码的优化。 2 高度抽象的字节码使编译器失去了许多基于机器的优化的可能性。 第三节 Java 编译和执行模式优化 为了提高Java的性能,一个重要的思路便是将成熟的技术移植到Java上,进行代码优化;另一方面,选用更高效的编译和执行模式,如使用即时编译技术替代通常使用的解释器,可以大幅度地提高Java的性能。 编译与执行模式的优化 除了JIT外,人们还提出了连续编译模型(Continuous compiler model),它通过重叠执行过程和编译过程来达到提高速度的目的。其中解释器负责执行程序,而编译器负责将代码编译成本地的机器码,解释器和编译器是并发执行的。 第四节 Java运行时系统对科学计算的支持 独立于平台的数值计算工具缺乏, 成为分布式科学与工程程序开发的一个障碍。 1 开发Java运算库 2 使用HDF文件的Java程序接口 HDF (The NCSA Hierarchical Data Format),它是一种用于存储和交换科学数据的与平台无关的数据格式。 HDF用于管理大型的、复杂的数据集,包括图像、多维数组和表。HDF所支持的多种数据结构能够以任何方式集成在HDF文件中。由于HDF库中缺少Java(TM)的实现,因此,对于需直接访问HDF文件的Java程序来说,需要一个与HDF库本地代码的接口。 一般地,Java的性能可能会限制其在科学计算方面的使用,如Java能否用于大数值计算中的内部循环。但是,Java在可移植的接口、远程数据访问和数据可视化方面都可大显身手。 在一些混合环境下,Java可作交互计算的框架结构,通过连接一些本地代码程序和库来实现有效的计算。 第五节 Java在科学计算中的实际运用 1 大型计算软件 MATLAB和Mathematica 2 计算库 一、NetSolve Tennessee 大学开发了NetSolve。NetSolve是一个基于网络的Client/Sever模式的软件,其主要目的是进行网络科学计算。

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档