aspen a scalable in sram architecture for pushdown
play

ASPEN: A Scalable In- SRAM Architecture for Pushdown Automata - PowerPoint PPT Presentation

ASPEN: A Scalable In- SRAM Architecture for Pushdown Automata Kevin A Angstadt , Arun Subramaniyan , Elaheh Sadredini , Reza Rahimi , Kevin Skadron , Westley Weimer , Reetuparna Das Computer Science and


  1. ASPEN: A Scalable In- SRAM Architecture for Pushdown Automata Kevin A Angstadt ∗ , Arun Subramaniyan ∗ , Elaheh Sadredini † , Reza Rahimi † , Kevin Skadron † , Westley Weimer ∗ , Reetuparna Das ∗ ∗ Computer Science and Engineering, University of Michigan † Department of Computer Science, University of Virginia This work is funded, in part, by the NSF (1763674, 1619098, CAREER-1652294 and CCF-1629450); Air Force (FA8750-17-2-0079); and CRISP, one of six centers in JUMP, a Semiconductor Research Corporation (SRC) program sponsored by DARPA.

  2. Processing Growing Quantities of Data • 2.5 quintillion bytes of data/day • Analysis /manipulation requires deserializati tion • Most data use re recursi sively- nested g grammars • XML • JSON • Poor performance on CPU • High branching Source: Domo — Data Never Sleeps 5.0 2

  3. <course> <footnote></footnote> <sln>10637</sln> <prefix>ACCTG</prefix> <crs>230</crs> <lab></lab> <sect>01</sect> <title>INT FIN ACCT</title> <credit>3.0</credit> <days>TU,TH</days> <times> <start>7:45</start> <end>9</end> </times> <place> <bldg>TODD</bldg> <room>230</room> </place> <instructor> B. MCELDOWNEY </instructor> <limit>0112</limit> <enrolled>0108</enrolled> </course> XML Nesting 3

  4. <course> A <footnote></footnote> <sln>10637</sln> B C <prefix>ACCTG</prefix> <crs>230</crs> <lab></lab> C A C <sect>01</sect> <title>INT FIN ACCT</title> B C A A <credit>3.0</credit> <days>TU,TH</days> <times> B C <start>7:45</start> <end>9</end> B C </times> <place> A <bldg>TODD</bldg> <room>230</room> B C </place> <instructor> A B. MCELDOWNEY C A </instructor> <limit>0112</limit> B C <enrolled>0108</enrolled> </course> XML Nesting Subtree Mining 4

  5. S <course> A <footnote></footnote> <sln>10637</sln> ⊣ Exp B C <prefix>ACCTG</prefix> <crs>230</crs> <lab></lab> C A C Term <sect>01</sect> <title>INT FIN ACCT</title> B C A A <credit>3.0</credit> Term int * <days>TU,TH</days> <times> B C <start>7:45</start> ( Exp <end>9</end> ) B C </times> <place> A <bldg>TODD</bldg> Term + Exp <room>230</room> B C </place> <instructor> Term int S → Exp ⊣ A B. MCELDOWNEY C A Exp → Term + Exp </instructor> ∣ Term <limit>0112</limit> B C int Term → int * Term <enrolled>0108</enrolled> ∣ ( Exp ) </course> ∣ int XML Nesting Subtree Mining Parsing 5

  6. Processing Growing Quantities of Data • Automata/RegEx help tame analysis of big data sets • Frequent Itemset/Pattern Mining • NLP Part-of-Speech Tagging • Data Deduplication • Ensemble-Based Classification • Particle Physics Analyses • Growing number of architectural solutions Source: Domo — Data Never Sleeps 5.0 6

  7. Automata/RegEx Processing Platforms Reconfigurable ial-Re Spatia Spa Existing A Architecture Custom A ASIC IC Neumann Von N 7

  8. Automata/RegEx Processing Platforms REAPR PAP Reconfigurable Micron AP Cache Automaton ial-Re Spatia Spa Existing A Architecture Custom A ASIC IC Neumann VASim DFAGE HyperScan UAP iNFAnt2 Von N Becchi, et al. HARE PCRE IBM PowerEN 8

  9. Automata/RegEx Processing Platforms REAPR PAP Reconfigurable Micron AP Cache Automaton ial-Re Spatia Spa Existing A Architecture Custom A ASIC IC CPU-Based Neumann VASim DFAGE HyperScan UAP iNFAnt2 Von N Becchi, et al. HARE PCRE IBM PowerEN 9

  10. Automata/RegEx Processing Platforms REAPR PAP Reconfigurable Micron AP Cache Automaton ial-Re Spatia Spa Existing A Architecture Custom A ASIC IC GPU-Based CPU-Based Neumann VASim DFAGE HyperScan UAP iNFAnt2 Von N Becchi, et al. HARE PCRE IBM PowerEN 10

  11. Automata/RegEx Processing Platforms REAPR PAP Reconfigurable Micron AP FPGA-Based Cache Automaton ial-Re Spatia Spa Existing A Architecture Custom A ASIC IC GPU-Based CPU-Based Neumann VASim DFAGE HyperScan UAP iNFAnt2 Von N Becchi, et al. HARE PCRE IBM PowerEN 11

  12. Automata/RegEx Processing Platforms REAPR PAP Reconfigurable Micron AP FPGA-Based Cache Automaton Finite automata are fu limited in the kinds fundam amental ally li and complexity of analyses they support ial-Re Spatia Spa PEN is a new processor—inspired by automata ASPE Existing A Architecture Custom A ASIC IC GPU-Based CPU-Based processing—that supports a richer c computational m model Neumann VASim DFAGE HyperScan UAP iNFAnt2 Von N Becchi, et al. HARE PCRE IBM PowerEN 12

  13. Automata/RegEx Processing Platforms REAPR PAP Reconfigurable Micron AP FPGA-Based Cache Automaton Finite automata are fu limited in the kinds fundam amental ally li and complexity of analyses they support ial-Re Spatia Spa PEN is a new processor—inspired by automata ASPE Existing A Architecture Custom A ASIC IC GPU-Based CPU-Based processing—that supports a richer c computational m model Neumann VASim DFAGE HyperScan UAP iNFAnt2 Von N Becchi, et al. HARE PCRE IBM PowerEN 13

  14. ASPEN Supports Richer Analyses • A ccelerated in- S RAM P ushdown EN EN gine • Scalable processing engine that uses L LLC s slices to accelerate Pushdown Automata computation • Custom five-stage datapath using SRAM lookups can process up to on one by byte per c cycle • Optimizing compiler supports ts e existi ting gra grammars , packs states efficiently, and reduces the number processing stalls • Provides additional cache when not in use 14

  15. Overview of this Talk • Pushdown Automata Refresher • Architectural Design of ASPEN • Why LLC? • Datapath innovation • Optimizations • Evaluation • XML Parsing • Subtree Mining Source: https://www.flickr.com/photos/10623456@N02/45022262771 CC BY-NC 2.0 15

  16. STACK ST ⊥ 0 0 * 0 Pop 0 Pop 1 Push ‘0’ No Push c ε * ⊥ Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push Pushdown Automata Refresher 16

  17. ST STACK ⊥ 0 0 * 0 Pop 0 Pop 1 Push ‘0’ No Push c ε * ⊥ Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push Finite State Control Pushdown Automata Refresher 17

  18. STACK ST ⊥ 0 0 * 0 Pop 0 Pop 1 Push ‘0’ No Push c ε * ⊥ Stack Memory Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push Finite State Control Pushdown Automata Refresher 18

  19. STACK ST ⊥ Input Symbol Match 0 0 * 0 Pop 0 Pop 1 Push ‘0’ No Push c ε * ⊥ Stack Memory Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push Finite State Control Pushdown Automata Refresher 19

  20. STACK ST ⊥ Input Symbol Match 0 0 * 0 Pop 0 Pop 1 Top of Stack Match Push ‘0’ No Push c ε * ⊥ Stack Memory Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push Finite State Control Pushdown Automata Refresher 20

  21. STACK ST ⊥ Input Symbol Match 0 0 * 0 Pop 0 Pop 1 Top of Stack Match Push ‘0’ No Push c ε * ⊥ Stack Memory Stack Actions Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push Finite State Control Pushdown Automata Refresher 21

  22. STACK ST ⊥ Input Symbol Match 0 0 * 0 Pop 0 Pop 1 Top of Stack Match Push ‘0’ No Push c ε Deterministic Pushdown Automata (DPDA) av avoid * ⊥ Stack Memory Stack Actions Pop 0 Pop 0 stack d divergence , but still support parsing of most No Push No Push 1 1 * common languages 1 Pop 0 Pop 1 Push ‘1’ No Push Finite State Control Pushdown Automata Refresher 22

  23. Recognizing Palindromes with a Middle Character STACK ST ⊥ 0 0 * 0 Pop 0 Pop 1 Push ‘0’ No Push c ε * ⊥ Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push 01010c0 c01010 23

  24. Recognizing Palindromes with a Middle Character STACK ST ⊥ 0 0 * 0 Pop 0 Pop 1 Push ‘0’ No Push c ε * ⊥ Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push 01010c0 c01010 24

  25. Recognizing Palindromes with a Middle Character STACK ST 0 0 0 * 0 ⊥ Pop 0 Pop 1 Push ‘0’ No Push c ε * ⊥ Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push 010 1010 10c010 1010 10 25

  26. Recognizing Palindromes with a Middle Character STACK ST 1 0 0 * 0 0 Pop 0 Pop 1 Push ‘0’ No Push c ε ⊥ * ⊥ Pop 0 Pop 0 No Push No Push 1 1 * 1 Pop 0 Pop 1 Push ‘1’ No Push 01010c0 c01010 26

  27. Recognizing Palindromes with a Middle Character STACK ST 0 0 0 * 0 1 Pop 0 Pop 1 Push ‘0’ No Push c ε 0 * ⊥ Pop 0 Pop 0 No Push No Push 1 1 ⊥ * 1 Pop 0 Pop 1 Push ‘1’ No Push 01010 01 10c010 1010 10 27

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend