Abstract
The widening gap between processor speed and memory latency increases the importance of crafting data structures and algorithms to exploit temporal and spatial locality. Refinement-based pathfinding algorithms, such as Classic Refinement, find near-optimal paths in very large sparse graphs where traditional search techniques fail to generate paths in acceptable time. In this paper we present a performance evaluation study of three simple data structure transformation oriented techniques aimed at improving the data reference locality of Classic Refinement. In our experiments these techniques improved data reference locality resulting in consistently positive performance improvements upwards of 51.2%. In addition, these techniques appear to be orthogonal to compiler optimizations and robust with respect to hardware architecture.
This research is partially funded by grants from the Natural Sciences and Engineering Research Council of Canada and by the Alberta Ingenuity Fund.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Personal correspondence with David C. Pottinger of Ensemble Studios
Calder, B., Chandra, K., John, S., Austin, T.: Cache-conscious data placement. In: Proceedings of the Eighth International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 139–149 (1998)
Chilimbi, T.M., Hill, M.D., Larus, J.R.: Cache-conscious structure layout. In: SIGPLAN Conference on Programming Language Design and Implementation, pp. 1–12 (1999)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. ch. 24, Dijkstra’s algorithm, pp. 598–599. MIT Press, Cambridge (2001)
DÃaz, J., Petit, J., Serna, M.: A survey of graph layout problems. ACM Computing Surveys (CSUR) 34(3), 313–356 (2002)
DeLoura, M.: Game Programming Gems, vol. 1. Charles River Media, Hingham (2000)
Edelkamp, S., Schrödl, S.: Localizing A*. In: 17th National Conference on Artificial Intelligence (AAAI-2000), pp. 885–890 (2000)
Gibbs Jr., N.E., Poole, W.G., Stockmeyer, P.K.: A comparison of several bandwidth and profile reduction algorithms. ACM Transactions on Mathematical Software (TOMS) 2(4), 322–330 (1976)
Holte, R.C., Mkadmi, T., Zimmer, R.M., MacDonald, A.J.: Speeding up problem solving by abstraction: A graph oriented approach. Artificial Intelligence 85(1-2), 321–361 (1996)
Holte, R.C., Drummond, C., Perez, M.B., Zimmer, R.M., MacDonald, A.J.: Searching with abstractions: A unifying framework and new high-performance algorithm. In: 10th Canadian Conf. on Artificial Intelligence (AI 1994), pp. 263–270 (1994)
Karypis, G., Aggarwal, R., Kumar, V., Shekhar, S.: Multilevel hypergraph partitioning: application in vlsi domain. In: Proc. 34th annual conference on Design automation conference, pp. 526–529. ACM Press, New York (1997)
Meyer, U., Sanders, P., Sibeyn, J.F. (eds.): Algorithms for Memory Hierarchies. LNCS, vol. 2625. Springer, Heidelberg (2003)
Nodine, M.H., Goodrich, M.T., Vitter, J.S.: Blocking for external graph searching. Algorithmica 16(2), 181–214 (1996)
Pinar, A., Heath, M.T.: Improving performance of sparse matrix-vector multiplication. In: Proceedings of the 1999 ACM/IEEE conference on Supercomputing (CDROM), p. 30. ACM Press, New York (1999)
Pottinger, D.C.: Terrain analysis in realtime strategy games. In: Game Developers Conference Proceedings (2000)
Russell, S.J.: Efficient memory-bounded search methods. In: 10th European Conference on Artificial Intelligence Proceedings (ECAI 1992), August 3-7, pp. 1–5 (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Niewiadomski, R., Amaral, J.N., Holte, R.C. (2003). Crafting Data Structures: A Study of Reference Locality in Refinement-Based Pathfinding. In: Pinkston, T.M., Prasanna, V.K. (eds) High Performance Computing - HiPC 2003. HiPC 2003. Lecture Notes in Computer Science, vol 2913. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24596-4_47
Download citation
DOI: https://doi.org/10.1007/978-3-540-24596-4_47
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20626-2
Online ISBN: 978-3-540-24596-4
eBook Packages: Springer Book Archive