Efficient Construction of Simultaneous Deterministic Finite Automata on Multicores Using Rabin Fingerprints
Minyoung Jung, Bernd Burgstaller, Johann Blieberger

TL;DR
This paper presents optimized algorithms for constructing simultaneous deterministic finite automata (SFA) on multicore systems, utilizing fingerprints and parallel processing to significantly improve efficiency and scalability.
Contribution
It introduces a space- and time-efficient fingerprinting method for SFA states and a parallel construction algorithm optimized for multicore architectures.
Findings
Achieved up to 1,185,41x speedup on AMD system
Achieved up to 2,113,968x speedup on Intel system
Demonstrated effective reduction in memory footprint and processing steps
Abstract
In this paper, we propose several optimizations for the SFA construction algorithm, which greatly reduce the in-memory footprint and the processing steps required to construct an SFA. We introduce fingerprints as a space- and time-efficient way to represent SFA states. To compute fingerprints, we apply the Barrett reduction algorithm and accelerate it using recent additions to the x86 instruction set architecture. We exploit fingerprints to introduce hashing for further optimizations. Our parallel SFA construction algorithm is nonblocking and utilizes instruction-level, data-level, and task-level parallelism of coarse-, medium- and fine-grained granularity. We adapt static workload distributions and align the SFA data-structures with the constraints of multicore memory hierarchies, to increase the locality of memory accesses and facilitate HW prefetching. We conduct experiments on the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
Topicssemigroups and automata theory · Coding theory and cryptography · Algorithms and Data Compression
