{'fraction_non_alphanumeric': 0.012126111560226353, 'fraction_numerical': 0.0016168148746968471, 'mean_word_length': 5.691891891891892, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Parallel Approximate Multi-Pattern Matching on Heterogeneous Cluster Systems

For the given multiple patterns and a text string, firstly, a perfect hash function is constructed, the patterns are transformed into the unique pairs of integer values in parallel by the perfect hash function, the corresponding integer values are stored in a global hash table, and a recursion expression for computing hash function value of the signatures of each sub-string of text is also proposed. Secondly, based on divisible load principle, a linear programming model for the optimal text distribution strategy is created and a parallel approximate multi-pattern matching algorithm allowing one error is presented on the heterogeneous cluster system which processors have different computing speeds and distinct communication capabilities and different memory sizes by taking into account computation and communication startup time and using the assigned processor distribution order. The experimental results on the cluster system of heterogeneous personal computers show that the presented parallel algorithm is averagely 25% faster than that one using the even text distribution strategy, and it obtains a nearly linear speedup and good scalability.