Core Concepts
Ein neuartiges Schema namens XAV, das auf hochleistungsfähiges Regulärer-Ausdruck-Matching abzielt, wird in diesem Papier vorgeschlagen. XAV verwendet zunächst einen Anker-DFA, um das Zustandsexplosionsproblem von DFA zu bewältigen. Basierend auf dem Anker-DFA werden dann zwei Techniken, Vorfilterung und Regex-Zerlegung, verwendet, um die durchschnittliche Zeitkomplexität zu verbessern.
Abstract
Das Papier stellt ein neuartiges Regulärer-Ausdruck-Matching-Schema namens XAV vor, das auf hohe Durchsatzleistung abzielt. XAV besteht aus drei Hauptstufen: Xor-Filter, Anker-DFA und Verifizierung.
In der ersten Stufe verwendet XAV einen Xor-Filter, um die Anzahl der Anker-DFA-Matching-Threads zu reduzieren. Der Xor-Filter basiert auf Teilzeichenketten der Regexe und kann die meisten Eingaben schnell filtern, bevor sie an den Anker-DFA weitergeleitet werden.
In der zweiten Stufe verwendet XAV einen Anker-DFA, um das Zustandsexplosionsproblem von DFA zu vermeiden. Der Anker-DFA ist im Vergleich zu einem normalen DFA deutlich kompakter, da er nur Regexe verarbeitet, die mit einem Anker "^" beginnen. Um die durchschnittliche Zeitkomplexität des Anker-DFA zu verbessern, wird die Regex-Zerlegung eingeführt. Jeder Regex wird in kürzere lsRE-Fragmente (Length Restricted Regex) und längere lusRE-Fragmente (Length Unrestricted Regex) unterteilt. Nur die lsRE-Fragmente werden im Anker-DFA verarbeitet, während die lusRE-Fragmente in der Verifizierungsstufe überprüft werden.
In der letzten Verifizierungsstufe werden die Ergebnisse der lsRE-Fragmente aus dem Anker-DFA verwendet, um die Semantik der ursprünglichen Regexe zu überprüfen. Für die Verarbeitung der lusRE-Fragmente werden verschiedene Techniken wie DFA-Matching und Intervallüberprüfung eingesetzt.
Insgesamt kombiniert XAV den kompakten Anker-DFA mit Vorfilterung und Regex-Zerlegung, um eine hohe Durchsatzleistung bei der Regulärer-Ausdruck-Verarbeitung zu erreichen. Die Implementierung erfolgt in einer FPGA-CPU-Architektur, um die Vorteile von Hardware und Software zu nutzen.
Stats
Es gibt keine wichtigen Kennzahlen oder Zahlen in diesem Inhalt.
Quotes
Es gibt keine bemerkenswerten Zitate in diesem Inhalt.