skip to main content
article

A performance study of data layout techniques for improving data locality in refinement-based pathfinding

Published: 31 December 2004 Publication History

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 (CR), find quality 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 transformations aimed at improving the data reference locality of CR. These transformations are robust to changes in computer architecture and the degree of compiler optimization. We test our alternative designs on four contemporary architectures, using two compilers for each machine. In our experiments, the application of these techniques results in performance improvements of up to 67% with consistent improvements above 15%. Analysis reveals that these improvements stem from improved data reference locality at the page level and to a lesser extent at the cache line level.

References

[1]
Agarwal, P. K., Arge, L., Murali, T. M., Varadarajan, K. R., and Vitter, J. S. 1998. I/O-efficient algorithms for contour-line extraction and planar graph blocking. In Ninth Symposium on Discrete Algorithms (SODA). 117--126.]]
[2]
Arge, L., Bender, M. A., Demaine, E. D., Holland-Minkley, B., and Munro, J. I. 2002. Cacheoblivious priority queue and graph algorithm applications. In Annual ACM Symposium on Theory of Computing. 268--276.]]
[3]
Arge, L., Brodal, G. S., and Toma, L. 2000. On external memory MST, SSSP and multi-way planar graph separation. Available at citeseer.nj.nec.com/293177.html.]]
[4]
Brodal, G. S. and Fagerberg, R. 2003. On the limits of cache-obliviousness. In ACM Symposium on Theory of Computing. 307--315.]]
[5]
Calder, B.,Chandra, K., John, S., and Austin, T. 1998. Cache-conscious data placement. In Architectural Support for Programming Languages and Operating Systems (ASPLOS-VIII). 139--149.]]
[6]
Chiang, Y.-J., Goodrich, M. T., Grove, E. F., Tamassia, R., Vengroff, D. E., and Vitter, J. S. 1995. External-memory graph algorithms. In Symposium on Discrete Algorithms. 139--149.]]
[7]
Chilimbi, T. M. and Hirzel, M. 2002. Dynamic hot data stream prefetching for general-purpose programs. In Programming Language Design and Implementation (PLDI), Berlin, Germany. 199--209.]]
[8]
Chilimbi, T. M., Hill, M. D., and Larus, J. R. 1999. Cache-conscious structure layout. In Programming Language Design and Implementation (PLDI), Atlanta, GA. 1--12.]]
[9]
Cormen, T. H., Leiserson, C. E., and Rivest, R. L. 1991. Introduction to Algorithms. The MIT Press.]]
[10]
Correspondence With David C. Pottinger of Ensemble Studios.]]
[11]
Deloura, M., Ed. 2000. Game Programming Gems, vol. 1. Charles River Media.]]
[12]
Daz, J., Petit, J., and Serna, M. 2002. Asurvey of graph layout problems. ACM Computing Surveys (CSUR) 34, 3, 313--356.]]
[13]
Edelkamp, S. and Andmeyer, U. 2001. Theory and practice of time-space trade-offs in memory limited search. In Lecture Notes in Computer Science, vol. 2174. 169--184.]]
[14]
Edelkamp, S. and Schrödl, S. 2000. Localizing A*. In Seventeenth National Conference on Artifi-cial Intelligence (AAAI-2000). 885--890.]]
[15]
Freecraft real-time strategy gaming engine. Available at http://www.freecraft.net.]]
[16]
Frigo, M., Leiserson, C. E., Prokop, H., and Ramachandran, S. 1999. Cache-oblivious algorithms. In 40th Annual Symposium on Foundations of Computer Science. IEEE, 285--298.]]
[17]
Gibbs, N. E., W. G. Poole, J., and Stockmeyer, P. K. 1976. A comparison of several bandwidth and profile reduction algorithms. ACM Trans. Math. Softw. 2, 4, 322--330.]]
[18]
Holte, R. C., Mkadmi, T., Zimmer, R. M., Andmacdonald, A. J. 1996. Speeding up problem solving by abstraction: A graph oriented approach. Artif. Intell. 85, 1--2, 321--361.]]
[19]
Karypis, G., Aggarwal, R., Kumar, V., and Shekhar, S. 1997. Multilevel hypergraph partitioning: application in VLSI domain. In Thirty-Fourth Annual Conference on Design Automation Conference. 526--529.]]
[20]
Korf, R. 2003. Delayed duplicate detection: Extended abstract. In International Joint Conference on Artificial Intelligence. 1539--1541.]]
[21]
Meyer, U., Sanders, P., and Sibeyn, J. F., eds. 2003. Algorithms for Memory Hierarchies, Advanced Lectures {Dagstuhl Research Seminar, March 10--14, 2002}. Lecture Notes in Computer Science, vol. 2625. Springer, Berlin.]]
[22]
Niewiadomski, R., Amaral, J. N., and Holte, R. C. 2003. Crafting data structures: A study of reference locality in refinement-based path finding. In International Conference on High Performance Computing (HiPC), Hyderabad, India.]]
[23]
Nodine, M. H., Goodrich, M. T., and Vitter, J. S. 1993. Blocking for external graph searching. In Symposium on Principles of Database Systems (PODS 93). 222--232.]]
[24]
Patel, A. M. and Cote, L. C. 1981. Partitioning for VLSI placement problems. In Eighteenth Design Automation Conference. 411--418.]]
[25]
Pinar, A. and Heath, M. T. 1999. Improving performance of sparse matrix-vector multiplication. In ACM/IEEE Conference on Supercomputing.]]
[26]
Pottinger, D. C. 2000. Terrain analysis in realtime strategy games. In Game Developers Conference Proceedings.]]
[27]
Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P. 1992. Numerical Recipes in C: The Art of Scientific Computing, 2nd ed. Cambridge University Press. 284.]]
[28]
Russell, S. J. 1992. Efficient memory-bounded search methods. In 10th European Conference on Artificial Intelligence (ECAI 92), Vienna, Austria. 1--5.]]
[29]
Singh, S., Simmons, R., Smith, T., Stentz, A., Verma, V., Yahja, A., and Schwehr, K. 2000. Recent progress in local and global traversability for planetary rovers. In IEEE International Conference on Robotics and Automation.]]
[30]
Stoutchinin, A., Amaral, J. N., Gao, G. R., Dehnert, J., Jain, S., and Douillet, A. 2001. Speculative pointer prefetching of induction pointers. In Compiler Construction 2001-European Joint Conferences on Theory and Practice of Software, Genova, Italy. 289--303.]]
[31]
Vitter, J. S. 2001. External memory algorithms and data structures: dealing with massive data. ACM Comput. Surv. 33, 2, 209--271.]]
[32]
Winwood, S., Shuf, Y., and Franke, H. 2002. Multiple page size support in the Linux kernel. In Proceedings of the Ottawa Linux Symposium. 573--593.]]
[33]
Yahja, A., Stentz, A., Singh, S., and Brumitt, B. L. 1998. Framed-quadtree path planning for mobile robots operating in sparse environments. In IEEE International Conference on Robotics and Automation.]]

