machines with convergence
play

Machines with Convergence Set Enumeration Youwei Zhuo , Jinglei - PowerPoint PPT Presentation

CSE: Parallel Finite State Machines with Convergence Set Enumeration Youwei Zhuo , Jinglei Cheng, Qinyi Luo, Jidong Zhai, Yanzhi Wang, Zhongzhi Luan, Xuehai Qian University of Southern California Tsinghua University Syracuse University


  1. CSE: Parallel Finite State Machines with Convergence Set Enumeration Youwei Zhuo , Jinglei Cheng, Qinyi Luo, Jidong Zhai, Yanzhi Wang, Zhongzhi Luan, Xuehai Qian University of Southern California Tsinghua University Syracuse University Beihang University

  2. Finite State Machine (FSM) • Network Intrusion Detection • Huffman Decoding • XML Parsing ALCHEM 2 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  3. “Embarrassingly Sequential” • State • Start state • Accept state S0 S0 • State transition *x / / /x * * * S0 S1 S2 S3 x x / ALCHEM 3 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  4. “Embarrassingly Sequential” • State • Start state / • Accept state S0 S0 S1 S1 • State transition *x / / /x * * * S0 S1 S2 S3 x x / ALCHEM 4 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  5. “Embarrassingly Sequential” • State • Start state / * • Accept state S0 S0 S1 S2 S1 S2 • State transition *x / / /x * * * S0 S1 S2 S3 x x / ALCHEM 5 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  6. “Embarrassingly Sequential” • State • Start state / * x • Accept state S0 S0 S1 S2 S1 S2 S2 S2 • State transition *x / / /x * * * S0 S1 S2 S3 x x / ALCHEM 6 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  7. “Embarrassingly Sequential” • State • Start state / * x x * * / • Accept state S0 S0 S1 S1 S2 S2 S2 S2 S2 S2 S3 S3 S3 S3 S0 S0 • State transition *x / / /x * * * S0 S1 S2 S3 x x / ALCHEM 7 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  8. Challenges of Parallel FSM • Divide Input into segments • Process segments in parallel? / * x x * * / S0 S0 ALCHEM 8 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  9. Challenges of Parallel FSM • Divide Input into segments • Process segments in parallel? / * x x * * / S0 S0 Same as sequential! ALCHEM 9 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  10. Challenges of Parallel FSM • Divide Input into segments • Process segments in parallel? / * x x * * / S0 S0 S1 S1 S2 S2 S2 S2 Same as sequential! ALCHEM 10 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  11. Challenges of Parallel FSM • Divide Input into segments • Process segments in parallel? / * x x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? Same as sequential! Unknown Start State? ALCHEM 11 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  12. Challenges of Parallel FSM • Divide Input into segments • Process segments in parallel? / * x x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? Same as sequential! Unknown Start State? ALCHEM 12 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  13. Enumeration • Enumerate every state as start state / * x x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? “Data -parallel finite- state machines.”, ASPLOS’14 ALCHEM 13 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  14. Enumeration • Enumerate every state as start state / * x x * * / S0 S0 S1 S2 S1 S2 S2 S2 ? ? ? ? ? S0 S0 S1 S1 S2 S2 S3 S3 “Data -parallel finite- state machines.”, ASPLOS’14 ALCHEM 14 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  15. Enumeration • Enumerate every state as start state / * x x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? S0 S0 S0 S0 S0 S0 S0 S0 S1 S1 S1 S1 S2 S2 S3 S3 S3 S3 S0 S0 S2 S2 S2 S2 S3 S3 S3 S3 S0 S0 S3 S3 S2 S2 S3 S3 S3 S3 S0 S0 “Data -parallel finite- state machines.”, ASPLOS’14 ALCHEM 15 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  16. Enumeration • Enumerate every state as start state / * x x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? S0 S0 S0 S0 S0 S0 S0 S0 S1 S1 S1 S1 S2 S2 S3 S3 S3 S3 S0 S0 S2 S2 S2 S2 S3 S3 S3 S3 S0 S0 S3 S3 S2 S2 S3 S3 S3 S3 S0 S0 Enumeration works! “Data -parallel finite- state machines.”, ASPLOS’14 ALCHEM 16 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  17. Enumeration • Enumerate every state as start state / * x x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? Overhead? S0 S0 S0 S0 S0 S0 S0 S0 S1 S1 S1 S1 S2 S2 S3 S3 S3 S3 S0 S0 S2 S2 S2 S2 S3 S3 S3 S3 S0 S0 S3 S3 S2 S2 S3 S3 S3 S3 S0 S0 Enumeration works! “Data -parallel finite- state machines.”, ASPLOS’14 ALCHEM 17 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  18. Enumeration • Enumerate every state as start state • Overhead=#State=4 / * x x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? Overhead? S0 S0 S0 S0 S0 S0 S0 S0 S1 S1 S1 S1 S2 S2 S3 S3 S3 S3 S0 S0 S2 S2 S2 S2 S3 S3 S3 S3 S0 S0 S3 S3 S2 S2 S3 S3 S3 S3 S0 S0 Enumeration works! “Data -parallel finite- state machines.”, ASPLOS’14 ALCHEM 18 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  19. Convergence • States transition to the same state * x / x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? S0 S0 S1 S1 S2 S2 S3 S3 ALCHEM 19 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  20. Convergence • States transition to the same state * x / x * * / S0 S0 S1 S2 S1 S2 S2 S2 ? ? ? ? ? S0 S0 S0 S0 S1 S1 S2 S2 S2 S2 S2 S2 S3 S3 S2 S2 ALCHEM 20 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  21. Convergence • States transition to the same state * x / x * * / S0 S0 S1 S2 S1 S2 S2 S2 ? ? ? ? ? S0 S0 S0 S0 S1 S1 S2 S2 S2 S2 S2 S2 S3 S3 S2 S2 ALCHEM 21 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  22. Convergence • States transition to the same state * x / x * * / S0 S0 S1 S2 S1 S2 S2 S2 ? ? ? ? ? S0 S0 S0 S0 S0 S0 S0 S0 S1 S1 S1 S1 S2 S2 S3 S3 S3 S3 S0 S0 S2 S2 S2 S2 S3 S3 S2 S2 ALCHEM 22 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  23. Convergence • States transition to the same state • # ReachableState in the current segment is non-increasing * x / x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? S0 S0 S0 S0 S0 S0 S0 S0 S1 S1 S1 S1 S2 S2 S3 S3 S3 S3 S0 S0 S2 S2 S2 S2 S3 S3 S2 S2 ALCHEM 23 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  24. Convergence • States transition to the same state • # ReachableState in the current segment is non-increasing • Overhead=#ReachableState=4 → 2 * x / x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? S0 S0 S0 S0 S0 S0 S0 S0 S1 S1 S1 S1 S2 S2 S3 S3 S3 S3 S0 S0 S2 S2 S2 S2 S3 S3 S2 S2 ALCHEM 24 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  25. Convergence • States transition to the same state • # ReachableState in the current segment is non-increasing • Overhead=#ReachableState=4 → 2 * x / x * * / S0 S0 S1 S1 S2 S2 S2 S2 ? ? ? ? ? S0 S0 S0 S0 S0 S0 S0 S0 S1 S1 S1 S1 S2 S2 S3 S3 S3 S3 S0 S0 S2 S2 S2 S2 Convergence works! S3 S3 S2 S2 ALCHEM 25 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  26. Speculation • Speculate one state as start state / * x x * * / S0 S0 S1 S2 S1 S2 S2 S2 ? ? ? ? ? S0 S0 S1 S1 S2 S2 S3 S3 Challenging the "embarrassingly sequential": parallelizing finite state machine- based computations through principled speculation. ASPLOS’14 ALCHEM 26 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  27. Speculation • Speculate one state as start state / * x x * * / S0 S0 S1 S2 S1 S2 S2 S2 ? ? ? ? ? S0 S0 S1 S1 S2 S2 S2 S2 S3 S3 S3 S3 S0 S0 S3 S3 Challenging the "embarrassingly sequential": parallelizing finite state machine- based computations through principled speculation. ASPLOS’14 ALCHEM 27 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

  28. Speculation • Speculate one state as start state / * x x * * / S0 S0 S1 S2 S1 S2 S2 S2 ? ? ? ? ? S0 S0 S1 S1 S2 S2 S2 S2 S3 S3 S3 S3 S0 S0 S3 S3 Challenging the "embarrassingly sequential": parallelizing finite state machine- based computations through principled speculation. ASPLOS’14 ALCHEM 28 CSE: Parallel Finite State Machines with Convergence Set Enumeration alchem.usc.edu

Recommend


More recommend