Abstract
Finite-state machine (FSM) is a fundamental computation model used by many applications. However, FSM execution is known to be "embarrassingly sequential"due to the state dependences among transitions. Existing solutions leverage enumerative or speculative parallelization to break the dependences. However, the efficiency of both parallelization schemes highly depends on the properties of the FSM and its inputs. For those exhibiting unfavorable properties, the former suffers from the overhead of maintaining multiple execution paths, while the latter is bottlenecked by the serial reprocessing among the misspeculation cases. Either way, the FSM parallelization scalability is seriously compromised.
This work addresses the above scalability challenges with two novel techniques. First, for enumerative parallelization, it proposes path fusion. Inspired by the classic NFA to DFA conversion, it maps a vector of states in the original FSM to a new (fused) state. In this way, path fusion can reduce multiple FSM execution paths into a single path, minimizing the overhead of path maintenance. Second, for speculative parallelization, this work introduces higher-order speculation to avoid the serial reprocessing during validations. This is a generalized speculation model that allows speculated states to be validated speculatively. Finally, this work integrates different schemes of FSM parallelization into a framework-BoostFSM, which automatically selects the best based on the relevant properties of the FSM. Evaluation using real-world FSMs with diverse characteristics shows that BoostFSM can raise the average speedup from 3.1× and 15.4× of the existing speculative and enumerative parallelization schemes, respectively, to 25.8× on a 64-core machine.
This work addresses the above scalability challenges with two novel techniques. First, for enumerative parallelization, it proposes path fusion. Inspired by the classic NFA to DFA conversion, it maps a vector of states in the original FSM to a new (fused) state. In this way, path fusion can reduce multiple FSM execution paths into a single path, minimizing the overhead of path maintenance. Second, for speculative parallelization, this work introduces higher-order speculation to avoid the serial reprocessing during validations. This is a generalized speculation model that allows speculated states to be validated speculatively. Finally, this work integrates different schemes of FSM parallelization into a framework-BoostFSM, which automatically selects the best based on the relevant properties of the FSM. Evaluation using real-world FSMs with diverse characteristics shows that BoostFSM can raise the average speedup from 3.1× and 15.4× of the existing speculative and enumerative parallelization schemes, respectively, to 25.8× on a 64-core machine.
| Original language | English |
|---|---|
| Title of host publication | ASPLOS XXVI - Twenty-Sixth International Conference on Architectural Support for Programming Languages and Operating Systems |
| Publisher | Association for Computing Machinery |
| Pages | 887-901 |
| ISBN (Print) | 9781450383172 |
| DOIs | |
| Publication status | Published - Apr 2021 |
| Externally published | Yes |
| Event | 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2021) - Virtual, United States Duration: 19 Apr 2021 → 23 Apr 2021 |
Publication series
| Name | International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS |
|---|
Conference
| Conference | 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2021) |
|---|---|
| Place | United States |
| Period | 19/04/21 → 23/04/21 |
Research Keywords
- Finite State Machine
- FSM
- Parallelization
- Scalability
- Speculation