View
241
Download
0
Embed Size (px)
Citation preview
NCKU CSIE EDALAB
何宗易 Tsung-Yi Ho
http://eda.csie.ncku.edu.twDepartment of Computer Science and Information Engineering
National Cheng Kung UniversityTainan, Taiwan
IEEE International Conference on Computer Design, 2009ACM/IEEE International Conference on Computer Aided Design, 2009
NCKU CSIE EDALAB
Outline of Work in ICCD 2009
IntroductionIntroduction
Problem FormulationProblem Formulation
AlgorithmsAlgorithms
Experimental ResultsExperimental Results
ConclusionConclusion
NCKU CSIE EDALAB
Introduction to Biochips
․ General definition¾ A chip with a small solid platform made of glass, plastic, or
membrane
․ Functionality¾ Analysis, reaction, or detection of biological samples (DNA or
human blood)
․ Application¾ Clinical diagnostics¾ Environmental monitoring¾ Massive parallel DNA analysis¾ Automated drug discovery¾ Protein crystallization
Biochip (Agilent Technologies)
NCKU CSIE EDALAB
Biochip Miniaturization
․ Smaller sample consumption
․ Lower cost
․ Higher throughput
․ Higher sensitivity
․ Higher productivity
Conventional Biochemical Analyzer
Shrink
DNA microarray (Infineon AG)
NCKU CSIE EDALAB
The Need of CAD Support
․ Design complexity is increased¾ Large-scale bioassays¾ Multiple and concurrent assay operations on a biochip
․ Electro-biological devices integration¾ System-level design challenges beyond 2009¾ International Technology Roadmap of Semiconductors (ITRS)
Microfluidiccomponents
MEMScomponents
Heterogeneous SOCs-Mixed-signal-Mixed-technology
Digitalblocks
Analogblocks
NCKU CSIE EDALAB
Classification of Biochips
Biochips
Microfluidic biochipsMicroarray
DNA chipProtein
chip Continuous-flow
Droplet-based
Electrical method
Acoustical
method
Thermal method
Chemical method
Digital Microfluidic Biochips (DMFBs)
Continuous-flow biochips: • Permanently etched microchannels, micropumps, and
microvalvesDigital microfluidic biochips:
• Manipulation of liquids as discrete droplets
Microfluidic Biochips
NCKU CSIE EDALAB
Unified Synthesis Methodology (Su and Chakrabarty, DAC 2005)
NCKU CSIE EDALAB
Droplet Routing on Digital Microfluidic Biochips
Side view
Top view
Droplet
Bottom plate
Top plate
Ground electrode
Control electrodes (cells)
Hydrophobic insulation
Droplet Spacing
Reservoirs/Dispensing ports
Photodiode
2D microfluidic array
Droplets
Control electrodes
High voltage to generate an electric field
The schematic view of a biochip (Duke Univ.)
NCKU CSIE EDALAB
Routing Constraints
․ Fluidic constraint¾ For the correctness of droplet transportation¾ No unexpected mixing among droplets of different nets¾ Static and dynamic fluidic constraints
․ Timing constraint¾ Maximum transportation time of droplets
Static fluidic constraint
Minimum spacing
Dynamic fluidic constraint
X
YT
NCKU CSIE EDALAB
Droplet Routing vs. VLSI Routing
․ Droplet routing¾ Droplets transportation from one location to another for
reaction¾ Similar to Motion Planning in Robotics
NP-hard even for only two robots!
․ Difference from traditional VLSI routing¾ Cells can be temporally shared by droplets - no permanent
wires on a biochip¾ Droplet routing and scheduling; scheduling is to determine
droplets’ locations at each time step¾ Unique fluidic properties for correct droplet movement
S TDi
S T
Droplet Routing
VLSI Routing
NCKU CSIE EDALAB
Droplet Routing on Digital Microfluidic Biochips (DMFBs)
․ Input: A netlist of n droplets D = {d1, d2,…, dn}, the locations of m blockages B = {b1, b2,…, bm}, and the timing constraint Tmax.
․ Objective: Route all droplets from their source cells to their target cells while minimizing the number of unit cells for better fault tolerance.
․ Constraint: Both fluidic and timing constraints are satisfied.T3 S4 T2 S1
T1 S3
T6
S5
T5
T4 S2 S6
• Fluidic constraint
• Timing constraint
Minimum spacing
Static fluidic constraint Dynamic fluidic constraint
Blockage
Source of droplet i Target of droplet iSi Ti
NCKU CSIE EDALAB
Related Work
Prioritized A*-search algorithm [K. Böhringer, TCAD’06] A*-search for each droplet based on its priority High-priority droplets may block low-priority droplets
Open shortest path first algorithm [Griffith et al, TCAD’06] Layout patterns with routing table No dynamic reconfiguration
Two-stage algorithm [Su et al, DATE’06] Alternative routing path generation and droplet scheduling Random selection
Network flow-based approach [Yuh et al, ICCAD’07] Maximize the number of nets routed Min-cost Max-flow formulation + prioritized A* search
High-performance approach [Cho and Pan, ISPD’08] Capable of handing routing obstacles Routing order decided by bypassibility of targets
NCKU CSIE EDALAB
A High-Performance Droplet Routing Algorithm for Digital Microfluidic Biochips *
․ Route one droplet movement at a time¾ Reduced routing search time
․ Bypassibility¾ To route a droplet with minimal impact on feasibility
․ Concession¾ To resolve a deadlock
․ Compaction¾ To satisfy timing constraint and improve fault-
tolerance
* M. Cho and D. Z. Pan, “A high-performance droplet routing algorithm for digitalmicrofluidic biochips,” IEEE Trans. on CAD, vol. 27, no. 10, pp. 1714–1724, Oct.2008.
NCKU CSIE EDALAB
One Droplet at a Time
NCKU CSIE EDALAB
Routing by Bypassibility
․ Three categories¾ Full: both horizontal and vertical bypasses are
available.¾ Half: only either horizontal or vertical bypasses is
available.¾ No: no bypass is available.
Blockage
Source of droplet i Target of droplet iSi Ti
(a) Test b (b) Test d
S3S2 S1
S5
S4
T2 T3
T4
T1
T5
S2S1 S3
S4
S7
S9
S6
S8
T6
T4 T1
T9
T8
S5
T3
T5
T7
T2
Problems with Bypassibility
?
NCKU CSIE EDALAB
Outline
IntroductionIntroduction
Problem FormulationProblem Formulation
AlgorithmsAlgorithms
Experimental ResultsExperimental Results
ConclusionConclusion
Preferred Routing Track Construction
Routing Ordering by Entropy Equation
Routing Compaction by Dynamic Programming
NCKU CSIE EDALAB
Preferred Routing Track Construction
T3 S4 T2 S1
T1 S3
T6
S5
T5
T4 S2 S6
S1
T1 S3
Moving vector
NCKU CSIE EDALAB
Preferred Routing Track Construction
T3 S4 T2 S1
T1 S3
T6
S5
T5
T4 S2 S6S2
T2
A* maze searching
NCKU CSIE EDALAB
Routing Ordering by Entropy Equation
․ Entropywhere ΔBEdi : the variant of entropy of each dropletΔQdi : the energy variant for this energy systemESdi : the energy system for the droplet.
NCKU CSIE EDALAB
T3 S4 T2 S1
T1 S3
T6
S5
T5
T4 S2 S6
T3 S4 T2 S1
T1 S3
T6
S5
T5
T4 S2 S6
ΔBEd5 = (9-(4+5)-(6)+(9+7))/9 = 10/9
Routing Ordering by Entropy Equation
4
5
T5
S5 9
697
NCKU CSIE EDALAB
T3 S4 T2 S1
T1 S3
T6
S5
T5
T4 S2 S6
Find a min-cost path for S5
Routing Ordering by Entropy Equation
S5
NCKU CSIE EDALAB
T3 S4 T2 S1
T1 S3
T6
T5
T4 S2 S6
Route S5 to the A-cell of T5
Routing Ordering by Entropy Equation
S5
NCKU CSIE EDALAB
T3 S3 T2 S1
S2
T1
T6
S4 T5
T4
Concession control
Enhance Routability by Concession Control
S5
S6
Dynamic Fluidic Constraint
NCKU CSIE EDALAB
T3 S4 T2 S1
T1 S3
T6
S5
T5
T4 S2 S6
Routing Compaction by Dynamic Programming
duplicate movement
Delete the duplicate movement
NCKU CSIE EDALAB
T3 S4 T2 S1
T1 S3
T6
S5
T5
T4 S2 S6
Routing Compaction by Dynamic Programming
D2 = rruuuuuulllluuruu D4 = lllddddddddddEx:
NCKU CSIE EDALAB
․ Illustration of dynamic programming¾ Decode the 2D routing path into the1D moving string (u, d, l, r)
․ Incremental compaction strategy
P1 P2 P3 P4 Pn-1 Pn
compactioncompactioncompaction
…
compactioncompaction
Routing Compaction by Dynamic Programming
S1 T1
S2
T2
MS1: rrrrrrMS2: dddddrrrr
d d d d d r r r r
0 1 2 3 4 5 6 7 8 9
r X X X X 4 5 6 7 8 9
r X X X X X 5 6 7 8 9
r X X X X X X 6 7 8 9
r X X X X X X X 7 8 9
r X X X X X X X X 8 9
r X X X X X X X X X 9
Compaction
d1
d2
d2
d2
d2
d2
d2 d2 d2 d2 d2
d1 d1 d1 d1 d1 d1
Used time = 9
NCKU CSIE EDALAB
Experimental Settings
․ Implemented our algorithm in C++ language on a 2 GHz 64-bit Linux machine w/ 8GB memory
․ Compared with three state-of-the-art algorithms¾ Prioritized A* search [K. Böhringer, TCAD’06]¾ Network-flow algorithm [Yuh et al, ICCAD’07]¾ High-performance algorithm [Cho and Pan, ISPD’08]
․ Tested on three benchmark suites¾ Benchmark I [30] [Cho and Pan, ISPD’08]¾ Benchmark II [10] [Self generated]¾ Benchmark III [4] [Su and Chakrabarty, DAC’05]
※Benchmark II:(1) bounding boxes of droplets are overlapped; (2) nx1 or 1xn narrow routing regions are used for routing; (3) the density of blockage area is over 30%.
Benchmark Suite I Prioritized A* Network-Flow High-Performance Our
Name Size #Net Tmax #Blk #Fail Tla #Tcell #Fail Tla #Tcell #Fail Tla #Tcell #Fail Tla #Tcell
Test1 12x12 12 100 23 0 37 66 2 n/a n/a 0 100 67 0 39 73
Test2 12x12 12 100 25 4 n/a n/a 7 n/a n/a 1 n/a n/a 0 47 65
Test3 12x12 12 100 28 4 n/a n/a 6 n/a n/a 1 n/a n/a 0 41 58
Test4 12x12 12 100 31 3 n/a n/a 5 n/a n/a 0 70 64 0 38 71
Test5 16x16 16 100 39 0 28 108 2 n/a n/a 0 78 118 0 40 100
Test6 16x16 16 100 30 0 43 116 0 44 132 0 55 119 0 47 98
Test7 16x16 16 100 52 0 33 104 3 n/a n/a 0 89 113 0 44 93
Test8 16x16 16 100 54 2 n/a n/a 0 47 129 0 41 94 0 49 96
Test9 16x16 16 100 72 4 n/a n/a 3 n/a n/a 1 n/a n/a 0 49 91
Test10 16x16 16 100 67 4 n/a n/a 2 n/a n/a 0 77 110 0 51 94
Test11 24x24 24 100 106 0 62 252 0 100 264 0 47 249 0 56 228
Test12 24x24 24 100 104 3 n/a n/a 0 80 242 0 52 219 0 62 231
Test13 24x24 24 100 137 0 60 241 2 n/a n/a 0 52 247 0 62 221
Test14 24x24 24 100 143 3 n/a n/a 2 n/a n/a 0 57 234 0 64 219
Test15 24x24 24 100 173 0 63 246 0 74 233 0 83 230 0 64 227
Test16 24x24 24 100 185 4 n/a n/a 3 n/a n/a 0 63 223 0 58 220
Test17 32x32 32 100 315 9 n/a n/a 2 n/a n/a 0 68 394 0 77 409
Test18 32x32 32 100 327 4 n/a n/a 0 88 408 0 91 403 0 73 385
Test19 32x32 32 100 357 0 70 402 2 n/a n/a 0 90 371 0 81 367
Test20 32x32 32 100 363 3 n/a n/a 0 91 382 0 99 393 0 78 360
Test21 32x32 32 100 364 8 n/a n/a 2 n/a n/a 0 76 389 0 85 370
Test22 32x32 32 100 363 5 n/a n/a 4 n/a n/a 0 85 393 0 73 369
Test23 48x48 48 100 645 6 n/a n/a 0 100 681 0 78 738 0 75 709
Test24 48x48 48 100 653 8 n/a n/a 0 99 737 0 94 807 0 82 717
Test25 48x48 48 100 763 5 n/a n/a 0 100 729 0 91 792 0 87 698
Test26 48x48 48 100 770 3 n/a n/a 0 99 709 0 88 798 0 84 691
Test27 48x48 48 100 857 4 n/a n/a 0 100 770 0 99 762 0 92 739
Test28 48x48 48 100 864 5 n/a n/a 4 n/a n/a 0 99 808 0 87 726
Test29 48x48 48 100 1016 7 n/a n/a 6 n/a n/a 0 98 733 0 94 698
Test30 48x48 48 100 1017 8 n/a n/a 4 n/a n/a 0 88 751 0 92 701
Total 106 61 3 0■ Size: Size of microfluidic array. ■ #Net: Number of droplets. ■ Tmax: Timing constraints. ■ #Blk: Number of blockage cells.■ #Fail: Number of failed droplets. ■ Tla: latest arrival time among all droplets. ■ Tcell: Total number of cells used for routing.
Experimental Results on Benchmark Suite I
Benchmark Suite I
High-Performance Our
Name Tla #Tcell CPU Tla #Tcell CPU
Test1 100 67 0.11 39 73 0.08
Test4 70 64 0.13 38 71 0.09
Test5 78 118 0.47 40 100 0.21
Test6 55 119 0.25 47 98 0.24
Test7 89 113 0.47 44 93 0.37
Test8 41 94 0.27 49 96 0.19
Test10 77 110 0.49 51 94 0.64
Test11 47 249 0.55 56 228 0.81
Test12 52 219 1.59 62 231 0.91
Test13 52 247 1.52 62 221 0.98
Test14 57 234 3.03 64 219 2.82
Test15 83 230 1.42 64 227 2.08
Test16 63 223 0.95 58 220 1.74
Test17 68 394 2.42 77 409 3.85
Test18 91 403 1.32 73 385 0.91
Test19 90 371 1.33 81 367 0.78
Test20 99 393 5.76 78 360 3.71
Test21 76 389 11.22 85 370 4.31
Test22 85 393 5.13 73 369 4.18
Test23 78 738 3.59 75 709 5.84
Test24 94 807 3.66 82 717 5.78
Test25 91 792 4.30 87 698 6.91
Test26 88 798 3.71 84 691 4.11
Test27 99 762 6.26 92 739 5.41
Test28 99 808 4.31 87 726 5.97
Test29 98 733 36.47 94 698 9.72
Test30 88 751 29.72 92 701 8.14
Avg. 1.21 1.10 1.40 1 1 1
■ Tla: latest arrival time among all droplets. ■ Tcell: Total number of cells used for routing. ■ CPU: CPU time (sec)
Experimental Results on Benchmark Suite I
Benchmark Suite II High-Performance Our
Name Size #Net Tmax #Blk #Fail Tla #Tcell #Fail Tla #Tcell
Test a 13x13 6 100 69 1 n/a n/a 0 17 51
Test b 13x13 5 100 53 2 n/a n/a 0 13 33
Test c 16x16 7 100 95 0 29 74 0 24 61
Test d 16x16 9 100 133 2 n/a n/a 0 27 87
Test e 24x24 10 100 173 0 38 170 0 38 128
Test f 24x24 12 100 215 3 n/a n/a 0 45 129
Test g 32x32 6 100 440 2 n/a n/a 0 39 121
Test h 32x32 8 100 485 1 n/a n/a 0 39 88
Test I 48x48 12 100 1013 3 n/a n/a 0 85 197
Test j 48x48 20 100 1079 0 86 637 0 83 459
Total 14 0■ Size: Size of microfluidic array. ■ #Net: Number of droplets. ■ Tmax: Timing constraints. ■ #Blk: Number of blockage cells. ■ #Fail: Number of failed droplets. ■ Tla: latest arrival time among all droplets. ■ Tcell: Total number of cells used for routing.
(1) bounding boxes of droplets are overlapped; (2) nx1 or 1xn narrow routing regions are used for routing; (3) the density of blockage area is over 30%.
Experimental Results on Benchmark Suite II
Benchmark Suite III Network-Flow High-Performance Our
Name Size #Sub. #Net # Tmax #Dmax #Tcell #Tcell #Tcell
in-vitro_1 16 x 16 11 28 20 5 237 258 231
in-vitro_2 14 x 14 15 35 20 6 236 246 229
protein_1 21 x 21 64 181 20 6 1618 1688 1588
protein_2 13 x 13 78 178 20 6 939 963 923
Avg. 1.023 1.074 1.000
■ Size: Size of microfluidic array. ■ #Sub: Number of subproblems. ■ #Net: Number of droplets. ■ Tmax: Timing constraints.■ #Dmax: Maximum number of droplets among subproblems. ■ Tcell: Total number of cells used for routing.
Experimental Results on Benchmark Suite III
NCKU CSIE EDALAB
Conclusion
․ We proposed a fast routability- and performance-driven droplet router for DMFBs.
․ Experimental results demonstrated that our algorithm achieves 100% routing completion for all test cases in three Benchmark Suites while the previous algorithms are not.
․ Furthermore, the experimental results shown that our algorithm can achieve better timing result (Tla) and fault tolerance (Tcell) and faster runtime (CPU) with the best known results.
NCKU CSIE EDALAB
Outline of Work in ICCAD 2009
IntroductionIntroduction
Problem FormulationProblem Formulation
AlgorithmsAlgorithms
Experimental ResultsExperimental Results
ConclusionConclusion
NCKU CSIE EDALAB
Contamination problem
Disjoint routes
Routing with the wash droplet
S1
S2
T1
T2
2D microfluidic array
M
d1
d2
d1
d2
d1
d2
Dispensing port
Reservoir port
W
Contamination Constraints
․ Contamination problem
d1
d2
W
(1) separately
(2) simultaneously
NCKU CSIE EDALAB
Droplet Routing on Digital Microfluidic Biochips (DMFBs)
․ Input: A netlist of n droplets D = {d1, d2,…, dn}, the locations of blockages, and the timing constraint Tmax
․ Objective: Route all droplets from their source cells to their target cells while minimizing the number of used cells and execution time for better fault tolerance and reliability
․ Constraint: Fluidic, timing and contamination constraints should be satisfied.
2D microfluidic arrayDroplets
Target
• Fluidic constraint
• Timing constraint
Minimum spacing
Static fluidic constraint Dynamic fluidic constraint
• Contamination constraint
NCKU CSIE EDALAB
Related Work
Droplet Routing Algorithm Droplet routing in the synthesis of digital microfluidic biochips
[Su et al, DATE’06] Modeling and controlling parallel tasks in droplet based microfluidic systems
[K. F. B hringer, TCAD’06] A network-flow based routing algorithm for digital microfluidic biochips
[Yuh et al, ICCAD’07] Integrated droplet routing in the synthesis of microfluidic biochips
[T. Xu and K. Chakrabarty, DAC’07] A high-performance droplet routing algorithm for digital microfluidic biochips
[Cho and Pan, ISPD’08]
Contamination-Aware Droplet Routing Algorithm Cross-contamination avoidance for droplet routing in digital microfluidic
biochips [Y. Zhao and K. Chakrabarty, DATE’09] Disjoint routes Wash operation insertion strategy
o :
NCKU CSIE EDALAB
DATE’09
Total execution time for bioassay
Subproblem SP1
Subproblem SP2
Subproblem SPn
Subproblem SPn-1
Execution time of bioassay (time cycle)
Bio
log
ical
rea
ctio
n o
rder
…
I(1,2) I(2,3) I(n-1,n)
SP2
W2
SP1
W1
W1,2
W2,3
Wn-1,n
SPn
Wn
SPn-1
Wn-1
…
Sequencing relationship
Wash operation between subproblemsSubproblem of bioassayWash operation within one subproblem
NCKU CSIE EDALAB
Ours
Total execution time for bioassay
Subproblem SP1
Subproblem SP2
Subproblem SPn
Subproblem SPn-1
Execution time of bioassay (time cycle)
Bio
log
ical
rea
ctio
n o
rder
I(1,2)
SP1
W1
W1,2
…
I(2,3) I(n-1,n)
SP2
W2
W2,3
Wn-1,n
SPn
Wn
SPn-1
Wn-1
…
Sequencing relationship
Wash operation between subproblemsSubproblem of bioassayWash operation within one subproblem
SP1
W1,2
W1
SP2
W2,3
W2
SPn-1
Wn-1,n
Wn-1
Reduced timeTotal execution time for bioassay
NCKU CSIE EDALAB
Outline
IntroductionIntroduction
Problem FormulationProblem Formulation
AlgorithmsAlgorithms
Experimental ResultsExperimental Results
ConclusionConclusion
Preprocessing Stage
Intra-Contamination Aware Routing Stage
Inter-Contamination AwareRouting Stage
NCKU CSIE EDALAB
Preprocessing Stage
․ Preferred routing tracks construction¾ Reduce the design complexity for droplet routing¾ Minimize the used cells for better fault-tolerance¾ Increase the routability by concession control
․ Routing priority calculation¾ Routing-resource-based equation that considers the interference
between droplets inside the routing region globally¾ Increase the routability for droplet routing
NCKU CSIE EDALAB
Preprocessing Stage
S1
S2
T1
T3
T2
d3
d1
d2
․ Example
Moving vector analysis
Routing tracks construction
NCKU CSIE EDALAB
Preprocessing Stage
S1
S2
T1
T3
T2
Res1eq=((16+0)-(2+3))/16 = 11/16
Res2eq=((15+3)-(0))/18 = 1
Res3eq=((18+10)-(2+3))/28 =23/28
Route d2 to the A-cell of T2 by min-cost path
d1
S3
Concession Control
d2
d3
Res3eq=((18+10)-(2+6))/28 =20/28
Res1eq=((16+0)-(2))/16 = 14/16
․ Example
Moving vector analysis
Routing tracks construction
Routing priority calculation
Minimum cost path
NCKU CSIE EDALAB
Intra-Contamination Aware Routing Stage
․ Routing path modification by k-shortest path¾ Minimize the intra-contaminated spots by slightly modifying the
routing path
․ Routing compaction by dynamic programming¾ Minimize the completion time for bioassays (series 2D routing
paths to 3D routing paths)
․ Minimum cost circulation flow technique¾ Schedule the wash operation for wash droplets¾ Solve the intra-contaminated spots optimally under our flow
construction
NCKU CSIE EDALAB
Routing Path Modification by k-shortest Path
․ A k-shortest based algorithm†
¾ Modify the original routing path slightly¾ Minimize the contaminated spots
S1 T1
S2
T2
S3
T3
Contaminated spots:
6 -> 6 -> 2
Original routing path
Select a highly-contaminated path
Find the first shortest path
Find the second shortest path
Contamination spots Routing path Si Source location Ti Target location
†D. Eppstein, “Finding the k shortest paths,” Proc. IEEE FOCS, pp. 154-165, Feb. 1994.
NCKU CSIE EDALAB
Routing Compaction by Dynamic Programming
․ Major goals:¾ Transform series 2D routing into 3D routing considering the
timing issue and preserve the original routing path¾ Estimate the contaminated time of each contaminated spot
․ Optimal substructure¾ Optimally solution for a pair of droplets
¾ Find the solution by dynamic programming incrementally
NCKU CSIE EDALAB
Minimum Cost Circulation Flow Technique
․ Minimum Cost Circulation (MCC) problem¾ A generalization of network flow problems¾ Constraints:
Bounded constraint:
- each flow arc has a lower bound and a upper bound
Conservation constraint:
- the net flow of each node is zero
¾ Objective: Minimize the cost:
ijijij uxl
ff Eij
jiEji
ij xx),(),(
fEji
ijij xCz),(
NCKU CSIE EDALAB
Minimum Cost Circulation Flow Technique
․ Circulation flow formulation¾ Schedule an optimal solution for correct wash operation ¾ Four main phases of formulation
․ Two basic assignments¾ Node capacity assignment¾ Edge cost assignment
․ Two construction rules¾ Timing-based transitive topology¾ Connection strategy between phases
wash droplets
wastereservoircontaminated
spots
dummysource
NCKU CSIE EDALAB
Minimum Cost Circulation Flow Technique
․ Assignment 1: Node capacity assignment¾ Guarantee that the contaminated spot should be cleaned by
the wash droplets Node split
․ Assignment 2: Edge cost assignment¾ Minimize the used cells and routing time of wash droplets¾ The same routing cost model between two points
node split into input node and output node
VIO
node v
assign the 3-tuple (l, u, c) of this arc
)0,,1(
Rc
shoulderillegallegalvv cccRCostji
)()( ),(
NCKU CSIE EDALAB
Minimum Cost Circulation Flow Technique
․ Construction rule 1: Timing-based transitive topology¾ Timing-based topology
The timing slot of each contaminated spot can be estimate by dynamic programming
Connect a early contaminated spot to a later one by the 3-tuple
¾ Transitive closure Allows the multiple wash droplets to perform the wash
operation, while satisfying the timing-based topology For any triple contaminated spot (vi, vk, vj), if there are
edges connect and , a transitive edge also connects by assigning the
))(,,0( , ji vvRCost
),( kin
iout vv ),( j
inkout vv
),( jin
iout vv ))(,,0( , ji vvRCost
NCKU CSIE EDALAB
Minimum Cost Circulation Flow Technique
․ Illustration
VIO
VIO
VIO
VIO
…
Contaminated spots
Assignment 1
Assignment 2
)0,,1(
)0,,1(
)0,,1(
)0,,1(
Timing-based topology
1̂t
2̂t
3̂t
nt̂
ntttt ˆˆˆˆ321
Transitive closure
Transitive edge
NCKU CSIE EDALAB
Minimum Cost Circulation Flow Technique
․ Construction rule 2: Connection between phases¾ Four major phases in the MCC formulation
)0,4,1(
W3
W1
W2
W4
L = 0U = 1C = 0
L = 0U = 1C = min-cost path
L = 0U = ∞ C = min-cost path
Source
Sink
...
...I O
I O
I O
I O
. ..
Source Wash droplets Contaminated spots Waste reservoir
NCKU CSIE EDALAB
Minimum Cost Circulation Flow Technique
․ Theorem 1: There exists a feasible solution under the two basic assignments and two flow construction rules
¾ Proof The construction enhances at least one flow from the sink
back to the source, meaning that one flow from the source to the wash droplet set. There also exists one possible path to travel all the contaminated node set (topology sorted order).
S TW
Flow lower bound=1
C1
C2
Cn
Topology sorted order …
At least one wash droplet
Clean the contaminated spots
NCKU CSIE EDALAB
Minimum Cost Circulation Flow Technique
․ Theorem 2: Under the proposed flow construction, we can adopt the MCC algorithm to schedule correct and optimal wash operations
¾ Proof Theorem 1 shows there is a feasible solution, that is, the
contaminated spots are correctly cleaned by the wash droplets.
The MCC algorithm will obtain a feasible flow with minimum cost that represents the optimal scheduling of wash operations.
NCKU CSIE EDALAB
Inter-Contamination Aware routing Stage
․ Look-ahead routing scheme¾ Contaminated spots also occur between subproblems¾ Predicting the inter-contaminations for the next subproblem
and clean the intra- and inter-contaminations simultaneously to reduce the completion time
Inter-contamination Intra-contamination
si si+1 si and si+1
NCKU CSIE EDALAB
Inter-Contamination Aware routing Stage
․ Travelling salesman problem optimization† ¾ Utilize the wash droplets while minimize the total used cells
and completion time¾ Clean the set of non-washed look-ahead contaminated spots in
the bounding box of node vi and vj
Vi
Vj
(vi, vj) is the edge of flow graphConsider the bounding box
Inter-contaminated spots
Construction rule 1
TSP optimization
Inter-contaminated spots
Intra-contaminated spots† R. Bellman, “Dynamic programming treatment of the travelling salesman
problem,” J. ACM, pp. 61-63, Jan. 1962.
NCKU CSIE EDALAB
Experimental Settings
․ Implement our algorithm in C++ language on a 2 GHz 64-bit Linux machine with 8GB memory
․ Comparison¾ Disjoint-route algorithm [Y. Zhao and K. Chakrabarty, DATE’09]
․ Tested on three benchmark suites¾ Benchmark [Su and Chakrabarty, DAC’05]
Circuit Size #Sub #Net #Dmax #W
in-vitro_1 16 x 16 11 28 5 4
in-vitro_2 14 x 14 15 35 6 4
protein_1 21 x 21 64 181 6 4
protein_2 13 x 13 78 178 6 4
Size: Size of the microfluidic array
#Sub: Number of subproblems
#Net: Total input nets
#Dmax: Maximum number of droplets with one subproblem
#W: Number of wash droplets
NCKU CSIE EDALAB
BioassayOurs (non k-SP) Ours (k-SP)
#Cintra #UC Texe CPU #Cintra #UC Texe CPU
in-vitro_1 53 388 225 0.18 21 351 193 0.58
in-vitro_2 27 291 217 0.13 5 281 191 0.39
protein_1 138 2418 1592 1.47 82 2213 1394 2.58
protein_2 106 1453 1280 0.71 61 1362 1108 1.49
Total 324 4550 3314 2.49 169 4207 2886 5.04
#Cintra: The number of intra-contaminations
CPU: The CPU time (sec)Texe: The execution time for the bioassays
BioassayContaminations Ours (non look-ahead) Ours (look-ahead)
#Cintra #Cinter #Cintra #UC Texe CPU #UC Texe CPU
in-vitro_1 21 19 21 446 227 0.32 351 193 0.58
in-vitro_2 5 8 5 267 210 0.24 281 191 0.39
protein_1 82 190 82 2493 1569 2.11 2213 1394 2.58
protein_2 61 141 61 1498 1172 0.47 1362 1108 1.49
Total 169 358 169 4704 3178 3.14 4207 2886 5.04
#UC: The number of used cells for routing
#Cintra: The number of intra-contaminations
#Ciinter: The number of inter-contaminations
CPU: The CPU time (sec)
#UC: The number of used cells for routing
Texe: The execution time for the bioassays
8% 13%
11% 9%
48%
NCKU CSIE EDALAB
CircuitDisjoint route (Y. Zhao and K. Chakrabarty) Ours (k-SP + look-ahead)
#Cintra #UC Texe CPU #Cintra #UC Texe CPU
in-vitro_1 4 621 268 0.06 21 351 193 0.58
in-vitro_2 0 423 224 0.03 5 281 191 0.39
protein_1 18 3215 1508 0.23 82 2213 1394 2.58
protein_2 11 1574 1287 0.14 61 1362 1108 1.49
Total 33 5833 3287 0.46 169 4207 2886 5.04
#Cintra: The number of intra-contaminations
CPU: The CPU time (sec)
#UC: The number of used cells for routing
Texe: The execution time for the bioassays
28% 12%
NCKU CSIE EDALAB
Conclusion
․ We proposed a contamination aware droplet routing algorithm for DMFBs
․ We can optimally solve the wash droplets routing for the intra-contamination problem
․ Experimental results show that our algorithm can achieve better timing result (Texe) and fault tolerance (#UC) compared with the best known results
NCKU CSIE EDALAB
Tsung-Yi Hohttp://eda.csie.ncku.edu.tw
Department of Computer Science and Information EngineeringNational Cheng Kung University
Tainan, Taiwan
ACM International Symposium on Physical Design, 2010
NCKU CSIE EDALAB
Pin-Constrained Digital Microfluidic Biochips
․ Direct-addressing biochips¾ Dedicated control pin for each electrode¾ Maximum freedom of droplets¾ High demanded control pins
․ Broadcast-addressing biochips *¾ A control pin can be shared by multiple electrodes¾ Flexible for pin-constrained DMFBs¾ Control pin sharing
1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
1 2 3 4 1 2
7 8 9 10 14 12
13 14 15 13 8 7
2 1 4 3 2 1
Control pins: 24
Control pins: 15
Dedicated pin to identify the control signal
* [T. Xu and K. Chakrabarty, DAC’08]
NCKU CSIE EDALAB
․ Apply the direct-addressing scheme to a routing result
Previous Method – Direct Addressing
d1
d3
T2
d2
T3
T1
Control Pins: Used Cell: execution time:
1 2 3 4
5 86 97 10 11 12
20 2321 2422 25 26 18
15
13
14
17
16
19
2626
18
# of control pins = # of used cells
NCKU CSIE EDALAB
․ Apply the broadcast-addressing scheme to a routing result
Previous Method (1/2) – Broadcast Addressing
d1
d3
T2
d2
T3
T1
Control Pins: Used Cell: execution time:
1 2 3 1
4 45 56 7 8 12
4 45 56 6 4 9
15
13
14
10
11
11
1526
18
NCKU CSIE EDALAB
․ Integrate the broadcast-addressing scheme with droplet routing
Previous Method (2/2) – Broadcast Addressing
d1
d3
T2
d2
T3
T1
Control Pins: Used Cell: execution time:
1 2 3 1
4 45 56 7 8 9
4 45 56 6 4 9
10
11
8
5
13
13
12
10
1113
2920
Control Pins: Used Cell: execution time:
1526
18
May increase the # of used cells and execution time
NCKU CSIE EDALAB
․ Integrate broadcast-addressing scheme with droplet routing while simultaneously minimizing the # of control pins, # of used cells, and execution time
d1
d3
T2
d2
T3
T1
Control Pins: Used Cell: execution time:
1 2 3 1
4 49 56 3 7 2
4
9
6
7
6
2
5
8
5
7
2
923
15
Ours (1/2)
Minimized # of control pins
Minimized # of used cells
Minimized execution time
Control Pins: Used Cell: execution time:
1329
20
Control Pins: Used Cell: execution time:
1526
18
NCKU CSIE EDALAB
․ Contributions: ¾ We propose the first algorithm that integrates the broadcast-
addressing with droplet routing problem, while simultaneously minimizing the # of control pins, the # of used cells, and the execution time
¾ A Basic ILP formulation is introduced to optimally solve the droplet routing problem
¾ A two-stage ILP-based algorithm is presented to tackle the complexity of the basic ILP formulation
Ours (2/2)
NCKU CSIE EDALAB