Efficient Implementation of a String Matching Algorithm for SRC and Cray Reconfigurable Computers Esam El-Araby 1 , Mohamed Taher 1 , Tarek El- Ghazawi 1 , Mohamed Abouellail 1 , Nandakishore Sastry 2 , and Kris Gaj 2 1 The George Washington University, 2 George Mason University
26
Embed
Efficient Implementation of a String Matching Algorithm for SRC and Cray Reconfigurable Computers Esam El-Araby 1, Mohamed Taher 1, Tarek El-Ghazawi 1,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Efficient Implementation of a String Matching Algorithm for SRC and Cray
Reconfigurable Computers
Efficient Implementation of a String Matching Algorithm for SRC and Cray
XC2VP30-50 running at up to 200 MHz 4 QDR II RAM with over 400 HSTL-I I/O at 200 MHz DDR (400 MTransfers/s) 16 bit simplified HyperTransport I/F at 400 MHz DDR (800 MTransfers/s) QDR and HT I/F take up <20 % of XC2VP30. The rest is available for user
applications
UserLogic
ADDR(20:0)D(35:0)Q(35:0)
TX
RX
RapidArrayTransport
ADDR(20:0)D(35:0)Q(35:0)
ADDR(20:0)D(35:0)Q(35:0)
ADDR(20:0)D(35:0)Q(35:0)
RapidArrayTransport
Core
QDR RAM Interface Core
QDR II SRAMRAP
Virtex-II Pro
El-Araby 13 1017 / MAPLD2005
Cray XD1 Development Flow
Hardware Flow Software Flow
Standard Hardware Flow
El-Araby 14 1017 / MAPLD2005
Cray XD1 Hardware Development Flow
Standard Flow Additional High-Level
Tools
El-Araby 15 1017 / MAPLD2005
Design Methodology using Cray XD1
Write application in C for system microprocessor
Identify computation intense routine(s)
Generate a bitstream using Cray Cores (RT & QDRII) and language of choice Create module in HDL (Verilog, VHDL) Create module using High Level Language Tools Validate Module Synthesize using (XST, Leonardo, Synplify Pro) Create bitstream using Xilinx place & route tools
Replace routines with Cray API calls
Run Application
El-Araby 16 1017 / MAPLD2005
Outline
Introduction
SRC Hardware & Software
Cray XD1 Hardware & Software
String Matching Algorithms
Implementation Methodology
Results and Comparisons
Conclusions
El-Araby 17 1017 / MAPLD2005
String Matching - Introduction
String Matching – detecting the occurrence of a particular substring, called the pattern, in another string, called the text
Types of String matching: Exact string matching Approximate string matching
Exact string matching: Involves match patterns, where they exist completely, that
is unbroken and with no irrelevant data in between any letters
Numerous Applications : NIDS, text editing, …etc.
Approximate string matching: Pattern rarely matches the text completely Finds application in Computational biology (DNA matching),
image detection, handwriting recognition…etc.
El-Araby 18 1017 / MAPLD2005
Why align two protein or DNA sequences? Determine whether they are
descended from a common ancestor (homologous)
Infer a common function Locate functional elements Infer protein structure, if the
structure of one of the sequences is known
Problem: find the best pairwise alignment
of GAATC and CATAC
DNA Matching Basics
GAATCCATAC
GAATC-CA-TAC
GAAT-CC-ATAC
GAAT-CCA-TAC
-GAAT-CC-A-TAC
GA-ATCCATA-C
We need a way to measure the quality of a candidate alignment
Alignment scores consist of two parts: substitution matrix gap penalty