Asynchronous Automata Processing on GPUs

Hongyuan Liu, Sreepathi Pai, Adwait Jog

Research output: Contribution to journalArticlepeer-review

Abstract

Finite-state automata serve as compute kernels for application domains such as pattern matching and data analytics. Existing approaches on GPUs exploit three levels of parallelism in automata processing tasks: 1) input stream level, 2) automaton-level, and 3) state-level. Among these, only state-level parallelism is intrinsic to automata while the other two levels of parallelism depend on the number of automata and input streams to be processed. As GPU resources increase, a parallelism-limited automata processing task can underutilize GPU compute resources. To overcome this, we propose AsyncAP, a low-overhead approach that optimizes scalability and throughput. Our insight is that most automata processing tasks have an additional source of parallelism originating from the input symbols which has not been leveraged before. By making the matching process asynchronous, which involves having parallel GPU threads process an input stream from different input locations instead of processing it serially, AsyncAP is able to significantly improve throughput and scale with input length. Detailed evaluation across 12 applications shows that AsyncAP achieves an average speedup of 58x speedup over the state-of-the-art GPU automata processing engine when the task does not have enough parallelism to utilize all GPU cores. When tasks have enough parallelism to utilize GPU cores, AsyncAP still achieves 2.4x speedup.

Original languageEnglish
Pages (from-to)23-24
Number of pages2
JournalPerformance Evaluation Review
Volume51
Issue number1
DOIs
StatePublished - 19 Jun 2023

Keywords

  • automata processing
  • GPGPUS
  • pattern matching

Fingerprint

Dive into the research topics of 'Asynchronous Automata Processing on GPUs'. Together they form a unique fingerprint.

Cite this