首页> 外文学位 >Java virtual machine design for embedded systems: Energy, time predictability and performance.
【24h】

Java virtual machine design for embedded systems: Energy, time predictability and performance.

机译:嵌入式系统的Java虚拟机设计:能量,时间可预测性和性能。

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

摘要

Embedded systems can be found everywhere in our daily lives. Due to the great variety of embedded devices, the platform independent Java language provides a good solution for embedded system development. Java virtual machine (JVM) is the most critical component of all kinds of Java platforms. Hence, it is extremely important to study the special design of JVM for embedded systems. The key challenges of designing a successful JVM for embedded systems are energy efficiency, time predictability and performance, which are investigated in this dissertation, respectively.;We first study the energy issue of JVM on embedded systems. With a cycle-accurate simulator, we study each stage of Java execution separately to test the effects of different configurations in both software and hardware. After that, an alternative Adaptive Optimization System (AOS) model is introduced, which estimated the cost/benefit using energy data instead of running time. We tuned the parameters of this model to study how to improve the dynamic compilation and optimization in Jikes RVM in terms of energy consumption. In order to further reduce the energy dissipation of JVM on embedded systems, we study adaptive drowsy cache control for Java applications, where JVM can be used to make better decision on drowsy cache control. We explore the impact of different phases of Java applications on the timing behavior of cache usage. Then we propose several techniques to adaptively control drowsy cache to reduce energy consumption with minimal impact on performance.;It is observed that traditional Java code generation and instruction fetch path are not efficient. So we study three hardware-based code caching strategies, which attempt to write and read the dynamically generated Java code faster and more energy-efficiently.;Time predictability is another key challenge for JVM on embedded systems. So we exploit multicore computing to reduce the timing unpredictability caused by dynamic compilation and adaptive optimization. Our goal is to retain high performance comparable to that of traditional dynamic compilation and, at the same time, obtain better time predictability for JVM. We study pre-compilation techniques to utilize another core more efficiently. Furthermore, we develop Pre-optimization on Another Core (PoAC) scheme to replace AOS in Jikes JVM, which is very sensitive to execution time variation and impacts time predictability greatly.;Finally, we propose two new approaches that automatically parallelizes Java programs at run-time, in order to meet the performance challenge of JVM on embedded systems. These approaches rely on run-time trace information collected during program execution, and dynamically recompiles Java byte code that can be executed in parallel. One approach utilizes trace information to improve traditional loop parallelization, and the other parallelizes traces instead of loop iterations.;Detailed implementation and experimental results discussion are presented in this dissertation.
机译:嵌入式系统在我们的日常生活中随处可见。由于嵌入式设备种类繁多,因此平台无关的Java语言为嵌入式系统开发提供了很好的解决方案。 Java虚拟机(JVM)是​​所有Java平台中最关键的组件。因此,研究针对嵌入式系统的JVM的特殊设计非常重要。为嵌入式系统设计成功的JVM的关键挑战是能效,时间可预测性和性能,本文分别对此进行了研究。;我们首先研究了嵌入式系统上JVM的能源问题。借助具有周期精确性的模拟器,我们可以分别研究Java执行的每个阶段,以测试软件和硬件中不同配置的影响。之后,引入了另一种自适应优化系统(AOS)模型,该模型使用能源数据而不是运行时间来估算成本/收益。我们调整了该模型的参数,以研究如何在能耗方面改善Jikes RVM中的动态编译和优化。为了进一步减少嵌入式系统上JVM的能耗,我们研究了适用于Java应用程序的自适应睡意缓存控制,其中JVM可用于更好地决策睡意缓存控制。我们探讨了Java应用程序不同阶段对缓存使用的时序行为的影响。然后我们提出了几种技术来自适应控制困倦的缓存,以减少能耗,并且对性能的影响最小。观察到传统的Java代码生成和指令获取路径效率不高。因此,我们研究了三种基于硬件的代码缓存策略,它们试图更快,更节能地编写和读取动态生成的Java代码。时间可预测性是嵌入式系统上JVM的另一个关键挑战。因此,我们利用多核计算来减少由动态编译和自适应优化引起的时序不可预测性。我们的目标是保持与传统动态编译相当的高性能,同时为JVM获得更好的时间可预测性。我们研究预编译技术以更有效地利用另一个内核。此外,我们开发了另一个核心上的预优化方案(PoAC)来替代Jikes JVM中的AOS,该方案对执行时间变化非常敏感,并且极大地影响了时间可预测性。最后,我们提出了两种新方法,它们可以在运行时自动并行化Java程序时间,以应对JVM在嵌入式系统上的性能挑战。这些方法依赖于在程序执行期间收集的运行时跟踪信息,并动态地重新编译可以并行执行的Java字节代码。一种方法是利用跟踪信息来改善传统的循环并行性,另一种方法是利用跟踪信息并行化而不是循环迭代。

著录项

  • 作者

    Sun, Yu.;

  • 作者单位

    Southern Illinois University at Carbondale.;

  • 授予单位 Southern Illinois University at Carbondale.;
  • 学科 Engineering Computer.
  • 学位 Ph.D.
  • 年度 2010
  • 页码 150 p.
  • 总页数 150
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号