Push vs. Pull: Data Movement for Linked Data Structures (2000)
| Venue: | In International Conference on Supercomputing |
| Citations: | 37 - 2 self |
BibTeX
@INPROCEEDINGS{Yang00pushvs.,
author = {Chia-lin Yang and Alvin R. Lebeck},
title = {Push vs. Pull: Data Movement for Linked Data Structures},
booktitle = {In International Conference on Supercomputing},
year = {2000},
pages = {176--186}
}
OpenURL
Abstract
As the performance gap between the CPU and main memory continues to grow, techniques to hide memory latency are essential to deliver a high performance computer system. Prefetching can often overlap memory latency with computation for array-based numeric applications. However, prefetching for pointer-intensive applications still remains a challenging problem. Prefetching linked data structures (LDS) is difficult because the address sequence of LDS traversal does not present the same arithmetic regularity as array-based applications and the data dependence of pointer dereferences can serialize the address generation process. In this paper, we propose a cooperative hardware/software mechanism to reduce memory access latencies for linked data structures. Instead of relying on the past address history to predict future accesses, we identify the load instructions that traverse the LDS, and execute them ahead of the actual computation. To overcome the serial nature of the LDS address genera...







