RDVIS: A Tool that Visualizes the Causes of Low Locality and Hints Program Optimizations

  • Kristof Beyls
  • Erik H. D’Hollander
  • Frederik Vandeputte
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3515)


The visualization tool rdvis is presented which aims at helping the programmer to find program transformations to improve temporal data locality. We present a number of locality metrics that capture the necessary information. Based on a cluster analysis of basic block vectors, the tool gives strong hints on which program transformations are needed. The visualizer allowed us to find the necessary transformations for three SPEC2000 programs in just a few minutes. After performing these transformations, the programs run 3 times faster on average on a number of different platforms.


Source Code Memory Access Memory Location Basic Block Memory Reference 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Berg, E., Hagersten, E.: Sip: Performance tuning through source code interdependence. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 177–186. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  2. 2.
    Beyls, K., D’Hollander, E.: Platform-independent cache optimization by pinpointing low-locality reuse. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3038, pp. 448–455. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Beyls, K., D’Hollander, E.H.: Reuse distance as a metric for cache behavior. In: Proceedings of PDCS 2001, August 2001, pp. 617–662 (2001)Google Scholar
  4. 4.
    Bosch, R., Stolte, C., et al.: Rivet: A flexible environment for computer systems visualization. Computer Graphics-US 34(1), 68–73 (2000)CrossRefGoogle Scholar
  5. 5.
    Cantin, J.F., Hill, M.D.: Cache performance for selected SPEC CPU2000 benchmarks. Computer Architecture News (CAN) (September 2001)Google Scholar
  6. 6.
    Ding, C., Zhong, Y.: Predicting whole-program locality through reuse distance analysis. In: PLDI 2003. ACM SIGPLAN Notices (2003)Google Scholar
  7. 7.
    Ghosh, S.: Cache Miss Equations: Compiler Analysis Framework for Tuning Memory Behaviour. PhD thesis, Princeton University (November 1999)Google Scholar
  8. 8.
    Goldberg, A., Hennessy, J.: Mtool: An integrated system for performance debugging shared memory multiprocessor applications. IEEE Transactions on Parallel and Distributed Systems 4(1), 28–40 (1993)CrossRefGoogle Scholar
  9. 9.
    Jain, A.K., Murty, M.N., Flynn, P.J.: Data clustering: a review. ACM Comput. Surv. 31(3), 264–323 (1999)CrossRefGoogle Scholar
  10. 10.
    Lebeck, A.R., Wood, D.A.: Cache profiling and the SPEC benchmarks: A case study. IEEE Computer 27(10), 15–26 (1994)Google Scholar
  11. 11.
    Martonosi, M., Gupta, A., Anderson, T.: Tuning memory performance in sequential and parallel programs. IEEE Computer (April 1995)Google Scholar
  12. 12.
    McKinley, K.S., Carr, S., Tseng, C.-W.: Improving data locality with loop transformations. ACM Transactions on Programming Languages and Systems 18(4), 424–453 (1996)CrossRefGoogle Scholar
  13. 13.
    Mellor-Crummey, J., Flwler, R., et al.: HPCView: a tool for top-down analysis of node performance. The Journal of Supercomputing 23, 81–104 (2002)zbMATHCrossRefGoogle Scholar
  14. 14.
    Sherwood, T., Perelman, E., Hamerly, G., Calder, B.: Automatically characterizing large scale program behavior. ASPLOS, SIGPLAN Notices 37(10), 45–57 (2002)CrossRefGoogle Scholar
  15. 15.
    Vanderdeijl, E., Temam, O., Granston, E., Kanbier, G.: The cache visualization tool. IEEE Computer 30(7), 71 (1997)Google Scholar
  16. 16.
    Weidendorfer, J., Kowarschik, M., Trinitis, C.: A tool suite for simulation based analysis of memory access behavior. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3038, pp. 440–447. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Yu, Y., Beyls, K., D’Hollander, E.: Visualizing the impact of cache on the program execution. In: Information Visualization 2001, pp. 336–341 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Kristof Beyls
    • 1
  • Erik H. D’Hollander
    • 1
  • Frederik Vandeputte
    • 1
  1. 1.Departement of Electronics and Information SystemsGhent UniversityGhentBelgium

Personalised recommendations