Highly efficient dictionary matching in parallel

Shanmugavelayutham Muthukrishnan, K. Palem

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Abstract

    We present highly efficient parallel algorithms for several well-studied dictionary matching problems. Our algorithms are faster and more efficient in terms of their parallel work, compared to previously known results. For static dictionary matching, we present an algorithm that preprocesses the dictionary and matches the text in O(logm) parallel time and 0(M + n log m) work, given any dictionary of size M whose longest pattern is m characters long, and a text of size n. We have further improved this algorithm to solve static dictionary matching with only 0((M + n)vlog m) work, if the characters are drawn from an alphabet of constant size. A distinguishing feature of these algorithms and the one stated below for matching in higher dimensions, is that in contrast with previous work, the running times, and work overheads when applicable, are dependent only on the length of the longest pattern m. We present a parallel algorithm for d-dimensional dictionary matching that runs in O(logm) time and matches the text in 0(M + nlogm) work for any fixed d. We present a new and more efficient parallel algorithm for dynamic dictionary matching. Insertions into and deletions from the dictionary, as well as matching the text can be done with optimal speedup in 0(A log M) work and 0(log M) time. Here, A denotes the length of the string to be inserted, deleted or matched into a dictionary of size M. All of the above algorithms are designed by applying the shrink-and-spawn technique that we introduce in this paper. We also show that this technique leads to parallel algorithms that only do optimal (linear) work, for multi-dimensional pattern matching and related problems [KLP89,Rab93]. Our algorithms are deterministic, as those in [KLP89], but however, are much simpler and preserve the efficiency as well as the speed of those presented there.

    Original languageEnglish (US)
    Title of host publicationProceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993
    PublisherAssociation for Computing Machinery, Inc
    Pages69-78
    Number of pages10
    ISBN (Electronic)0897915992, 9780897915991
    DOIs
    StatePublished - Aug 1 1993
    Event5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993 - Velen, Germany
    Duration: Jun 30 1993Jul 2 1993

    Publication series

    NameProceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993

    Conference

    Conference5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993
    CountryGermany
    CityVelen
    Period6/30/937/2/93

    Fingerprint

    Glossaries
    Parallel algorithms
    Parallel Algorithms
    Efficient Algorithms
    Dictionary
    Pattern matching
    Pattern Matching
    Matching Problem
    Deletion
    Higher Dimensions
    Insertion
    Speedup
    Strings
    Denote
    Text
    Dependent

    ASJC Scopus subject areas

    • Software
    • Theoretical Computer Science
    • Hardware and Architecture

    Cite this

    Muthukrishnan, S., & Palem, K. (1993). Highly efficient dictionary matching in parallel. In Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993 (pp. 69-78). (Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993). Association for Computing Machinery, Inc. https://doi.org/10.1145/165231.165239

    Highly efficient dictionary matching in parallel. / Muthukrishnan, Shanmugavelayutham; Palem, K.

    Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993. Association for Computing Machinery, Inc, 1993. p. 69-78 (Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993).

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Muthukrishnan, S & Palem, K 1993, Highly efficient dictionary matching in parallel. in Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993. Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993, Association for Computing Machinery, Inc, pp. 69-78, 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993, Velen, Germany, 6/30/93. https://doi.org/10.1145/165231.165239
    Muthukrishnan S, Palem K. Highly efficient dictionary matching in parallel. In Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993. Association for Computing Machinery, Inc. 1993. p. 69-78. (Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993). https://doi.org/10.1145/165231.165239
    Muthukrishnan, Shanmugavelayutham ; Palem, K. / Highly efficient dictionary matching in parallel. Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993. Association for Computing Machinery, Inc, 1993. pp. 69-78 (Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993).
    @inproceedings{ae8aaffec0534c5aa26652c6d08e892c,
    title = "Highly efficient dictionary matching in parallel",
    abstract = "We present highly efficient parallel algorithms for several well-studied dictionary matching problems. Our algorithms are faster and more efficient in terms of their parallel work, compared to previously known results. For static dictionary matching, we present an algorithm that preprocesses the dictionary and matches the text in O(logm) parallel time and 0(M + n log m) work, given any dictionary of size M whose longest pattern is m characters long, and a text of size n. We have further improved this algorithm to solve static dictionary matching with only 0((M + n)vlog m) work, if the characters are drawn from an alphabet of constant size. A distinguishing feature of these algorithms and the one stated below for matching in higher dimensions, is that in contrast with previous work, the running times, and work overheads when applicable, are dependent only on the length of the longest pattern m. We present a parallel algorithm for d-dimensional dictionary matching that runs in O(logm) time and matches the text in 0(M + nlogm) work for any fixed d. We present a new and more efficient parallel algorithm for dynamic dictionary matching. Insertions into and deletions from the dictionary, as well as matching the text can be done with optimal speedup in 0(A log M) work and 0(log M) time. Here, A denotes the length of the string to be inserted, deleted or matched into a dictionary of size M. All of the above algorithms are designed by applying the shrink-and-spawn technique that we introduce in this paper. We also show that this technique leads to parallel algorithms that only do optimal (linear) work, for multi-dimensional pattern matching and related problems [KLP89,Rab93]. Our algorithms are deterministic, as those in [KLP89], but however, are much simpler and preserve the efficiency as well as the speed of those presented there.",
    author = "Shanmugavelayutham Muthukrishnan and K. Palem",
    year = "1993",
    month = "8",
    day = "1",
    doi = "10.1145/165231.165239",
    language = "English (US)",
    series = "Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993",
    publisher = "Association for Computing Machinery, Inc",
    pages = "69--78",
    booktitle = "Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993",

    }

    TY - GEN

    T1 - Highly efficient dictionary matching in parallel

    AU - Muthukrishnan, Shanmugavelayutham

    AU - Palem, K.

    PY - 1993/8/1

    Y1 - 1993/8/1

    N2 - We present highly efficient parallel algorithms for several well-studied dictionary matching problems. Our algorithms are faster and more efficient in terms of their parallel work, compared to previously known results. For static dictionary matching, we present an algorithm that preprocesses the dictionary and matches the text in O(logm) parallel time and 0(M + n log m) work, given any dictionary of size M whose longest pattern is m characters long, and a text of size n. We have further improved this algorithm to solve static dictionary matching with only 0((M + n)vlog m) work, if the characters are drawn from an alphabet of constant size. A distinguishing feature of these algorithms and the one stated below for matching in higher dimensions, is that in contrast with previous work, the running times, and work overheads when applicable, are dependent only on the length of the longest pattern m. We present a parallel algorithm for d-dimensional dictionary matching that runs in O(logm) time and matches the text in 0(M + nlogm) work for any fixed d. We present a new and more efficient parallel algorithm for dynamic dictionary matching. Insertions into and deletions from the dictionary, as well as matching the text can be done with optimal speedup in 0(A log M) work and 0(log M) time. Here, A denotes the length of the string to be inserted, deleted or matched into a dictionary of size M. All of the above algorithms are designed by applying the shrink-and-spawn technique that we introduce in this paper. We also show that this technique leads to parallel algorithms that only do optimal (linear) work, for multi-dimensional pattern matching and related problems [KLP89,Rab93]. Our algorithms are deterministic, as those in [KLP89], but however, are much simpler and preserve the efficiency as well as the speed of those presented there.

    AB - We present highly efficient parallel algorithms for several well-studied dictionary matching problems. Our algorithms are faster and more efficient in terms of their parallel work, compared to previously known results. For static dictionary matching, we present an algorithm that preprocesses the dictionary and matches the text in O(logm) parallel time and 0(M + n log m) work, given any dictionary of size M whose longest pattern is m characters long, and a text of size n. We have further improved this algorithm to solve static dictionary matching with only 0((M + n)vlog m) work, if the characters are drawn from an alphabet of constant size. A distinguishing feature of these algorithms and the one stated below for matching in higher dimensions, is that in contrast with previous work, the running times, and work overheads when applicable, are dependent only on the length of the longest pattern m. We present a parallel algorithm for d-dimensional dictionary matching that runs in O(logm) time and matches the text in 0(M + nlogm) work for any fixed d. We present a new and more efficient parallel algorithm for dynamic dictionary matching. Insertions into and deletions from the dictionary, as well as matching the text can be done with optimal speedup in 0(A log M) work and 0(log M) time. Here, A denotes the length of the string to be inserted, deleted or matched into a dictionary of size M. All of the above algorithms are designed by applying the shrink-and-spawn technique that we introduce in this paper. We also show that this technique leads to parallel algorithms that only do optimal (linear) work, for multi-dimensional pattern matching and related problems [KLP89,Rab93]. Our algorithms are deterministic, as those in [KLP89], but however, are much simpler and preserve the efficiency as well as the speed of those presented there.

    UR - http://www.scopus.com/inward/record.url?scp=0348123998&partnerID=8YFLogxK

    UR - http://www.scopus.com/inward/citedby.url?scp=0348123998&partnerID=8YFLogxK

    U2 - 10.1145/165231.165239

    DO - 10.1145/165231.165239

    M3 - Conference contribution

    AN - SCOPUS:0348123998

    T3 - Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993

    SP - 69

    EP - 78

    BT - Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 1993

    PB - Association for Computing Machinery, Inc

    ER -