Post on 07-Jun-2020
transcript
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Automata Processor
Tobias Markus
Advanced Seminar ”Computer Engineering”
January 21, 2015
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 1 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
1 Introduction
2 Automaton Theory
3 Implementation
4 Programming the AP
5 Applications
6 Conclusion
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 2 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Future Accelerators
• Need for parallel systems
• GPUs, Cluster good for structured data
• Accelerator for difficult problem loads (e.g. patternmatching)
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 3 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
1 Introduction
2 Automaton Theory
3 Implementation
4 Programming the AP
5 Applications
6 Conclusion
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 4 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Deterministic Finite Automaton(DFA)
q0start q1 q2
1
0 1
0
1
0
• Exactly one active state
• Exactly one active transition (transition function)
• In this example detecting binary strings ending with ”01”
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 5 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Nondeterministic FiniteAutomaton (NFA)
q0start q1 q2
0,1
0 1
• Multiple active states are allowed
• Transition relation can result in multiple states
• Fewer transitions and states are possible compared to DFA
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 6 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Mathematical model
NFAs can be described by a 5-tupel:
< Q,Σ, δ, q0,F > (1)
• Q: set of automaton states
• Σ: input alphabet
• δ(q, α): transition relation
• q0: start state
• F : set of final states
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 7 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Definitions
Accepting a word
• r0 = q0
• ri+1 ∈ δ(ri , ai+1), i = 0, ..., n − 1
• rn ∈ F
The recognized Language L(M)
L(M) = {w | δ∗(q0,w) ∩ F 6= ∅} (2)
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 8 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Example
q0start q1 q2
0,1
0 1
• δ∗(q0, 0) = {q0, q1}• δ∗(q0, 00) = δ(q0, 0) ∪ δ(q1, 0) = {q0, q1} ∪ ∅ = {q0, q1}• δ∗(q0, 001) = δ(q0, 1) ∪ δ(q1, 1) = {q0} ∪ {q2} = {q0, q2}• δ∗(q0, 0010) = δ(q0, 0)∪ δ(q2, 0) = {q0, q1}∪∅ = {q0, q1}• δ∗(q0, 00101) = δ(q0, 1) ∪ δ(q1, 1) = {q0} ∪ {q2} ={q0, q2}
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 9 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
1 Introduction
2 Automaton Theory
3 Implementation
4 Programming the AP
5 Applications
6 Conclusion
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 10 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Automata Processor MemoryArray
Automata DIMM format[1]
• Is implemented in Microns standard DDR3 SDRAMtechnology
• Processes 8 bit input symbols at 1 Gbps
• Input symbol is given as row address
• Invokes operations with State Transition Elements (STE)and the Routing Matrix
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 11 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
AP Memory Array [2]
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 12 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
State Transition Element (STE)
STE [2]
Consists of:
• State memory
• State transition logic,state bit
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 13 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
State Transition Element (STE)
• State memory contains matching character or characterclass
• Each state bit can be programmed multiple start states
q0start
q1
q2
ε
ba a,b
a
q0start
q1start
q2b
a
a
a,b
a
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 14 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Counter
• 12 bit counter
• To simplify automaton
• Possible to implement a subset of pushdown automaton
• Turing complete
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 15 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Boolean Element
• Configurable to• OR• AND• NAND• NOR• sum of products• product of sums
• No state
• Also to simplify automaton
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 16 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Routing Matrix
• Programmable routing matrix to connect the STEs
• Theoretically every state must be able to connect withevery other
• Implemented hierarchically
• Grouped in row → rows grouped in blocks → grid ofblocks
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 17 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Routing Matrix
Hierarchical routing scheme [2]
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 18 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Reconfigurability and Inter RankBus
The AP is:
• Partially reconfigurable
• There is an inter rank bus to distribute input symbols overAPs
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 19 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
1 Introduction
2 Automaton Theory
3 Implementation
4 Programming the AP
5 Applications
6 Conclusion
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 20 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Programming the AP
• Perl Compatible Regular Expressions (PCRE)
• Automaton Network Markup Language (ANML)
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 21 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Description via PCRE
/a(b|c) ∗ [de]/i
PCRE example
• For some regular expressions software post-processing isneeded
• Some restrictions to assure hardware performance
• Regular Expressions can be defined within C/C++
• AP SDK is used to compile them
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 22 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
C Example
#i n c l u d e <ap comp i l e . h>
ap automaton t CreateAutomaton ( vo i d ){
ap automaton t amton ;a p e xp r db t db ;
db = AP CreateExpress ionDB ( ) ;
AP AddExpress ion ( db , NULL , ”/a ( b | c ) ∗ [ de ] / i ” , 1 ,0 , AP GRAMMAR PCRE DELIMITED) ;
AP Compile ( db , &amton , 0 , NULL , 0 ,DEVICE FAMILY FRIO) ;
AP DestroyExpress ionDB ( db ) ;
r e t u r n amton ;}
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 23 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Description via ANML
• XML-based language
• Directly describes automata
• ANML can be produced from C/C++
• ANML can be graphically developed from AP Workbench
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 24 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
1 Introduction
2 Automaton Theory
3 Implementation
4 Programming the AP
5 Applications
6 Conclusion
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 25 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Application fields for the AP
• Bioinformatics
• Network Security
• Sigint and Crypto
• Finance applications
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 26 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Network Security
• Signature based detection of known malware patterns
• AP is good for complex RegEx
• Allows generic signature matching
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 27 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Network Security [2]
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 28 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Bioinformatics
Modern DNA Sequencing workfow [3]
• Modern DNA Sequencing
• Need the assembly of overlapping sequences
• Another task, the search for motifs
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 29 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Motif matching
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 30 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
1 Introduction
2 Automaton Theory
3 Implementation
4 Programming the AP
5 Applications
6 Conclusion
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 31 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Conclusion
• Very specific applications
• Difficult to determine if the AP fits for a problem
• Defined language to describe automaton (ANML)
• Logic implemented in DDR3 SDRAM technology
• Fits good into current accelerators
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 32 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
References
• [1] Micron. Automata http://www.micronautomata.com/
• [2] Paul Glendenning Michael Leventhal Harold Noyes PaulDlugosch, Dave Brown. An efficient and scalabesemiconductor architecture for parallel automataprocessing. IEEE TRANSACTIONS ON PARALLEL ANDDISTRIBUTED SYSTEMS 25:11, 2014.
• [3] Micron. Automata applications.http://www.micronautomata.com/#applications
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 33 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Questions?
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 34 / 35
AutomataProcessor
Tobias Markus
Introduction
AutomatonTheory
Implementation
Programmingthe AP
Applications
Conclusion
Additional/New Information
Performance table from Micron AP Briefing
Tobias Markus (Advanced Seminar ”Computer Engineering”)Automata Processor January 21, 2015 35 / 35