Energy Behavior of Java Applications from the Memory Perspective

Energy Behavior of Java Applications from the Memory Perspective
复制标题

从内存角度看 Java 应用程序的能量行为

DOI:
--
复制
发表时间:
2001
期刊:
Java Virtual Machine Research and Technology Symposium
影响因子:
--
通讯作者:
M. J. Irwin
M. J. Irwin
中科院分区:
--
文献类型:
--
作者:
N. Vijaykrishnan;M. Kandemir;Soontae Kim;S. Tomar;A. Sivasubramaniam;M. J. Irwin

文献摘要

被引文献

相似文献

随着移动和嵌入式环境的计算设备预期的急剧增长,能源意识的硬件和软件设计已与性能一起进行了中心阶段。同时,越来越需要为应用程序开发和互操作性提供便携式和无缝的软件环境。本文通过在执行Java应用程序中检查记忆系统的能量行为,在这两个新兴趋势的汇合处迈出了重要一步。理解和优化内存系统的能量行为至关重要,因为在执行Java应用程序时,引用内存的指令可能会导致大部分能量消耗。 本文使用现成的JVM,经过验证的内存能量模型和详细的模拟器,在执行JIT和解释器模式中执行SPEC JVM98基准时,通过缓存和主内存来表征能量消耗。为不同的硬件组件(指令缓存,数据缓存,内存)和软件组件(类加载,垃圾收集,动态汇编)介绍了能耗。这种表征的结果对高速缓存组织的硬件设计人员和降低能源消耗的建筑增强功能有用。它们对应用程序和运行时系统设计人员也很有用,可以识别能量瓶颈,以及代码重组或算法重新设计以减轻这些瓶颈。
With the anticipated dramatic growth of computing devices for mobile and embedded environments, energy conscious hardware and software design has taken center-stage together with performance. At the same time, there is an increasing need to provide a portable and seamless software environment for application development and interoperability. This paper takes an important step in the confluence of these two emerging trends, by examining the energy behavior of the memory system in the execution of Java applications. It is crucial to understand and optimize the energy behavior of the memory system since instructions referencing memory can contribute to a large fraction of the energy consumption when executing Java applications. Using an off-the-shelf JVM, a validated memory energy model, and a detailed simulator, this paper presents a characterization of the energy consumption by the cache and main memory when executing the SPEC JVM98 benchmarks in the JIT and interpreter modes. The energy consumption is profiled for the different hard-ware components (instruction cache, data cache, memory) and software components (class loading, garbage collection, dynamic compilation). The results from such a characterization are useful to the hardware designer for cache organizations and architectural enhancements for reducing energy consumption. They are also useful to the application and runtime system designer to identify energy bottlenecks, and for code restructuring or algorithm redesign to alleviate these bottlenecks.