Softcore Vector Processor for Biosequence Applications

Softcore Vector Processor for Biosequence Applications

Softcore Vector Processor for Biosequence Applications Arpith Chacko Jacob Brandon Harris Department of Computer Science and Engineering Department of Computer Science and Engineering Washington University in St. Louis Washington University in St. Louis St. Louis, Missouri 63130–4899 St. Louis, Missouri 63130–4899 Email: [email protected] Email: [email protected] Abstract— In this paper we describe the SVP, a Softcore Vector Processor targeted toward Computational Biology and streaming applications. The SVP is a software programmable architec- ture constructed from predefined hardware building blocks. We leverage the flexibility and power of an FPGA to enhance a streaming vector processor design. Each functional unit includes an instruction controller, parallel processing elements with shared registers, and a memory unit which provides access to both local and streaming data. We target the Smith-Waterman sequence alignment algorithm and report estimated performance numbers based on a Virtex-4 FPGA implementation. I. INTRODUCTION The Softcore Vector Processor was developed in response to the need for accelerating a wide range of computational bi- ology applications. The design philosophy of the SVP is based on two important goals: adaptability and high performance. The SVP is designed to be a software programmable and hardware customizable platform. Instruction based execution Fig. 2. Data dependencies in the Smith-Waterman algorithm allows support for a large number of algorithms in compu- tational biology. However, the fact that different classes of applications require different subsets of hardware resources ar- gues for a customizable hardware design built from primitives. The second goal of the project is to achieve programmability logical units that process and filter the stream. The SVP is without sacrificing performance. The SVP was designed to designed to efficiently and seemlessly operate on multiple perform competitively with full custom solutions available streams of data without increasing programming complexity. today. An FPGA is used as the implementation architecture for a Currently available genome databases are growing expo- number of reasons. FPGA solutions are far less expensive nentially in size [1], making it difficult for software analysis than custom asics; as FPGA devices improve with technol- tools to keep up. A number of hardware solutions utilizing ogy the SVP can be rebuilt on the new target with mini- special purpose VLSI or reconfigurable hardware such as Field mal additional work. The SVP gains its flexibility by being Programmable Gate Arrays (FPGAs) have been proposed to hardware customizable. PEs may be specialized by adding bridge this gap. Systems such as the BISP, and the Kestrel units such as hardware multipliers or a hashing module to [2], built on custom asics support high performance designs support new applications, without having to drastically modify but are expensive to manufacture and cannot be adapted the underlying architecture. Incremental enhancements make for applications that require differing hardware resources. it easier to support increasingly complex applications, thus FPGA solutions tend to be specialized, with support for new making maximum use of the programmability of FPGAs. applications requiring a laborious re-design of the hardware. The SVP is a vector processor targetting algorithms that The rest of the paper is organized as follows. Section II can be easily mapped to a systolic array of processing ele- introduces the target application: the Smith-Waterman algo- ments (PEs). Programmable instructions execute on PEs that rithm. Section III describes the SVP architecture in detail with operate on different units of data achieving fine grained paral- performance numbers reported in Section IV. Section V briefly lelism. Sequence analysis tools commonly use the streaming surveys related work and section VI describes future directions paradigm, where a large genomic database is streamed through for the SVP. Section VII concludes. reconfigurable logic input output stream stream prefilter svp svp disk controller processor Fig. 1. Mercury Pipeline II. THE SMITH-WATERMAN ALGORITHM The Smith-Waterman algorithm lends itself readily to fine- grained parallelism [6]. Figure 2 shows the data dependencies The Smith-Waterman algorithm [3], [4] is used to compare of a cell in the H matrix. The computation for the (i; j)th cell two sequences for similarity in the hope of detecting common depends only on the cell immediately above ((i; j −1)), to the features. The algorithm aligns two sequences by looking at left ((i−1; j)) and on the previous anti-diagonal ((i−1; j−1)). the following mutations: substitutions (replacing one residue Cells on the same anti-diagonal can be computed in parallel with another), insertions and deletions (adding gaps). Given a without any data dependencies between them. Computation query sequence Q and a database sequence D, the algorithm proceeds in horizontal wavefronts along each anti-diagonal of scores alignments using a substitution matrix δ that defines the a fixed number of cells, k, through the entire length of the probabilities of mutating from one residue to another, and an query sequence. This is repeated along the entire database affine gap penalty that defines a gap initiation penalty a, and sequence in steps of k, while keeping track of the best score. an extension penalty b. The dynamic programming recurrence The speedup achieved over the sequential version is due to the is computed as follows: simultaneous computation of k cells. To quantify the performance of the algorithm, the measure Ei−1;j − b Ei;j = max Millions of Cell Updates per Second (MCUPS) is defined. It H −1 − a − b i ;j represents number of cells that can be computed in the H Fi;j−1 − b matrix per second for sufficiently long query and database Fi;j = max Hi;j−1 − a − b sequences. This includes the computation of corresponding cells in the E and F matrices along with supporting operations 0 such as table lookups. 8 Ei;j 9 Hi;j = max > > III. SYSTEM ARCHITECTURE <> Fi;j => The SVP is designed to be part of the Mercury system [7] Hi−1;j−1 + δQi;Dj > > a disk based, high throughput computation architecture. Data :> ;> with the base case being: Ei;j = Fi;j = Hi;j = 0 if i = 0 from a store is streamed directly into reconfigurable logic at or j = 0. The highest value in the H matrix gives the score disk access speeds. The reconfigurable logic performs low of an optimal local alignment. The alignment can be retrieved complexity, highly parallellizable tasks close to the disk to by a linear space divide and conquer strategy described in [5]. filter the stream to manageable sizes for later more complex We limit our implementation to finding the best score in linear stages. Results from the final stage are passed via the I/O bus space. The alignment for pairs of sequences that score above to a general purpose processor for post-processing. Previous a certain threshold may be retrieved by a general purpose work done on the Mercury system performs text and image processor. searches as well as sequence matching [8], [9]. The Mercury Ra Addr Rb Addr Ra Addr Rb Addr Instr. Immediate Mem Ra Data Left Ra Data Right Rb Data Left Rb Data Right Instruction Data Select Controller Reg Processing Reg Processing Reg Processing File Element File Element File Element Pipeline Register Register Register Compare File ALU File 1 1 1 1 1 1 Memory Controller Pipeline Register Write Enable Data Stream In Shared Local Memory Stream Out Wr Enable Left Wr En Right Mem Wr Enable Fig. 3. SVP Functional Unit Memory Controller Fig. 4. SVP Processing Element system is an ideal architecture for streaming applications with pipelined logic blocks manipulating the stream. The SVP is the IC. Decoding for both classes of instructions is done in the designed to work seemlessly as part of this logic pipeline Decode stage, with the decoded signals for the former being (Figure 1) with one or more of the softcore processors running broadcast directly to the PEs. The decoded IC instructions pass more complex functions at the later stages. through a simplified ALU stage that supports basic arithmetic We envision the SVP to be a softcore processor that may operations. During execution of IC instructions NOP codes are be customized according to the function being implemented. broadcast to the PEs. Besides modifying implementation parameters such as the The IC contains a register file of user accessible registers number of processing elements and registers, or the data that are distinct from the PE. Register zero holds a constant width, more significant design changes can be made without value of zero and is used primarily as an operand for immedi- drastically affecting the overall architecture. For example, a ate instructions. Register one termed the Memory Register, is hashing unit may be added to each processing element, and used by the memory controller to store data words requested the memory controller modified to operate on bit vectors to from memory. Hence all memory read operations must be implement a BloomFilter [10] unit. This approach exploits followed by a read from this register. This is done to simplify the programmability of FPGAs to a greater extent than most design of the register file. All remaining registers are used as current FPGA designs that target a single algorithm. When general purpose registers. describing the SVP architecture in the following sections, we Load/Store instructions interface the IC to the memory unit mention the design parameters that is specific to our Smith- and is used to read user instructions and control parameters Waterman unit. from an external source. Program flow is controlled by un- conditional and conditional instructions executed on the IC. A. Functional Unit An atomic loop instruction is implemented to simulate C for The basic organization of the SVP consists of a functional loops.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us