Download presentation
Presentation is loading. Please wait.
1
Processor Memory Networks Based on Steiner Systems Tom VanCourtBoston University Martin C. HerbordtECE Department
2
30 Jan 2004 2 Introduction Problem: Problem: “Big Science” brought genomes to the desktop “Big Science” brought genomes to the desktop Primary analysis engine is still PC! Our Goal: Our Goal: Bring “Big Computation” to the desktop. Bring “Big Computation” to the desktop. Proposed Solution: Proposed Solution: PC/Workstation plus PC/Workstation plus FPGA-based coprocessor
3
30 Jan 2004 3 Desired Problem Characteristics Low resolution data Low resolution data Data have few bits Large but manageable data sets Large but manageable data sets Thousands of genes, thousands of samples (at a time) High-dimensional parameter set High-dimensional parameter set Must be searched or enumerated to identify solution Simple performance criteria (score functions) Simple performance criteria (score functions) Evaluated for each candidate parameter vector Decomposable search strategy Decomposable search strategy Multiple small problems to solve in parallel Heavy reuse of data Heavy reuse of data Combinations, permutations, orientations
4
30 Jan 2004 4 Biology/Chemistry Problems Sequence alignment Sequence alignment Approximate string matching, dynamic programming Molecule interactions – voxel model Molecule interactions – voxel model 3-axis rotation, 3D convolution Microarray data analysis Microarray data analysis Typical: 10 to 10 2 samples,10 3 to 10 4 genes/sample Hidden Markov models Hidden Markov models Baum-Welch training, soft Viterbi decode Compute-intensive statistical analysis Compute-intensive statistical analysis Bootstraps, sampling background models
5
30 Jan 2004 5 Sample Task-Specific Processor Input: Input: Vectors V 1, V 2, … V v Query: Query: Which set of t vectors maximizes f(V a, V b, …)? Architecture: Architecture: Parallel PEs on FPGA coprocessor f VaVa VbVb VcVc
6
Problem: Input Bandwidth Assume ~128 PEs Assume ~128 PEs × 3 inputs per PE × 3 inputs per PE = 384 values per cycle × 4 bits per value = 1536 bits per cycle Wide-word solution: INFEASIBLE Wide-word solution: INFEASIBLE 400-ported RAM? Data fetched faster than host can load it 384 input values needed
7
Distribution Network X memory: k data values supply PEs. X memory: k data values supply PEs. k = 9 84 PEs,252 PEs X inputs,28× reuse k = 9 84 PEs,252 PEs X inputs,28× reuse k = 10 120 PEs,360 PEs X inputs,36× reuse k = 10 120 PEs,360 PEs X inputs,36× reuse Generates all size-3 subsets of k data values Generates all size-3 subsets of k data valuesk kk3kk3 PE 1 PE 2 PE 3 PE 0 … X 1-10 PE 4 Vector Data Memory PE 119
8
Vector Data Memory Steiner system S(v, k, t) Steiner system S(v, k, t) Divide v objects into subsets of size k, so that every size-t subset is in just one size-k subset. t = 3 (triplets), k = X memories, v = total genes t = 3 (triplets), k = X memories, v = total genes Host selects vector sets { m 1, m 2,…} via RAM content Host selects vector sets { m 1, m 2,…} via RAM content X1X1 X2X2 XmXm Vector Select RAM indx 1 indx 2 indx m indx SEL 10 5 -10 6 sets of vector choices ~100 vectors per X memory
9
Memory and Data Distribution Two-level data reuse Two-level data reuse Temporal reuse by Temporal reuse by Vector Select Ram Vector Select Ram Spatial reuse by Spatial reuse by Distribution Network Distribution Network Whole VDM duplicated Double buffering Overlaps reload, reading Divide v objects into subsets of size k … … so that every size-3 subset is injust one size-k subset is in just one size-k subset k Vector data memory (VDM) …
10
30 Jan 2004 10 Conditions for Success Data must be strings/vectors Data must be strings/vectors If scalar, then Vector Select RAM would be enough … host to PE transfer would be enough Longer vectors better Longer vectors better Longer vector More time per Vector Select word … Longer time between reloads Narrow data words better Narrow data words better Fewer bits per vector, more vectors for bandwidth
11
Open problems Steiner systems are special cases Steiner systems are special cases k-sets that contain each t-set exactly once Theory guarantees large numbers of cases Set-covering problem in other cases Set-covering problem in other cases k-sets that contain each t-set at least once Finding collections of k-sets hard Finding collections of k-sets hard Believed NP hard Believed NP hard Constructive forms of existence theorems?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.