Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten

Ähnliche Dokumente
Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten

TU5 Aussagenlogik II

Logik für Informatiker

Formale Systeme. Das Erfu llbarkeitsproblem. Prof. Dr. Bernhard Beckert, WS 2017/2018

Universität Potsdam Seminar: Automatic Problem Solving. SAT und DPLL. Falko Zander

TU9 Aussagenlogik. Daniela Andrade

Logik für Informatiker

Übersicht aktueller heterogener FPGA-SOCs

Bisher. minimale DNF. logischen Formeln Booleschen Funktionen Schaltungen

Aussagenlogische Widerlegungsverfahren zum Nachweis logischer Eigenschaften und Beziehungen

Künstliche Intelligenz Logische Agenten & Resolution

Übung 4: Aussagenlogik II

Grundlagen der Theoretischen Informatik

Grundlagen der Künstlichen Intelligenz

Reduzierung der Zykluszeiten von Pincheck- und Hochspannungsprüfungen für Automotive-Steckverbinder unter Verwendung modularer NI-FPGA-Technologie

Logik für Informatiker

- SMT und DPLL(T ) Entscheidungsverfahren mit Anwendungen in der Softwareverifikation.

Teil 1: Digitale Logik

Was bisher geschah: klassische Aussagenlogik

Tableaukalkül für Aussagenlogik

Algorithmen für OBDD s. 1. Reduziere 2. Boole sche Operationen

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/37

Computational Logic Algorithmische Logik Boolesche Algebra und Resolution

Programmierbare Logik CPLDs. Studienprojekt B Tammo van Lessen

Beispiel Aussagenlogik nach Schöning: Logik...

FPGA. Field Programmable Gate Array

Aussagenlogik. Übersicht: 1 Teil 1: Syntax und Semantik. 2 Teil 2: Modellierung und Beweise. Aussagenlogik H. Kleine Büning 1/25

3 Aussagenlogik I - die Sprache AL

Lernen mit Queries. Hans Kleine Büning Institut für Informatik, Universität Paderborn Paderborn (Germany),

Syntax der Aussagenlogik. Vorlesung Logik Sommersemester 2012 Universität Duisburg-Essen. Formel als Syntaxbaum. Teilformel A 3 A 1 A 4

Fakultät Informatik Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur. Diplomverteidigung

Entwurf eines FPGA-Cores zur Simulationsbeschleunigung zeitkontinuierlicher Modelle im HiL Kontext

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

Logik. Logik. Vorkurs Informatik Theoretischer Teil WS 2013/ September Vorkurs Informatik - Theorie - WS2013/14

Hardware Programmierbare Logik

Logik Vorlesung 3: Äquivalenz und Normalformen

Anwenderprogrammierbare

Grundlagen der Programmierung

5.1 Inferenz. Theorie der Informatik. Theorie der Informatik. 5.1 Inferenz. 5.2 Resolutionskalkül. 5.3 Zusammenfassung. Inferenz: Motivation

ANALYSE DER LATENZEN IM KOMMUNIKATIONSSTACK EINES PCIE-GEKOPPELTEN FPGA-BESCHLEUNIGERS. Sascha Kath

Teil 1: Digitale Logik

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Informatik A. Prof. Dr. Norbert Fuhr auf Basis des Skripts von Prof. Dr. Wolfram Luther und der Folien von Peter Fankhauser

Logik für Informatiker

Syntax. 1 Jedes A AS AL ist eine (atomare) Formel. 2 Ist F eine Formel, so ist auch F eine Formel. 3 Sind F und G Formeln, so sind auch

Erfüllbarkeit und Allgemeingültigkeit

Theorie der Informatik. Theorie der Informatik. 2.1 Äquivalenzen. 2.2 Vereinfachte Schreibweise. 2.3 Normalformen. 2.

3. Grundlegende Begriffe von Logiken - Aussagenlogik

Aussagenlogik. Motivation Syntax Semantik Erfüllbarkeit SAT-Solver Kompaktheit Beweiskalküle

13 Programmierbare Speicher- und Logikbausteine

Binäre Suchbäume (binary search trees, kurz: bst)

Aussagenlogische Kalküle

Erweiterung einer adaptiven OFDM-Übertragungsstrecke mit automatischer Modulationserkennung (AMC) in LabVIEW

Grundlagen der Logik

Aufgabe. Gelten die folgenden Äquivalenzen?. 2/??

REKONFIGURIERBARE ARCHITEKTUREN. Robert Rasche

Einführung in die Theoretische Informatik

F Programmierbare Logikbausteine

1 Aussagenlogischer Kalkül

Kapitel L:II. II. Aussagenlogik

Logik für Informatiker

