Multicore and manycore parallelization of cheap synchronizing sequence heuristics

Karahoda, Sertaç and Erenay, Osman Tufan and Kaya, Kamer and Türker, Uraz Cengiz and Yenigün, Hüsnü (2020) Multicore and manycore parallelization of cheap synchronizing sequence heuristics. Journal of Parallel and Distributed Computing, 140 . pp. 13-24. ISSN 0743-7315 (Print) 1096-0848 (Onilne)

[thumbnail of JPDC-MulticoreAndManycoreParallelizationOfCheapSynchronizingSequenceHeuristics.pdf] PDF
JPDC-MulticoreAndManycoreParallelizationOfCheapSynchronizingSequenceHeuristics.pdf
Restricted to Registered users only

Download (1MB) | Request a copy

Abstract

An important concept in finite state machine based testing is synchronization which is used to initialize an implementation to a particular state. Usually, synchronizing sequences are used for this purpose and the length of the sequence used is important since it determines the cost of the initialization process. Unfortunately, the shortest synchronization sequence problem is NP-Hard. Instead, heuristics are used to generate short sequences. However, the cubic complexity of even the fastest heuristic algorithms can be a problem in practice. In order to scale the performance of the heuristics for generating short synchronizing sequences, we propose algorithmic improvements together with a parallel implementation of the cheapest heuristics existing in the literature. To identify the bottlenecks of these heuristics, we experimented on random and slowly synchronizing automata. The identified bottlenecks in the algorithms are improved by using algorithmic modifications. We also implement the techniques on multicore CPUs and Graphics Processing Units (GPUs) to take benefit of the modern parallel computation architectures. The sequential implementation of the heuristic algorithms are compared to our parallel implementations by using a test suite consisting of 1200 automata. The speedup values obtained depend on the size and the nature of the automaton. In our experiments, we observe speedup values as high as 340x by using a 16-core CPU parallelization, and 496x by using a GPU. Furthermore, the proposed methods scale well and the speedup values increase as the size of the automata increases.
Item Type: Article
Uncontrolled Keywords: Software testing, finite state automata, synchronizing sequences, parallel algorithms, graphics processing units
Subjects: Q Science > QA Mathematics > QA075 Electronic computers. Computer science
Q Science > QA Mathematics > QA076 Computer software
Divisions: Faculty of Engineering and Natural Sciences > Academic programs > Computer Science & Eng.
Faculty of Engineering and Natural Sciences
Depositing User: Hüsnü Yenigün
Date Deposited: 24 Aug 2021 16:53
Last Modified: 29 Jul 2023 23:40
URI: https://research.sabanciuniv.edu/id/eprint/41737

Actions (login required)

View Item
View Item