首页> 外文会议>Object-Oriented technology : ECOOP'98 workshop reader >Is Java Suitable for Portable High-Performance Computing? Preliminary Reports on Benchmarking Different Java Platforms
【24h】

Is Java Suitable for Portable High-Performance Computing? Preliminary Reports on Benchmarking Different Java Platforms

机译:Java是否适合于便携式高性能计算?关于基准化不同Java平台的初步报告

获取原文
获取原文并翻译 | 示例

摘要

We are currently working on making Java a suitable portable platform for high-performance computing, based on our OpenJIT project[l]. This paper reports on some initial results in our benchmarking and performance analysis results. There, we found that traditional user-level optimizations for numerical computing such as stripmining, do not always properly apply due to unpredictability of both the JIT compiler and the VM runtime. To be more specific, most traditional comilers for high-performance computing on RISC-based processors apply various optimization techniques to allow efficient scheduling of in-processor resources for fine-grained parallelism, and also to utilize the cache as much as possible to overcome the memory wall problem. However, it is not obvious whether such optimization techniques, especially those performed at the source-code level by the compiler or a user, will be effective for Java language implementations. Some of the potential problems could be largely categorized into language specification problems, compiler problems and the runtime problems (In the full paper we discuss the issues in more detail): aliasing of multi-dimensional arrays; array bounds-checking; intervention of stack-based bytecode; iompiler not tailored for high-performance computing; handling of exceptions; restricted space/time resources of JIT compilers; unpredictable memory allocation; overhead of multithreading; low performance of RMI; restrictions of VM-based execution; and ther reasons. Given these observations, it could be said that despite Java's good portability in a sense that they do work, but it could be difficult to achieve portability in performance.
机译:基于我们的OpenJIT项目,我们目前正在努力使Java成为适用于高性能计算的便携式平台。本文在基准测试和性能分析结果中报告了一些初步结果。在那里,我们发现,由于JIT编译器和VM运行时的不可预测性,用于数值计算的传统用户级优化(例如条带化)无法始终正确应用。更具体地说,大多数用于基于RISC的处理器上的高性能计算的传统编译器均采用各种优化技术,以允许高效地调度处理器内资源以实现细粒度的并行性,并且还尽可能利用高速缓存来克服内存墙问题。但是,这样的优化技术,特别是那些由编译器或用户在源代码级别执行的优化技术,对于Java语言实现是否有效并不明显。一些潜在的问题可以大致归类为语言规范问题,编译器问题和运行时问题(在全文中,我们将更详细地讨论这些问题):多维数组的别名;数组边界检查;基于堆栈的字节码干预;不为高性能计算量身定制的iompiler;处理异常; JIT编译器的空间/时间资源有限;不可预测的内存分配;多线程的开销; RMI的性能低下;基于VM的执行的限制;和其他原因。鉴于这些观察结果,可以说尽管Java在它们确实起作用的意义上具有良好的可移植性,但是要实现性能的可移植性可能会很困难。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号