Optimal parallel algorithms for string matching

Zvi Galil
1985 Information and Control  
Let WRAM [PRAM] be a parallel computer with p processors (RAMs) which share a common memory and are allowed simultaneous reads and writes [only simultaneous reads]. The only type of simultaneous writes allowed is a simultaneous AND: a subset of the processors may write 0 simultaneously into the same memory cell. Let t be the time bound of the computer. We design below families of p~rallel algorithms that solve the string matching problem with inputs of size n (n is the sum of lengths of the
more » ... ern and the text) and have the following performance in terms of p, t and n: (1) For WRAM: pt=O(n) for p<~n/logn (i.e., t~>logn).* (2) For PRAM: pt=O(n) for p<~n/log2n (i.e., t~>log2n). (3) For WRAM: t=constant for p=n*+~" and any e>0. (4) For WRAM: t -©(log n/log log n) for p = n. Similar families are also obtained for the problem of finding all initial palindromes of a given string.
doi:10.1016/s0019-9958(85)80031-0 fatcat:ltclehvuazb5zclomy72mq6udm