Research Article

Cache Locality-Centric Parallel String Matching on Many-Core Accelerator Chips

Algorithm 1

Generating multiple small STTs.
      Input: , where,
           : number of pattern strings
           : number of STTs we want to generate (: a multiple of 2)
           , a set of pattern strings
      Output: , where,
           and includes pattern strings belong to
()    Given , a set of 256 characters in ASCII table
()    Let
()     (i) be the number of pattern strings in which starts with character
()     (ii) and
()    foreach    do
()     Calculate
()    Sort in the descending order
()    Arrange position of based on the order of
()    foreach    which starts with character    do
()  if    then
()   Assign to , where
()  else
()   Assign to , where