Code cache management in managed language VMs to reduce memory consumption for embedded systems

Code cache management in managed language VMs to reduce memory consumption for embedded systems
复制标题

托管语言虚拟机中的代码缓存管理可减少嵌入式系统的内存消耗

DOI:
--
复制
发表时间:
2016
期刊:
ACM SIGPLAN Conference on Languages, Compilers, and Tools for Embedded Systems
影响因子:
--
通讯作者:
P. Kulkarni
P. Kulkarni
中科院分区:
--
文献类型:
--
作者:
Forrest J. Robinson;Michael R. Jantz;P. Kulkarni

文献摘要

被引文献

相似文献

由托管语言虚拟机(VM)中的正式(JIT)编译器生成的本机代码放置在称为代码缓存的内存区域中。从代码缓存中驱逐方法以维护执行正确性并管理给定代码缓存大小或内存预算的程序性能。改进的硬件指令缓存和I-TLB性能。在受控且独立的环境中,模拟和评估许多不同CCM政策的潜在效率。有效的CCM政策即使我们的模拟研究也可以维持高度的绩效。在Hotspot VM当前CCM子系统范围内的工作,我们在热点中最佳的CCM策略实现可改善默认CCM算法的程序性能。 39%,41%,55%和50%的代码缓存尺寸为90%,75%,50%和25%所需的缓存大小。
The compiled native code generated by a just-in-time (JIT) compiler in managed language virtual machines (VM) is placed in a region of memory called the code cache. Code cache management (CCM) in a VM is responsible to find and evict methods from the code cache to maintain execution correctness and manage program performance for a given code cache size or memory budget. Effective CCM can also boost program speed by enabling more aggressive JIT compilation, powerful optimizations, and improved hardware instruction cache and I-TLB performance. Though important, CCM is an overlooked component in VMs. We find that the default CCM policies in Oracle’s production-grade HotSpot VM perform poorly even at modest memory pressure. We develop a detailed simulation-based framework to model and evaluate the potential efficiency of many different CCM policies in a controlled and realistic, but VM-independent environment. We make the encouraging discovery that effective CCM policies can sustain high program performance even for very small cache sizes. Our simulation study provides the rationale and motivation to improve CCM strategies in existing VMs. We implement and study the properties of several CCM policies in HotSpot. We find that in spite of working within the bounds of the HotSpot VM’s current CCM sub-system, our best CCM policy implementation in HotSpot improves program performance over the default CCM algorithm by 39%, 41%, 55%, and 50% with code cache sizes that are 90%, 75%, 50%, and 25% of the desired cache size, on average.