Diplomová práce

Ruddy: A performance-optimized BDD library in Rust

Bc. Lukáš Urban
Anotace

Binárne rozhodovacie diagramy (BDD) sú základnou dátovou štruktúrou v informatike, ktorá ponúka kompaktnú reprezentáciu Booleovských funkcií vo forme orientovaných acyklických grafov. Efektívnosť ich implementácie je kľúčová pre mnohé aplikácie, ako sú formálna verifikácia a návrh hardvéru. To následne podnietilo záujem o vývoj výkonnejších BDD knižníc. BDD algoritmy zvyčajne využívajú unikátnu tabuľku …více

Abstract

Binary decision diagrams (BDDs) are a fundamental data structure in computer science, offering a compact representation of Boolean functions as directed acyclic graphs. The efficiency of their implementation is crucial for many applications, such as formal verification and hardware design. Consequently, there has been an interest in developing more performant BDD packages. BDD algorithms typically …více

Zadání práce
Binary decision diagrams are one of the fundamental data structures in computer science. However, they can suffer from poor performance on systems with high memory latency due to high number of random access operations in common BDD algorithms. Recently, a more efficient hash table structure was proposed for manipulating BDDs [1]. In this thesis, the student should implement this proposed hash table structure in a performance optimized, production ready implementation of BDDs.

Specifically, the result should satisfy that: 
  • The BDD library is implemented in the Rust programming language.
  • The library uses dynamic pointer bit-width to reduce memory usage and increase cache hit ratio. This should include automatic growing and shrinking of the employed bit-width.
  • The library implements both standalone (each BDD owns its memory) and shared (all BDDs share a single memory pool) BDDs. For shared BDDs, a suitable garbage collection strategy should be selected and implemented.
  • The library uses elimination of unnecessarily memorized tasks according to [1].
  • The library implements a more CPU cache friendly node table proposed in [1].
The performance of the implementation will be evaluated on an appropriate set of benchmark instances, but should at least cover BDDs larger than 8GBs.

[1] Pastva, Samuel, and Thomas A. Henzinger. "Binary decision diagrams on modern hardware." Proceedings of the 23rd Conference on Formal Methods in Computer-Aided Design. 2023.
Práce zkontrolována:
22. 5. 2025 10:28, RNDr. Samuel Pastva, Ph.D., učo 410286
Jazyk práce
angličtina angličtina
Termín obhajoby
19. 6. 2025
Práce byla úspěšně obhájena

Vedoucí

RNDr. Samuel Pastva, Ph.D., učo 410286
KPSK FI MU

Oponent

RNDr. Nikola Beneš, Ph.D., učo 72525
KPSK FI MU

  • Přidání souboru

    Soubor nebo složku lze nahrát pomocí tlačítka Přidat.
  • Další operace se soubory

    Podrobnosti lze zjistit označením příslušného řádku.
  • Pohled pro experty

    Pro častou práci je možné zvolit režim Více možností.
  • Vyhledávání souborů

    Vyhledávaný výraz můžete zadat přímo do adresního řádku.
  • Rychlý přístup k souborům

    Pomocí funkce Nedávné je možné se rychle vrátit k právě prohlíženým souborům. Oblíbené soubory je také možné označit Hvězdičkou.