Abstract
The BDD package Adiar manipulates Binary Decision Diagrams (BDDs) in external memory. This enables handling big BDDs, but the performance suffers when dealing with moderate-sized BDDs. This is mostly due to initializing expensive external memory data structures, even if their contents can fit entirely inside internal memory.
The contents of these auxiliary data structures always correspond to a graph cut in an input or output BDD. Specifically, these cuts respect the levels of the BDD. We formalise the shape of these cuts and prove sound upper bounds on their maximum size for each BDD operation.
We have implemented these upper bounds within Adiar. With these bounds, it can predict whether a faster internal memory variant of the auxiliary data structures can be used. In practice, this improves Adiar’s running time across the board. Specifically for the moderate-sized BDDs, this results in an average reduction of the computation time by \(86.1\%\) (median of \(89.7\%\)). In some cases, the difference is even \(99.9\%\). When checking equivalence of hardware circuits from the EPFL Benchmark Suite, for one of the instances the time was decreased by 52 h.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Commun. ACM 31(9), 1116–1127 (1988). https://doi.org/10.1145/48529.48535
Amarú, L., Gaillardon, P.E., De Micheli, G.: The EPFL combinational benchmark suite. In: 24th International Workshop on Logic & Synthesis (2015)
Amparore, E.G., Donatelli, S., Gallà, F.: starMC: an automata based CTL* model checker. PeerJ Comput. Sci. 8, e823 (2022)
Arge, L.: The I/O-complexity of ordered binary-decision diagram manipulation. In: Staples, J., Eades, P., Katoh, N., Moffat, A. (eds.) ISAAC 1995. LNCS, vol. 1004, pp. 82–91. Springer, Heidelberg (1995). https://doi.org/10.1007/BFb0015411
Arge, L.: The I/O-complexity of ordered binary-decision diagram. In: BRICS RS preprint series, vol. 29. Department of Computer Science, University of Aarhus (1996). https://doi.org/10.7146/brics.v3i29.20010
Ashar, P., Cheong, M.: Efficient breadth-first manipulation of binary decision diagrams. In: IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pp. 622–627. IEEE Computer Society Press (1994). https://doi.org/10.1109/ICCAD.1994.629886
Brace, K.S., Rudell, R.L., Bryant, R.E.: Efficient implementation of a BDD package. In: 27th Design Automation Conference (DAC), pp. 40–45. Association for Computing Machinery (1990). https://doi.org/10.1109/DAC.1990.114826
Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. C-35(8), 677–691 (1986). https://doi.org/10.1109/TC.1986.1676819
Bryant, R.E., Biere, A., Heule, M.J.H.: Clausal proofs for pseudo-Boolean reasoning. In: TACAS 2022. LNCS, vol. 13243, pp. 443–461. Springer, Cham (2022). https://doi.org/10.1007/978-3-030-99524-9_25
Bryant, R.E., Heule, M.J.H.: Dual proof generation for quantified Boolean formulas with a BDD-based solver. In: Platzer, A., Sutcliffe, G. (eds.) CADE 2021. LNCS (LNAI), vol. 12699, pp. 433–449. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-79876-5_25
Bryant, R.E., Heule, M.J.H.: Generating extended resolution proofs with a BDD-based SAT solver. In: TACAS 2021. LNCS, vol. 12651, pp. 76–93. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-72016-2_5
Chen, J., Revels, J.: Robust benchmarking in noisy environments. arXiv (2016). https://arxiv.org/abs/1608.04295
Chiang, Y.J., Goodrich, M.T., Grove, E.F., Tamassia, R., Vengroff, D.E., Vitter, J.S.: External-memory graph algorithms. In: Proceedings of the Sixth Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 139–149. SODA 1995, Society for Industrial and Applied Mathematics (1995)
Ciardo, G., Miner, A.S., Wan, M.: Advanced features in SMART: the stochastic model checking analyzer for reliability and timing. SIGMETRICS Perform. Evaluation Rev. 36(4), 58–63 (2009)
Cimatti, A., Clarke, E., Giunchiglia, F., Roveri, M.: NuSMV: a new symbolic model checker. Int. J. Softw. Tools Technol. Transfer 2, 410–425 (2000). https://doi.org/10.1007/s100090050046
Van Dijk, T., Van de Pol, J.: Sylvan: multi-core framework for decision diagrams. Int. J. Softw. Tools Technol. Transfer 19, 675–696 (2016). https://doi.org/10.1007/s10009-016-0433-2
Gammie, P., van der Meyden, R.: MCK: model checking the logic of knowledge. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 479–483. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-27813-9_41
He, L., Liu, G.: Petri net based symbolic model checking for computation tree logic of knowledge. arXiv (2020). https://arxiv.org/abs/2012.10126
Hellings, J., Fletcher, G.H., Haverkort, H.: Efficient external-memory bisimulation on DAGs. In: Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data, pp. 553–564. SIGMOD 2012, Association for Computing Machinery (2012). https://doi.org/10.1145/2213836.2213899, https://doi.org/10.1145/2213836.2213899
Kant, G., Laarman, A., Meijer, J., van de Pol, J., Blom, S., van Dijk, T.: LTSmin: high-performance language-independent model checking. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 692–707. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46681-0_61
Kunkle, D., Slavici, V., Cooperman, G.: Parallel disk-based computation for large, monolithic binary decision diagrams. In: 4th International Workshop on Parallel Symbolic Computation (PASCO), pp. 63–72 (2010). https://doi.org/10.1145/1837210.1837222
Lampis, M., Kaouri, G., Mitsou, V.: On the algorithmic effectiveness of digraph decompositions and complexity measures. Discrete Optim. 8(1), 129–138 (2011). https://doi.org/10.1016/j.disopt.2010.03.010. parameterized Complexity of Discrete Optimization
Lomuscio, A., Qu, H., Raimondi, F.: MCMAS: an open-source model checker for the verification of multi-agent systems. Int. J. Softw. Tools Technol. Transfer 19(1), 9–30 (2015). https://doi.org/10.1007/s10009-015-0378-x
Meyer, U., Sanders, P., Sibeyn, J.: Algorithms for Memory Hierarchies: Advanced Lectures. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-36574-5
Milvang-Jensen, K., Hu, A.J.: BDDNOW: a parallel BDD package. In: Gopalakrishnan, G., Windley, P. (eds.) FMCAD 1998. LNCS, vol. 1522, pp. 501–507. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-49519-3_32
Minato, S.I.: Zero-suppressed BDDs for set manipulation in combinatorial problems. In: 30th Design Automation Conference (DAC), pp. 272–277. Association for Computing Machinery (1993). https://doi.org/10.1145/157485.164890
Minato, S.I., Ishiura, N., Yajima, S.: Shared binary decision diagram with attributed edges for efficient Boolean function manipulation. In: 27th Design Automation Conference (DAC), pp. 52–57. Association for Computing Machinery (1990). https://doi.org/10.1145/123186.123225
Mølhave, T.: Using TPIE for processing massive data sets in C++. Duke University, Durham, NC, Technical report (2012)
Ochi, H., Yasuoka, K., Yajima, S.: Breadth-first manipulation of very large binary-decision diagrams. In: International Conference on Computer Aided Design (ICCAD), pp. 48–55. IEEE Computer Society Press (1993). https://doi.org/10.1109/ICCAD.1993.580030
Papadimitriou, C.H., Yannakakis, M.: Optimization, approximation, and complexity classes. J. Comput. Syst. Sci. 43(3), 425–440 (1991). https://doi.org/10.1016/0022-0000(91)90023-X
Sanghavi, J.V., Ranjan, R.K., Brayton, R.K., Sangiovanni-Vincentelli, A.: High performance BDD package by exploiting memory hierarchy. In: 33rd Design Automation Conference (DAC), pp. 635–640. Association for Computing Machinery (1996). https://doi.org/10.1145/240518.240638
Sølvsten, S.C.: BDD Benchmark. Zenodo (2023). https://doi.org/10.5281/zenodo.7040263
Sølvsten, S.C., van de Pol, J.: Adiar 1.0.1 : Experiment data (11 2021). https://doi.org/10.5281/zenodo.5638551
Sølvsten, S.C., van de Pol, J.: Adiar 1.1: zero-suppressed decision diagrams in external memory. In: Rozier, K.Y., Chaudhuri, S. (eds.) NFM 2023. LNCS, vol. 13903, pp. 464–471. Springer, Heidelberg (2023). https://doi.org/10.1007/978-3-031-33170-1_28
Sølvsten, S.C., van de Pol, J.: Adiar 1.1.0 : experiment data (2023). https://doi.org/10.5281/zenodo.7709134
Sølvsten, S.C., van de Pol, J.: Adiar 1.2.0 : experiment data (2023). https://doi.org/10.5281/zenodo.8124120
Sølvsten, S.C., van de Pol, J.: Predicting memory demands of BDD operations using maximum graph cuts (extended paper) (2023)
Sølvsten, S.C., de Pol, J., Jakobsen, A.B., Thomasen, M.W.B.: Adiar binary decision diagrams in external memory. In: TACAS 2022. LNCS, vol. 13244, pp. 295–313. Springer, Cham (2022). https://doi.org/10.1007/978-3-030-99527-0_16
Somenzi, F.: CUDD: CU decision diagram package, 3.0. Technical report, University of Colorado at Boulder (2015)
Stornetta, T., Brewer, F.: Implementation of an efficient parallel BDD package. In: Design Automation Conference Proceedings, vol. 33, pp. 641–644 (1996). https://doi.org/10.1109/DAC.1996.545653
Vengroff, D.E.: A transparent parallel I/O environment. In: In Proceedings of 1994 DAGS Symposium on Parallel Computation, pp. 117–134 (1994)
Yang, B., O’Hallaron, D.R.: Parallel breadth-first BDD construction. SIGPLAN Not. 32(7), 145–156 (1997). https://doi.org/10.1145/263767.263784
Acknowledgements
We want to thank Anna Blume Jakobsen for her help implementing the use of i-level cuts in Adiar and Kristoffer Arnsfelt Hansen for his input on the computational complexity of these cuts. Finally, thanks to the Centre for Scientific Computing, Aarhus, (phys.au.dk/forskning/cscaa/) for running our benchmarks.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Sølvsten, S.C., van de Pol, J. (2023). Predicting Memory Demands of BDD Operations Using Maximum Graph Cuts. In: André, É., Sun, J. (eds) Automated Technology for Verification and Analysis. ATVA 2023. Lecture Notes in Computer Science, vol 14216. Springer, Cham. https://doi.org/10.1007/978-3-031-45332-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-031-45332-8_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-45331-1
Online ISBN: 978-3-031-45332-8
eBook Packages: Computer ScienceComputer Science (R0)