Avoiding initialization misses to the heap

Avoiding initialization misses to the heap
复制标题

避免堆初始化缺失

DOI:
--
复制
发表时间:
2002
期刊:
Proceedings 29th Annual International Symposium on Computer Architecture
影响因子:
--
通讯作者:
B. Black
B. Black
中科院分区:
--
文献类型:
--
作者:
J. A. Lewis;Mikko H. Lipasti;B. Black

文献摘要

被引文献

相似文献

本文研究了一类可以完全消除的主存访问(无效内存流量)。无效内存流量是传输无效数据的真实的数据流量。通过跟踪动态内存分配的初始化,可以识别丢失该高速缓存并将获取未初始化的堆数据的存储指令。可以避免与这些初始化未命中相关联的数据传输,而不会丢失正确性。对于在堆分配下实现良好性能至关重要的内存系统属性是缓存安装-将新对象分配和初始化到该高速缓存中而不受惩罚的能力。以高速缓存块粒度跟踪堆初始化使得高速缓存安装机制能够提供到该高速缓存中的零延迟预取。我们提出了一种硬件机制,分配范围缓存,可以有效地识别初始化存储未命中堆和触发缓存安装,以避免无效的内存流量。所得结果进行了介绍和讨论。
This paper investigates a class of main memory accesses (invalid memory traffic) that can be eliminated altogether. Invalid memory traffic is real data traffic that transfers invalid data. By tracking the initialization of dynamic memory allocations, it is possible to identify store instructions that miss the cache and would fetch uninitialized heap data. The data transfers associated with these initialization misses can be avoided without losing correctness. The memory system property crucial for achieving good performance under heap allocation is cache installation - the ability to allocate and initialize a new object into the cache without a penalty. Tracking heap initialization at a cache block granularity enables cache installation mechanisms to provide zero-latency prefetching into the cache. We propose a hardware mechanism, the allocation range cache, that can efficiently identify initializing store misses to the heap and trigger cache installations to avoid invalid memory traffic. The results obtained are presented and discussed.