540 likes | 687 Views
Research Overview Parallel and Associative Computing Group and the ASC Processor Group Kent State University. Dr. Johnnie Baker, Dr. Robert Walker, and Dr. Jerry Potter (Emeritus), Michael Scherger, Wittaya Chantamas, Hong Wang Sabegh Singh Virdi, Shannon Steinfadt, Kevin Schaffer
E N D
Research OverviewParallel and Associative Computing Groupand theASC Processor GroupKent State University Dr. Johnnie Baker, Dr. Robert Walker, and Dr. Jerry Potter (Emeritus), Michael Scherger, Wittaya Chantamas, Hong Wang Sabegh Singh Virdi, Shannon Steinfadt, Kevin Schaffer Department of Computer Science Kent State University Kent, Ohio PACL and ASC Processor Research Overview
Presentation Outline • Associative and Parallel Algorithms and Applications • Design of an Associative Parallel Database Server – Michael Scherger • Longest Common Subsequence Algorithm on ASC Processors Using a Coterie Network – Sabegh Singh Virdi • Shannon’s Presentation Title Goes Here… • Multithreaded ASC – Kevin Schaffer PACL and ASC Processor Research Overview
MASC Parallel Database Server PACL and ASC Processor Research Overview
Database is resident in parallel array memory. Parallel memory map is similar to table layout. Size of parallel array is fixed during execution. Only used physical PEs. PE memory size is fixed. Table records are placed in the array memory in “folds”. Parallel array memory is allocated dynamically. Coalescing parallel memory manager. Tables will also have a set of parallel control bits. MASC Parallel Database Server PACL and ASC Processor Research Overview
Database Table List Stores base memory address of each fold Stores relative offsets of table fields Field List Fold List Dark shaded regions are occupied records for table A Light shaded regions are empty records for table A Table A2 Table A1 MASC Parallel Database Server PACL and ASC Processor Research Overview
Table B1 Table B2 Table A1 Free Parallel Memory Multiple Tables and Folds PACL and ASC Processor Research Overview
Parallel Database Operations • SQL INSERT Algorithm • Perform associative search on BI field to find first/next cell for insert. • If none found, create new fold. • Copy data from sequential to parallel memory. • O(1)…(O(#folds)) • Uses broadcast / reduction network. Table A1 Table A2 PACL and ASC Processor Research Overview
Parallel Database Operations • SQL DELETE Algorithm • Perform associative search on WHERE clause. (Flag responders) • Reset BI field where responder flag is set true. Data remains in memory. • If all PE records are idle, CPMM marks block as free. • O(1)…(O(#folds)) Table A1 Table A2 PACL and ASC Processor Research Overview
Future Work • MASC Parallel Database Server • Change the parallel memory manager to support multiple instruction streams PACL and ASC Processor Research Overview
Longest Common Subsequence Algorithm on ASC Processors using Coterie Network Sabegh Singh Virdi ASC Processor Group Computer Science Department Kent State University PACL and ASC Processor Research Overview
Presentation Outline • Introduction to String matching and its variations • Role of LCS in Molecular Biology • Overview of LCS • Brief introduction on Coterie Network • Longest Common Subsequence on Coterie Network • Exact match • Approximate match • Summary and Future work PACL and ASC Processor Research Overview
String Matching • One of the most fundamental operation in computing. • Comparing two linear arrays of character • Application in bioinformatics, searching genetic databases • String involved are how ever enormous, efficient string processing is therefore a requirement PACL and ASC Processor Research Overview
String Matching Variations • Is Exact match the only solution? • What if the pattern does not occur in the text? • It still makes sense to find the longest subsequence that occurs both in the pattern and in the text. This is the longest common subsequence problem • Longest Common Subsequence, Longest Common Substring, Sequence alignment, Edit distance Problem are all variation of SM problem PACL and ASC Processor Research Overview
Presentation Outline • String matching and its variations • Role of LCS in Molecular Biology • Overview of LCS • Brief introduction on Coterie Network • Longest Common Subsequence on Coterie Network • Exact match • Approximate match • Summary and Future work PACL and ASC Processor Research Overview
Role of LCS in Molecular biology • DNA sequences (genes) can be represented as sequences of four letters A, C, G, and T corresponding to the four submolecules forming DNA • When biologists find a new sequences, they typically want to know what other sequences it is most similar to • One way of computing how similar (homologous) two sequences are, is to find the length of their longest common subsequence PACL and ASC Processor Research Overview
Role of LCS in Molecular biology • This is a simplification, since in the biological situation one would typically take into account not only the length of the LCS, but also e.g. how gaps occur when the LCS is embedded in the two original sequences. • An obvious measure for the closeness of two strings is to find the maximum number of identical symbols (preserving symbol order) • This by definition, is the longest common subsequence of the strings PACL and ASC Processor Research Overview
Overview of LCS Algorithm • Given two strings, find the LCS common to both strings. • Example: • String 1: AGACTGAGGTA • String 2: ACTGAG • AGACTGAGGTA • - -ACTGAG - - - list of possible alignments • - -ACTGA - G- - • A- -CTGA - G- - • A- -CTGAG - - - • The time complexity of this algorithm is clearly O(nm); PACL and ASC Processor Research Overview
Overview of LCS Algorithm • Actually this time does not depend on the sequences u and v themselves but only on their lengths • The bottleneck in efficient parallelization of LCS problem are the calculating the value of diagonal elements, as shown • As seen, the value of {i,j} depend upon the previous element {i-1,j-1}, when a match is found PACL and ASC Processor Research Overview
Overview of LCS Algorithm • Possibility of more then one LCS • Associate some parameters • Take account into gap penalties • The Smith-Waterman Algorithm uses the same concept that of LCS algorithm, but gives us the optimal result PACL and ASC Processor Research Overview
Overview of LCS Algorithm A G A C T G A G G T A 00 0 0 0 0 0 0 0 0 0 0 A C T G A G 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 1 2 3 3 3 3 3 3 3 1 2 2 2 3 4 4 4 4 4 4 1 2 3 3 3 4 5 5 5 5 5 1 2 3 3 3 4 5 6 6 6 6 PACL and ASC Processor Research Overview
Communication between PE’s • In 2D mesh network, • Communication between P.E’s themselves take place in two different ways • By using the nearest neighbors mesh interconnection network • Powerful variation on the nearest-neighbor mesh called the “Coterie network”, developed in response to the requirement for nonlocal communication • Properties significantly different from the usual mesh PACL and ASC Processor Research Overview
Presentation Outline • Introduction to String matching and its variations • Role of LCS in Molecular Biology • Overview of LCS • Brief introduction on CoterieNetwork • Longest Common Subsequence on Coterie Network • Exact match • Approximate match • Summary and Future work PACL and ASC Processor Research Overview
Coteries[ Weems & Herbordt ] “A small often selected group of persons who associate with one another frequently” • Features: • Related to other Reconfigurable broadcast network • Describable using hypergraphs • Dynamic in nature • Advantages: • Propagation of information quickly over long distances at electrical speed • Support of one-to-many communication within coterie, reconfigurability of the coterie PACL and ASC Processor Research Overview
PE’s form Coteries 5 x 5 coterie network with switches shown in “arbitrary” settings. Shaded areas denotes coterie (the set of PEs Sharing same circuit) PACL and ASC Processor Research Overview
In the Physical implementation, each PE controls set of switches Four of these switches control access in the different directions (N,S,E,W) Two switches H and V are used to emulated horizontal and vertical buses The last two switches NE and NW are used to creation of eight way connected region Coterie’s Physical Structure N NE NW V E W H WS ES S : Switch PACL and ASC Processor Research Overview
Presentation Outline • Introduction to String matching and its variations • Role of LCS in Molecular Biology • Overview of LCS • Brief introduction on Coterie Network • Longest Common Subsequence on Coterie Network • Exact match • Approximate match • Summary and Future work PACL and ASC Processor Research Overview
LCS Algorithm on Coterie Network A G A C T G A G G T A PACL and ASC Processor Research Overview
LCS Algorithm on Coterie Network A G A C T G A G G T A PACL and ASC Processor Research Overview
LCS Algorithm on Coterie Network A G A C T G A G G T A A G A C T G A G G T A A G A C T G A G G T A A G A C T G A G G T A A G A C T G A G G T A A G A C T G A G G T A PACL and ASC Processor Research Overview Content of each PE’s after MULTICAST operation
LCS Algorithm on Coterie Network A C T G A G PACL and ASC Processor Research Overview
LCS Algorithm on Coterie Network A C T G A G PACL and ASC Processor Research Overview
LCS Algorithm on Coterie Network A C T G A G A C T G A G A C T G A G A C T G A G A C T G A G A C T G A G A C T G A G A C T G A G A C T G A G A C T G A G A C T G A G PACL and ASC Processor Research Overview Content of each PE’s after MULTICAST operation
LCS Algorithm on Coterie Network A G A C T G A G G T A A C T G A G 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 PACL and ASC Processor Research Overview
LCS Algorithm on Coterie Network A G A C T G A G G T A 1 0 1 0 0 0 1 0 0 0 1 A C T G A G 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 PACL and ASC Processor Research Overview Inject unique token
LCS Algorithm on Coterie Network • We try to refine the Exact Match algorithm to support approximate matching • We make use of tokens • The next example demonstrate this problem • For the string: • Text :AGACTGAGGTA • Pattern : ACTAAG PACL and ASC Processor Research Overview
Presentation Outline • Introduction to String matching and its variations • Role of LCS in Molecular Biology • Overview of LCS • Brief introduction on Coterie Network • Longest Common Subsequence on Coterie Network • Exact match • Approximate match • Summary and Future work PACL and ASC Processor Research Overview
LCS Algorithm on Coterie Network A G A C T G A G G T A 1 0 1 0 0 0 1 0 0 0 1 A C T A A G 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 PACL and ASC Processor Research Overview Inject unique token
Token method • In this method, we explicitly close the W-S switch based on some condition • Inject unique token symbols • Where the H and V switch is set within a PE’s, we close the W-S switch as shown • As the token traverse, keep track of gaps and match • Resulting a path from first row to the last row • Value in CR gives the length of LCS and in SR number of gaps occurred, first row of PE PACL and ASC Processor Research Overview
LCS Algorithm on Coterie Network A G A C T G A G G T A 1 0 1 0 0 0 1 0 0 0 1 A C T A A G 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 PACL and ASC Processor Research Overview Inject unique token
Presentation Outline • Introduction to String matching and its variations • Role of LCS in Molecular Biology • Overview of LCS • Brief introduction on Coterie Network • Longest Common Subsequence on Coterie Network • Exact match • Approximate match • Summary and Future work PACL and ASC Processor Research Overview
Summary and Future work • We have presented two variation of the lcs algorithm • We have Explored a new network for this problem • Constant time algorithm for Exact match • Approximate algorithm depends upon the diameter of the network PACL and ASC Processor Research Overview
Summary and Future work • Future Work: • Optimize the algorithm for Approximate match • Implementing the algorithm on FPGA’s model • Incorporating the Don’t Care Symbol • Extend the idea to support sequence alignment • Conserve memory by using encoding scheme • We can use Virtual simulation of PEs, in case we ran out of PEs PACL and ASC Processor Research Overview
Acknowledgements • Professor Walker • Professor Baker • Professor Weems • Professor Herbordt • Professor Piontkivska • Kevin Schaffer, Hong Wang, Shannon Steinfadt, Jalpesh Chitalia, and Michael Scherger PACL and ASC Processor Research Overview
THANK YOU PACL and ASC Processor Research Overview
Multithreaded ASC Kevin Schaffer ASC Processor Group Computer Science Department Kent State University PACL and ASC Processor Research Overview
Motivation • As we scale up the number of PEs, broadcast and reduction operations become more expensive due to wire delays • Deeper pipelines can absorb wire delays, but the cost is higher operational latencies • It becomes more difficult to keep the pipeline fully utilized, especially in associative programs • Maximum/minimum search • Branch if any responders • Possible solution: use instructions from multiple threads to keep the pipeline full PACL and ASC Processor Research Overview
Execution Time vs. Latency PACL and ASC Processor Research Overview
Throughput vs. Latency PACL and ASC Processor Research Overview
Designing a SIMD Pipeline • Separate scalar and parallel pipelines • Parallel pipeline includes extra stages to handle broadcast and reduction delays • Allows scalar and parallel instructions to complete out of order with respect to each other PACL and ASC Processor Research Overview
Broadcast Dependency • Due to the shorter scalar pipeline, forwarding can eliminate stalls caused by broadcast dependencies • A longer scalar pipeline would have caused a stall PACL and ASC Processor Research Overview