Engineering order-preserving pattern matching with SIMD parallelism

Chhabra T., FARO S., Külekci M. O., TARHIO J.

SOFTWARE-PRACTICE & EXPERIENCE, vol.47, no.5, pp.731-739, 2017 (SCI-Expanded) identifier identifier

  • Publication Type: Article / Article
  • Volume: 47 Issue: 5
  • Publication Date: 2017
  • Doi Number: 10.1002/spe.2433
  • Journal Indexes: Science Citation Index Expanded (SCI-EXPANDED), Scopus
  • Page Numbers: pp.731-739
  • Istanbul Technical University Affiliated: Yes


The order-preserving pattern matching problem has gained attention in recent years. It consists in finding all substrings in the text, which have the same length and relative order as the input pattern. Typically, the text and the pattern consist of numbers. Since recent times, there has been a tendency to utilize the ability of the word RAM model to increase the efficiency of string matching algorithms. This model works on computer words, reading and processing blocks of characters at once, so that usual arithmetic and logic operations on words can be performed in one unit of time. In this paper, we present a fast order-preserving pattern matching algorithm, which uses specialized word-size packed string matching instructions, grounded on the single instruction multiple data instruction set architecture. We show with experimental results that the new proposed algorithm is more efficient than the previous solutions. (C) 2016 The Authors. Software: Practice and Experience Published by John Wiley & Sons Ltd.