Untersuchungen zur effizienten Implementierung eines mathematischen Algorithmus in einem FPGA am Beispiel eines Sudoku-Lösers

CUDA 3SAT-Solver Boolean Satisfiability VS. nvidia CUDA

Ein Vortrag von Kamal Laghmari im Fach: Technische Informatik

Allgemeingültige Aussagen

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2014/2015

Was ist Logik? Was ist Logik? Aussagenlogik. Wahrheitstabellen. Geschichte der Logik eng verknüpft mit Philosophie

4. Logik und ihre Bedeutung für WBS

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Rechnerstrukturen, Teil 1. Vorlesung 4 SWS WS 14/15

Modellierungsmethoden der Informatik Kapitel 2: Logikkalküle

Dank. Theoretische Informatik II. Teil VI. Vorlesung

Aufgabe 13 (Markierungsalgorithmus). Gegeben ist die Formel F = (A D C) (E A) ( ( B D) E) A B (B D)

Grundlagen der Theoretischen Informatik

5 Zusammengesetzte und reguläre Schaltungsstrukturen

3 Boole'sche Algebra und Aussagenlogik

Dekodierung eines Funkfernschreibersignals mithilfe der Zynq-Plattform. Lehrstuhlseminar Benjamin Koch

Datenflussrechnen mit FPGAs für die biomedizinische Bildverarbeitung

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

12 Kombinatorische Suche

f(1, 1) = 1, f(x, y) = 0 sonst üblicherweise Konjunktion, manchmal auch

F Programmierbare Logikbausteine

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

Sudoku ist NP-vollständig

Ersetzbarkeitstheorem

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

Resolution und Regeln

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Logische Aussagen können durch die in der folgenden Tabelle angegebenen Operationen verknüpft werden.

Mathematik für Informatiker I

Beweisen mit Semantischen Tableaux

Kapitel 1. Aussagenlogik

AVT Spartan-3E Development Kit AVT DK S3E-500 (V1.0)

Syntax der Prädikatenlogik: Komplexe Formeln

Neuronalen Netzen. Jens Lehmann. 1. März Institut für Künstliche Intelligenz Fakultät Informatik Technische Universität Dresden

High Performance Embedded Processors

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Logik Vorlesung 9: Normalformen

Transkript:

Analyse von Ansätzen zur Beschleunigung von SAT - Lösern durch dedizierte Hardware Komponenten E. Zenker 9. November 2011 1 / 28

Gliederung 1. Field Programmable Gate Array - FPGA 2. Satisfiability Testing - SAT 3. FPGA-SAT Entwurf 4. Resultate 5. Fazit 6. Ausblick 2 / 28

FPGA - Field Programable Gate Array Logikzellen als Matrix angeordnet o Mehre Lookup Tables (LUTs) pro Logikzelle o Pro LUT ein FlipFlop I/O Zellen als spezielle Logikzellen Programmierbare Verbindungen zwischen Logikzellen Spezielle Hard Macros o Multiplizierer, Ethernet, Speicher Kontroller etc. zusätzlich Block-RAM auf FPGA integriert 3 / 28

FPGA - Field Programable Gate Array 4 / 28

Aussagenlogik Syntax Variablen der Aussagenlogik V = { 1, 2,..., n } Operationen Negation, Konjunktion, Disjunktion Literale sind Variablen oder negierte Variablen Klausel Distjunktion von Literalen C = [l 1, l 2, l 3,...] Unit Klausel Klausel, welche nur aus einem Literal besteht C = [l 1 ] 5 / 28

Aussagenlogik Syntax Formel Konjunktion von Klauseln F = C 1, C 2,... Gruppe Menge von Klauseln G = {C 1, C 2,...}, wobei jede Variable maximal einmal vorkommt Gruppierung einer Formel group : F G, weist jeder Klausel einer Formel eindeutig eine Gruppe zu. 6 / 28

Aussagenlogik Semantik Interpretation I I : var(f ) W mit W = {, } Partielle Interpretation J o Bildet nicht alle Variablen einer Formel auf einen Wahrheitswert ab o Darstellung als Liste von Literalen: J = (l 1, l 2,..., l n ) Ein Literal ist erfüllt, wenn es in J enthalten ist Eine Klausel C ist erfüllt, wenn mindestens ein Literal in C erfüllt ist. Eine Formel F ist erfüllt, wenn alle Klauseln in F erfüllt sind 7 / 28

Aussagenlogik Semantik Redukt F J o Alle Klauseln, welche mindestens ein erfülltes Literal aus J enthalten, werden aus F entfernt. o Alle Literale, welche negiert in J vorkommen, werden aus ihren Klauseln in F entfernt. 8 / 28

