Using Network Processors in Genomics Herbert Bos * † Kaiming Huang * * Leiden Universiteit, Netherlands † Vrije Universiteit, Netherlands H. Bos – Leiden University 13/02/20041
Case study: BLAST ● search nucleotide/protein database for query ● BLAST discovers similarity rather than exact match ● two main phases: 1. scoring (registering where query and DNA DB match) 2. alignment (dynamic programming) ● only the first phase on NPUs H. Bos – Leiden University 13/02/20042
Window matching H. Bos – Leiden University 13/02/20043
Window matching H. Bos – Leiden University 13/02/20044
Window matching H. Bos – Leiden University 13/02/20045
Window matching H. Bos – Leiden University 13/02/20046
Window matching ● naïve approach: roughly W*N*M comparisons ● does not scale ● string search algorithms: Aho-Corasick – all windows matched at the same time – shifting genome one nucleotide at a time – matching algorithm transformed in a DFA ● DFA may be quite large H. Bos – Leiden University 13/02/20047
Aho-Corasick H. Bos – Leiden University 13/02/20048 ● Alphabet: acgt ● Window size: 3 ● Query: acgccga ● Windows: {acg,cgc,gcc,ccg,cga}
Aho-Corasick H. Bos – Leiden University 13/02/ t acg c g gc a g cc c s f(s) ● Alphabet: acgt ● Window size: 3 ● Query: acgccga ● Windows: {acg,cgc,gcc,ccg,cga}
Aho-Corasick H. Bos – Leiden University 13/02/ t acg c g gc a g cc c ● Alphabet: acgt ● Window size: 3 ● Query: acgccga ● Windows: {acg,cgc,gcc,ccg,cga} s f(s) acgcgcgccccgcga
Aho-Corasick H. Bos – Leiden University 13/02/ t acg c g gc a g cc c ● Alphabet: acgt ● Window size: 3 ● Query: acgccga ● Windows: {acg,cgc,gcc,ccg,cga} s f(s) acgcgcgccccgcga tacgcga
H. Bos – Leiden University 13/02/ Control Processor NPU (IXP1200) ME PCI Bus StrongARMMicroengines DRAM SRAM Gbps ports Pentium PCI scratch IXPBlast Architecture
H. Bos – Leiden University 13/02/ Control Processor NPU (IXP1200) ME PCI Bus StrongARMMicroengines DRAM SRAM Gbps ports Pentium PCI scratch IXPBlast Architecture
H. Bos – Leiden University 13/02/ Control Processor NPU (IXP1200) ME PCI Bus StrongARMMicroengines DRAM SRAM Gbps ports Pentium PCI scratch IXPBlast Architecture
H. Bos – Leiden University 13/02/ Control Processor NPU (IXP1200) ME PCI Bus StrongARMMicroengines DRAM SRAM Gbps ports Pentium PCI scratch IXPBlast Architecture t acg c g gc a g cc c
H. Bos – Leiden University 13/02/ Control Processor NPU (IXP1200) ME PCI Bus StrongARMMicroengines DRAM SRAM Gbps ports Pentium PCI scratch IXPBlast Architecture t acg c g gc a g cc c
H. Bos – Leiden University 13/02/ Control Processor NPU (IXP1200) ME PCI Bus StrongARMMicroengines DRAM SRAM Gbps ports Pentium PCI scratch IXPBlast Architecture t acg c g gc a g cc c
IXPBlast: packet handling ● packets read and processed in batches of ● “spilling” must be taken into account ● currently no feedback H. Bos – Leiden University 13/02/
Results ● 232 MHz IXP1200 ~ 1.8GHz Pentium-4 ● 1611 Nucleotide query (MyD88) ● 1.4 GB genome (Zebrafish) – IXP1200: 90 sec with DFA – IXP1200: 129 sec with “trie” – P4: 132: 132 sec with “trie” ● number of matches: H. Bos – Leiden University 13/02/200419
Results H. Bos – Leiden University 13/02/ Query size DNA DB size Impl.Performance GBP4132 sec GBIXP sec GB IXP1200 DFA 90 sec
Conclusions ● NPUs are useful in other application domains ● Newer hardware is expected to perform much better ● “Throughput processors” ● Adapting our current approach to use BLAST tricks/heuristics H. Bos – Leiden University 13/02/200421
Network processors ● geared for high throughput ● used exclusively in network systems ● example: intrusion detection ● similar to looking for gene on in genomes ● differences H. Bos – Leiden University 13/02/ Radisys ixp1200 board
Application domain: “Genomics” ● example: search genome for occurrence of “patterns” ● similar problems as IDS, poor performance on GPP cannot exploit parallelism – throughput-driven – how about FPGAs? – how about clusters? ● NPU – easier to program than FPGAs – cheaper than cluster computing – “on the desktop” IP never leaves the room H. Bos – Leiden University 13/02/200423