Skip to main content

Push vs. pull: Data movement for linked data structures

Publication ,  Conference
Yang, CL; Lebeck, AR
Published in: Proceedings of the International Conference on Supercomputing
January 1, 2000

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 generation, we attach a prefetch controller to each level of the memory hierarchy and push, rather than pull, data to the CPU. Our simulations, using four pointer-intensive applications, show that the push model can achieve between 4% and 30% larger reductions in execution time compared to the pull model.

Duke Scholars

Published In

Proceedings of the International Conference on Supercomputing

Publication Date

January 1, 2000

Start / End Page

176 / 186
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Yang, C. L., & Lebeck, A. R. (2000). Push vs. pull: Data movement for linked data structures. In Proceedings of the International Conference on Supercomputing (pp. 176–186).
Yang, C. L., and A. R. Lebeck. “Push vs. pull: Data movement for linked data structures.” In Proceedings of the International Conference on Supercomputing, 176–86, 2000.
Yang CL, Lebeck AR. Push vs. pull: Data movement for linked data structures. In: Proceedings of the International Conference on Supercomputing. 2000. p. 176–86.
Yang, C. L., and A. R. Lebeck. “Push vs. pull: Data movement for linked data structures.” Proceedings of the International Conference on Supercomputing, 2000, pp. 176–86.
Yang CL, Lebeck AR. Push vs. pull: Data movement for linked data structures. Proceedings of the International Conference on Supercomputing. 2000. p. 176–186.

Published In

Proceedings of the International Conference on Supercomputing

Publication Date

January 1, 2000

Start / End Page

176 / 186