Lösen des SAT-Problems Gegeben: o Eine Formel F F = [1, 3], [ 2, 5, 6], [ 1, 4, 6], [ 1, 2, 4, 5], [ 1, 2] o Eine leere partielle Interpretation J Gesucht: Ein Modell für die Formel, wenn vorhanden J = (1, 2, 3, 4, 5, 6) Frage: Wie kann ein solches Modell gefunden werden? 9 / 28

Lösen des SAT-Problems Davis Putman Logeman Loveland (DPLL) 1. Entscheidung für eine freie Variable keine freien Variablen SAT 2. Bildung des Redukts F J (Inferenz) Leere Klausel (Konflikt): o keine Entscheidungsliteral in J UNSAT o Entfernen der Literale aus J bis zur letzten Entscheidung und Negieren der letzten Entscheidung (Rücksprung) o Algorithmus bei 2. fortführen Unit Literale werden J hinzugefügt und es geht bei 1. weiter 10 / 28

Lösen des SAT-Problems Davis Putman Logeman Loveland (DPLL) F = [1, 3], [ 2, 5, 6], [ 1, 4, 6], [ 1, 2, 4, 5], [ 1, 2] 11 / 28

FPGA-SAT Hybrider SAT-Löser o Arbeitsteilung zwischen Host-PC und FPGA o Kommunikation über Ethernet o Grundlage ist DPLL Algorithmus Host-PC o Entscheidungsheuristic o Rücksprungberechnung FPGA o Inferenz von Literalen o Konflikterkennung 12 / 28

FPGA-SAT Systemüberblick 13 / 28

FPGA-SAT Literal - Arbiter 14 / 28

FPGA-SAT Propagation - Engine 15 / 28

FPGA-SAT Literal - Lookup 16 / 28

FPGA-SAT Status - Tabelle 17 / 28

Resultate Synthese Synthese für Xilinx Virtex 5 XC5VLX50T (ML505 Entwicklerboard) Formeln in 9-SAT 256 Variablen 32 Propagation Engines mit je 128 Klauseln (4096 Klauseln) Getaktet mit 125 Mhz 18 / 28

Resultate Experimente Vergleich von Software mit Hybrid Lösung Folgende Problem-Instanzen wurden ausgewählt: o Testfall 1 : Parallele Inferenz o Testfall 2 : Serielle Inferenz o Testfall 3 : Bereits vorhandenen Instanzen 19 / 28

Resultate Parallele Inferenz F Test1 = [1, 2], [1, 3],..., [1, 32], [1, 33] Durch erfüllen von l = 1 werden mehrere Unit Klauseln erzeugt 20 / 28

Resultate Serielle Inferenz F Test2 = [1, 2], [ 2, 3], [ 3, 4], [ 4, 5][ 5, 6],..., [ 100, 101] Durch erfüllen von l = 1 wird eine Inferenzkette erzeugt 21 / 28

Resultate Vorhandene Instanzen Eckdaten ausgewählter Problem-Instanzen Instanz Variablen Klauseln Gruppen anomaly.cnf 48 261 22 flat-easy-1.cnf 90 300 8 289-sat-4x8.cnf 128 896 25 22 / 28

Resultate Vorhandene Instanzen Ausgewählter Problem-Instanzen im Vergleich Instanz Laufzeit PC Laufzeit FPGA Pakete Sendezeit anomaly.cnf 6,1 ms 10,2 ms 17 5,1 ms flat-easy-1.cnf 8,2 ms 22,0 ms 53 15,9 ms 289-sat-4x8.cnf 22,6 ms 60,7 ms 129 38,7 ms 23 / 28

Fazit Pro FPGA-SAT o Bessere parallele Verarbeitung von Literalen o Gleiche Leistung bei serieller Verarbeitung von Literalen Kontra FPGA-SAT o Große Kommunikationslatenzen durch Ethernet-Schnittstelle o Lösbare Problem-Instanzen sind sehr klein 24 / 28

Ausblick Verbesserung der Kommunikationslatenz durch schnellere Schnittstelle (HT, PCIe) FPGA-SAT-Löser ohne Host-PC Größere Problem-Instanzen durch größere Speicher (SRAM auf ML505) und verbesserten Literal Lookup Nutzung moderner Lösungtechniken (CDCL) 25 / 28

Vielen dank für Ihre Aufmerksamkeit 26 / 28

Synthese Ergebnisse Logikelement Benutzt Verfügbar Ausnutzung LUTs 10053 28800 34% davon LUTs als Logik 8348 - - davon LUTs als Speicher 1698 - - FlipFlops 5701 28800 19% Block-RAM 53 60 88% davon 18 Kbit Block-RAM 70 - - davon 36 Kbit Block-RAM 18 - - 27 / 28

28 / 28