Back to results

Washington University in St. Louis

Parallelization of dynamic programming recurrences in computational biology

Abstract

dc:description.abstract

The rapid growth of biosequence databases over the last decade has led to a performance bottleneck in the applications analyzing them. In particular, over the last five years DNA sequencing capacity of next-generation sequencers has been doubling every six months as costs have plummeted. The data produced by these sequencers is overwhelming traditional compute systems. We believe that in the future compute performance, not sequencing, will become the bottleneck in advancing genome science. In this work, we investigate novel computing platforms to accelerate dynamic programming algorithms, which are popular in bioinformatics workloads. We study algorithm-specific hardware architectures that exploit fine-grained parallelism in dynamic programming kernels using field-programmable gate arrays: FPGAs). We advocate a high-level synthesis approach, using the recurrence equation abstraction to represent dynamic programming and polyhedral analysis to exploit parallelism. We suggest a novel technique within the polyhedral model to optimize for throughput by pipelining independent computations on an array. This design technique improves on the state of the art, which builds latency-optimal arrays. We also suggest a method to dynamically switch between a family of designs using FPGA reconfiguration to achieve a significant performance boost. We have used polyhedral methods to parallelize the Nussinov RNA folding algorithm to build a family of accelerators that can trade resources for parallelism and are between 15-130x faster than a modern dual core CPU implementation. A Zuker RNA folding accelerator we built on a single workstation with four Xilinx Virtex 4 FPGAs outperforms 198 3 GHz Intel Core 2 Duo processors. Furthermore, our design running on a single FPGA is an order of magnitude faster than competing implementations on similar-generation FPGAs and graphics processors. Our work is a step toward the goal of automated synthesis of hardware accelerators for dynamic programming algorithms.

Degree

thesis:*
Name thesis:degree_name
Doctor of Philosophy (PhD)
Level thesis:degree_level
Dissertation
Discipline thesis:degree_discipline
Computer Science and Engineering
Year dc:date.available
2010

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Jacob, Arpith
Contributors dc:contributor
  • Jeremy Buhler

Subjects

dc:subject × 8

Rights

Language dc:language
English (en)

Identifiers

dc:identifier.*
OAI identifier oai:identifier
oai:openscholarship.wustl.edu:etd-1168

Chain of custody

source
Harvested from
Washington University in St. Louis
Base URL
openscholarship.wustl.edu/do/oai/
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
citation

Jacob, Arpith. Parallelization of dynamic programming recurrences in computational biology. Dissertation thesis, 2010. https://openscholarship.wustl.edu/etd/169