Cited By

View all
  • (2011)Social based layouts for the increase of locality in graph operationsProceedings of the 16th international conference on Database systems for advanced applications - Volume Part I10.5555/1997305.1997356(558-569)Online publication date: 22-Apr-2011
  • (2011)Using Quadtrees for Realtime Pathfinding in Indoor EnvironmentsResearch and Education in Robotics - EUROBOT 201010.1007/978-3-642-27272-1_6(72-78)Online publication date: 2011
  • (2007)Generic discrete event simulations using DEGAS:ACM SIGAda Ada Letters10.1145/1315607.1315592XXVII:3(27-40)Online publication date: 4-Nov-2007
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Journal of Experimental Algorithmics
ACM Journal of Experimental Algorithmics  Volume 9, Issue
2004
189 pages
ISSN:1084-6654
EISSN:1084-6654
DOI:10.1145/1005813
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 December 2004
Published in JEA Volume 9

Author Tags

  1. Cache-conscious algorithms
  2. classical refinement
  3. pathfinding

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2011)Social based layouts for the increase of locality in graph operationsProceedings of the 16th international conference on Database systems for advanced applications - Volume Part I10.5555/1997305.1997356(558-569)Online publication date: 22-Apr-2011
  • (2011)Using Quadtrees for Realtime Pathfinding in Indoor EnvironmentsResearch and Education in Robotics - EUROBOT 201010.1007/978-3-642-27272-1_6(72-78)Online publication date: 2011
  • (2007)Generic discrete event simulations using DEGAS:ACM SIGAda Ada Letters10.1145/1315607.1315592XXVII:3(27-40)Online publication date: 4-Nov-2007
  • (2007)FormaACM Transactions on Programming Languages and Systems10.1145/1290520.129052230:1(2-es)Online publication date: 1-Nov-2007
  • (2007)The “real” approximation factor of the MST heuristic for the minimum energy broadcastingACM Journal of Experimental Algorithmics10.1145/1187436.121658711(2.10-es)Online publication date: 9-Feb-2007
  • (2007)Cache-efficient string sorting using copyingACM Journal of Experimental Algorithmics10.1145/1187436.118743911(1.2-es)Online publication date: 9-Feb-2007
  • (2007)Multipattern string matching with q-gramsACM Journal of Experimental Algorithmics10.1145/1187436.118743811(1.1-es)Online publication date: 9-Feb-2007
  • (2006)Tree-traversal orientation analysisProceedings of the 19th international conference on Languages and compilers for parallel computing10.5555/1757112.1757136(220-234)Online publication date: 2-Nov-2006
  • (2006)Conclusions of the ARTIST2 roadmap on control of computing systemsACM SIGBED Review10.1145/1164050.11640533:3(11-20)Online publication date: 1-Jul-2006
  • (2006)Research trends in real-time computing for embedded systemsACM SIGBED Review10.1145/1164050.11640523:3(1-10)Online publication date: 1-Jul-2006
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media