Character Matching Systolic Design Character Matching A straightforward

  • Slides: 32
Download presentation
Character Matching Systolic Design — Character Matching A straightforward approach to search for a

Character Matching Systolic Design — Character Matching A straightforward approach to search for a pattern within a string of characters (string) is simple but timeconsuming. The following algorithm shows the sequence of operations. The algorithm compares the characters in the pattern against the characters in the text from left to right. This simple algorithm has a time complexity of O(m*n) where m and n are the lengths of the pattern and text.

Systolic Design — Character Matching Search for a Pattern T-index 0; While T-index <

Systolic Design — Character Matching Search for a Pattern T-index 0; While T-index < (n-m+1) DO Save T-index; P-index 0; While P-index < m and Textsave = Pattern. P-index DO Save + 1; P-index + 1; END If P-index = m then return; T-index +1; END

Systolic Design — Character Matching Concept of the finite state automaton can be used

Systolic Design — Character Matching Concept of the finite state automaton can be used to perform pattern matching operation in a time complexity of O(n). Knuth proposed an algorithm with the time complexity of O(m+n).

Systolic Design — Character Matching The proposed model is used for character matching (pattern

Systolic Design — Character Matching The proposed model is used for character matching (pattern Matching) operation. The model is composed of two kind of cells: Comparator cells, and Accumulator cells.

Systolic Design — Character Matching The comparator cells receive text and patterns from opposite

Systolic Design — Character Matching The comparator cells receive text and patterns from opposite directions and generate the Comparison results. The accumulator cells transmit information regarding delimiters and "don't care" signals. In addition, it accumulates the partial match results.

Systolic Design — Character Matching

Systolic Design — Character Matching

Systolic Design — Character Matching Algorithm in C cells: Pout Pin Sout Sin dout

Systolic Design — Character Matching Algorithm in C cells: Pout Pin Sout Sin dout (Pin = Sin)

Systolic Design — Character Matching Algorithm in A cells: lout lin Xout Xin IF

Systolic Design — Character Matching Algorithm in A cells: lout lin Xout Xin IF lin THEN rout t; t True ELSE rout rin; t t AND (Xin OR din)

Systolic Design — Character Matching Detect pattern ISSI in text MISSISSIPPI in a systolic

Systolic Design — Character Matching Detect pattern ISSI in text MISSISSIPPI in a systolic organization composed of seven cells.

Systolic Design — Character Matching Initial configuration IPPISSISSIM TEXT ISSI PATTERN

Systolic Design — Character Matching Initial configuration IPPISSISSIM TEXT ISSI PATTERN

Systolic Design — Character Matching M I I M S I I M I

Systolic Design — Character Matching M I I M S I I M I S

Systolic Design — Character Matching S I M I S S I I M

Systolic Design — Character Matching S I M I S S I I M I I S S M S S S I I

Systolic Design — Character Matching Re-circulation I S S S I S S 11

Systolic Design — Character Matching Re-circulation I S S S I S S 11 S I I I I S I S I S

Systolic Design — Character Matching S S I I S 15 I I S

Systolic Design — Character Matching S S I I S 15 I I S I S S S S S I I

Systolic Design — Character Matching P I S S P 18 S P P

Systolic Design — Character Matching P I S S P 18 S P P S I I P I S I P S I I S S I

Systolic Design — Character Matching I P P I I I P P

Systolic Design — Character Matching I P P I I I P P

Systolic Design — Character Matching General Characteristics Hardware utilization is low, since during each

Systolic Design — Character Matching General Characteristics Hardware utilization is low, since during each clock pulse only half of the cells are active. Patterns have to be cycled through the array continuously to meet all the text characters. Possible detection of more hits in the input text.

Systolic Design — Join Operation Within the scope of relational databases, join is one

Systolic Design — Join Operation Within the scope of relational databases, join is one of the most time consuming operations.

Systolic Organization Assume we have two product-compatible relations (sets) A and B. Each relation

Systolic Organization Assume we have two product-compatible relations (sets) A and B. Each relation is composed of several tuples (records). Further, let , , , . . . , then the -Join of relation A on attribute X with relation B on attribute Y is a relation consist of tuples t(<a, b>) from Cartesian product of A and B such that tx ty is true. A B = a, b A B, and t. X t. Y is true

Systolic Design — Join Operation Assume we have the following two relations: S P

Systolic Design — Join Operation Assume we have the following two relations: S P

Systolic Design — Join Operation A S. City=P. City B

Systolic Design — Join Operation A S. City=P. City B

Systolic Design — Join Operation In relational database system, join operation is used as

Systolic Design — Join Operation In relational database system, join operation is used as a measure to evaluate the performance of the system. This is due to the Complexity of the join, and application of join in de-normalizing the relations.

Systolic Design — Join Operation Let us look at a systolic model for join

Systolic Design — Join Operation Let us look at a systolic model for join operation: A collection of basic cells replicated in a two dimensional space. System is highly parallel and satisfies the constraints imposed by the VLSI technology.

Systolic Design — Join Operation A Systolic Cell a’s and b’s are the attributes

Systolic Design — Join Operation A Systolic Cell a’s and b’s are the attributes and t is a control signal that reflects the comparison between a and b.

Systolic Design — Join Operation A Systolic Cell Tout tin (ain bin) aout ain

Systolic Design — Join Operation A Systolic Cell Tout tin (ain bin) aout ain bout bin

Systolic Design — Join Operation Attributes of A relation in t 41 • •

Systolic Design — Join Operation Attributes of A relation in t 41 • • • Attributes of B relation in Elements of the Bit Matrix • • • t 13 t 14

Systolic Design — Join Operation a 12 • a 11 • b 11 •

Systolic Design — Join Operation a 12 • a 11 • b 11 • • • b 12

Systolic Design — Join Operation a 21 • a 12 a 11 • •

Systolic Design — Join Operation a 21 • a 12 a 11 • • • b 11 • b 21 b 12

Systolic Design — Join Operation a 21 a 22 • a 12 a 11

Systolic Design — Join Operation a 21 a 22 • a 12 a 11 • • • b 11 b 12 b 21 • b 22

Systolic Design — Join Operation a 31 • • a 23 a 22 •

Systolic Design — Join Operation a 31 • • a 23 a 22 • • a 14 a 13 a 21 a 12 a 11 b 12 b 21 • b 31 b 13 b 22 • • b 23 b 14 •

Systolic Design — Join Operation • a 31 a 32 • • a 24

Systolic Design — Join Operation • a 31 a 32 • • a 24 • a 23 a 22 a 14 a 13 a 21 b 11 a 12 b 12 a 11 b 21 b 13 b 22 b 31 • • b 32 b 14 b 23 • • b 24

Systolic Design — Join Operation

Systolic Design — Join Operation