Modeling load address behaviour through recurrences

  • Authors:
  • L. Ramos;P. Ibanez;V. Vinals;J. M. Llaberia

  • Affiliations:
  • Dept. Inf. e Ingenieria de Sistemas, Zaragoza Univ., Spain;-;-;-

  • Venue:
  • ISPASS '00 Proceedings of the 2000 IEEE International Symposium on Performance Analysis of Systems and Software
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Addresses of load instructions exhibit regularity in their behaviour which is modelled through several models (locality repetitive patterns, etc.) and exploited in processor and memory hierarchy design. Nevertheless, sparse and symbolic applications are intensive in addressing patterns not entirely covered by current models. In this work we introduce a new recurrence among load pairs called "linear link" in order to identify more regularity from such applications. A linear link is a type of recurrence between the value read by a (producer) load and the address issued by a (consumer) load, which is detected tracking on-the-fly dependencies among loads. We consider a broad workload (Nas, Olden, Perfect, Spec95 and IAbench) and conclude that linear links together with stride recurrences can identify many address streams in symbolic and scientific applications traversing either dense, linked data structures or compressed forms of sparse arrays. The two recurrence combinations identify more than 90% of the addresses in more than a half the programs (in 24 our of 55), and more than 75% of the addresses in 90% of the programs (50 our of 55). Finally, we show several measures related to the use of linear links as address predictors for executing loads speculatively and for issuing data prefetches (prediction distance ahead capacity, etc.).