Efficient Binary Decision Diagram Manipulation in External Memory

04/25/2021
by   Steffan Christ Sølvsten, et al.
0

We follow up on the idea of Lars Arge to rephrase the Reduce and Apply algorithms of Binary Decision Diagrams (BDDs) as iterative I/O-efficient algorithms. We identify multiple avenues to improve the performance of his proposed algorithms and extend the technique to other basic BDD algorithms. These algorithms are implemented in a new BDD library, named Adiar. We see very promising results when comparing the performance of Adiar with conventional BDD libraries that use recursive depth-first algorithms. For instances of about 50 GiB, our algorithms, using external memory, are only up to 3.9 times slower compared to Sylvan, exclusively using internal memory. Yet, our proposed techniques are able to obtain this performance at a fraction of the internal memory needed by Sylvan to function. Furthermore, with Adiar we are able to manipulate BDDs that outgrow main memory and so surpass the limits of the other BDD libraries.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/27/2017

External Memory Pipelining Made Easy With TPIE

When handling large datasets that exceed the capacity of the main memory...
research
02/22/2016

Recursive Algorithms for Dense Linear Algebra: The ReLAPACK Collection

To exploit both memory locality and the full performance potential of hi...
research
06/25/2021

Optimal Checkpointing for Adjoint Multistage Time-Stepping Schemes

We consider checkpointing strategies that minimize the number of recompu...
research
05/14/2018

The EPFL Logic Synthesis Libraries

We present a collection of modular open source C++ libraries for the dev...
research
07/10/2023

Predicting Memory Demands of BDD Operations using Maximum Graph Cuts (Extended Paper)

The BDD package Adiar manipulates Binary Decision Diagrams (BDDs) in ext...
research
04/12/2022

Acacia-Bonsai: A Modern Implementation of Downset-Based LTL Realizability

We describe our implementation of downset-manipulating algorithms used t...
research
03/22/2023

HermesBDD: A Multi-Core and Multi-Platform Binary Decision Diagram Package

BDDs are representations of a Boolean expression in the form of a direct...

Please sign up or login with your details

Forgot password? Click here to reset