Shared-Memory Parallel Frontier-Based Search

  • Shogo Takeuchi
  • Jun Kawahara
  • Akihiro Kishimoto
  • Shin-ichi Minato
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7748)


Knuth’s Simpath algorithm is an efficient algorithm enumerating all paths between two locations. This paper presents three approaches to parallelizing frontier-based search in Simpath in shared-memory environments: node-based, range-based and edge-based approaches. Our results on solving grid graphs show that the lock-free edge-based approach performs best and achieves seven-fold speedup with 32 CPU cores, while the others suffer from severe synchronization overhead due to locks, resulting in performance saturation with more than 12 cores.


graph algorithm enumeration Simpath parallelization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bianchi, F., Corno, F., Rebaudengo, M., Reorda, M.S., Ansaloni, R.: Boolean Function Manipulation on a Parallel System Using BDDs. In: Hertzberger, B., Sloot, P.M.A. (eds.) HPCN-Europe 1997. LNCS, vol. 1225, pp. 916–928. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  2. 2.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers C-35(8), 677–691 (1986)CrossRefGoogle Scholar
  3. 3.
    Chen, J.-S., Banerjee, P.: Parallel constuction algorithms for BDDs. In: Proceedings of the 1999 IEEE International Symposium on Circuits and Systems, ISCAS 1999, vol. 1, pp. 318–322 (1999)Google Scholar
  4. 4.
    Hardy, G., Lucet, C., Limnios, N.: K-terminal network reliability measures with binary decision diagrams. IEEE Transactions on Reliability 56(3), 506–515 (2007)CrossRefGoogle Scholar
  5. 5.
    Inoue, T., Takano, K., Watanabe, T., Kawahara, J., Yoshinaka, R., Kishimoto, A., Tsuda, K., Minato, S., Hayashi, Y.: Finding all configurations satisfying operational constraints in delivery networks by ZDDs. In: Proceedings of the Institute of Electrical Engineers of Japan National Conference (2012) (in Japanese)Google Scholar
  6. 6.
    Karp, R., Zhang, Y.: A randomized parallel branch-and-bound procedure. In: Proceedings of the 20th ACM Symposium on Theory of Computing, STOC, pp. 290–300 (1988)Google Scholar
  7. 7.
    Karp, R., Zhang, Y.: Randomized parallel algorithms for backtrack search and branch-and-bound computation. Journal of the Association for Computing Machinery 40(3), 765–789 (1993)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Knuth, D.E.: The Art of Computer Programming, 1st edn. Combinatorial Algorithms, Part 1, vol. 4A. Addison-Wesley Professional (March 2011)Google Scholar
  9. 9.
    Kumar, V., Ramesh, K., Rao, V.N.: Parallel best-first search of state-space graphs: A summary of results. In: Proceedings of the 10th National Conference Artificial Intelligence, AAAI, pp. 122–127. Press (1988)Google Scholar
  10. 10.
    Minato, S.: Zero-suppressed BDDs for set manipulation in combinatorial problems. In: Proceedings of the 30th ACM/IEEE Design Automation Conference, pp. 272–277 (1993)Google Scholar
  11. 11.
    Ochi, H., Yasuoka, K., Yajima, S.: Breadth-first manipulation of SBDD of boolean functions for vector processing. In: Procedings of the 28th ACM/IEEE Design Automation Conference, pp. 413–416 (1991)Google Scholar
  12. 12.
    Ranjan, R.K., Sanghavi, J.V., Brayton, R.K., Sangiovanni-Vincentelli, A.: Binary decision diagrams on network of workstations. In: IEEE International Conference on Computer Design: VLSI in Computers and Processors, ICCD 1996, pp. 358–364 (1996)Google Scholar
  13. 13.
    Sekine, K., Imai, H., Tani, S.: Computing the Tutte Polynomial of a Graph of Moderate Size. In: Staples, J., Katoh, N., Eades, P., Moffat, A. (eds.) ISAAC 1995. LNCS, vol. 1004, pp. 224–233. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  14. 14.
    Stornetta, T., Brewer, F.: Implementation of an efficient parallel BDD package. In: Proceedings of the 33rd Annual Design Automation Conference, DAC 1996, pp. 641–644. ACM, New York (1996)CrossRefGoogle Scholar
  15. 15.
    Yang, B., O’Hallaron, D.R.: Parallel breadth-first BDD construction. In: Proceedings of the 9th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 145–156. ACM Press (1997)Google Scholar
  16. 16.
    Yoshinaka, R., Saitoh, T., Kawahara, J., Tsuruma, K., Iwashita, H., Minato, S.: Finding all solutions and instances of numberlink and slitherlink by ZDDs. Algorithms 5(2), 176–213 (2012)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Shogo Takeuchi
    • 1
  • Jun Kawahara
    • 1
  • Akihiro Kishimoto
    • 2
  • Shin-ichi Minato
    • 3
    • 1
  1. 1.JST ERATO Minato Discrete Structure Manipulation System ProjectJapan
  2. 2.Department of Mathematical and Computing Sciences, Graduate School of Information Science and EngineeringTokyo Institute of TechnologyJapan
  3. 3.Graduate School of Information Science and TechnologyHokkaido UniversityJapan

Personalised recommendations