Title: Design Review
1Design Review 1
Team 1 Cowboy and Indians
March 1st, 2005
Mark Hairgrove
Jay Patel
Prameet Shah
Samir Shah
2Design Goals
- A robust security system that would provide
notification upon the release of a bio-terror
agent in a public domain such as an Airport. - Distributed network of sensor nodes reporting to
a centralized server - Network communication with two-way authentication
protocol - Server side virus alert system
- Variable scan granularity depending on current
National Terrorist Attack Threat level - Database upgradeability via network uplink
- Real-time sensor diagnostic monitoring
- Robust signal processing to handle noisy signals
from a vast open space - Run BLAST fast
3Design Exploration
BLAST Algorithm
- BLAST utilizes most of the computation time
- Want to maximize throughput
- Optimize for
- Speed
- Memory/Database Usage
- Ease of Implementation
- How?
4Design Exploration
BLAST Algorithm
index time self children called
name
ltspontaneousgt 1 100.0 0.01 79.31
main 1 74.75
0.00 38154/38154 get_hits 2
0.87 2.93 38154/38154 extend_hits
3 0.27 0.48 1/1
generate_nbr_words 6 0.00
0.00 1/1 check_qry
10 ---------------------------------------------
-- 74.75 0.00 38154/38154
main 1 2 94.2 74.75 0.00 38154
get_hits 2 -------------------------------
---------------- 0.87 2.93
38154/38154 main 1 3 4.8 0.87
2.93 38154 extend_hits 3
0.40 1.61 3171601/4522804 blosum62
4 0.35 0.24 150213/150213
save_hsps 8 0.06 0.28
150213/334213 b62_score 7 -----------------
------------------------------
25 Char Query, 14M DB
5Design Exploration
BLAST Algorithm
94.2
4.8
0.9
6Design Exploration
BLAST Algorithm
- BLAST spends most of its time finding hits
(string comparisons are expensive) - In order to get it to run fast, we have 2 options
- Amdahl says make string compare fast as we spend
most of our time finding hits - We could also introduce some parallelism
- Split algorithm and pipeline?
- Split Database?
7Design Exploration
Architecture
8Design Exploration
Architecture
- Pros
- NIOS cores are very fast gt can run at speeds of
up to 180 MHz - String comparison in custom hardware can be done
in two-level logic and is thus faster than
software - Cons
- We have a clear load imbalance with this design
(ARM will be on vacation most of the time) - Implementing BLAST across NIOS and ARM is
complicated
9Design Exploration
Architecture
10Design Exploration
Architecture
- Pros
- Parallel searching halves computation time
- Increases throughput
- Cons
- Memory transfer is slow because NIOS is
intermediate medium - We have a clear load imbalance with this design
(ARM will be on vacation most of the time) - Implementing BLAST across NIOS and ARM is
complicated
11Design Exploration
Architecture
- Design 3 Dual ARM, Split Database
12Design Exploration
Architecture
- Design 3 Dual ARM, Split Database
- Pros
- Allows unimpeded parallel computing
- String comparison throughput is doubled from
parallel ARM - Cons
- Extra cost of hardware
- Increased complexity of the system
13Verification and Test Plan
- We will test our system on two levels unit and
system - Server, Network and Distributed Nodes
- This will be tested with a series of nodes that
are simulated in software - Custom Hardware
- Test with verilog testbench in ModelSim and cross
reference with MATLAB - BLAST Algorithm
- Test with a sequence of test vectors
- Memory
- Test with programs that erase, write and read
from memory
14Demonstration Plan
Demo 1
- BLAST Algorithm ported to C from MATLAB
- Convert MATLAB code to C in a manner that allows
easy transfer to hardware - Test and prove correctness
- Custom Hardware Tested
- Complete the Amino Acid mapping hardware in
Verilog - Use a test bench as proof that it works
- Simple Networking
- NIOS Ethernet connectivity installed and
configured - Simple socket communication/message transfer to
PC and back - DSP Design Exploration
- Explore matching algorithms
- Write MATLAB code to convert from waveforms to
nucleotides - Develop encoding scheme for nucleotides
- Explore real-time vs. post signal processing
15Schedule
16Schedule
17Division of Labor
- Mark Hairgrove
- Network integration, authentication protocol,
simulated testing, network diagnostic tool - Jay Patel
- Custom hardware design, memory interfaces and
control, database upgradeability feature - Prameet Shah
- Deciphering input signals from gene sequencer.
- Samir Shah
- Porting BLAST to C, optimizing algorithm, running
on NIOS, splitting across ARM and integrating
with memory
18Questions?