69
NCKU CSIE EDALAB 何何何 Tsung-Yi Ho http://eda.csie.ncku.edu.tw Department of Computer Science and Information Engineering National Cheng Kung University Tainan, Taiwan IEEE International Conference on Computer Design, 2009 ACM/IEEE International Conference on Computer Aided Design, 2009

何宗易 Tsung -Yi Ho eda.csie.ncku.tw

  • Upload
    unity

  • View
    81

  • Download
    9

Embed Size (px)

DESCRIPTION

Droplet Routing Algorithms for Digital Microfluidic Biochips. IEEE International Conference on Computer Design, 2009 ACM/IEEE International Conference on Computer Aided Design, 2009. 何宗易 Tsung -Yi Ho http://eda.csie.ncku.edu.tw Department of Computer Science and Information Engineering - PowerPoint PPT Presentation

Citation preview

Page 1: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 2: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

Outline of Work in ICCD 2009

IntroductionIntroduction

Problem FormulationProblem Formulation

AlgorithmsAlgorithms

Experimental ResultsExperimental Results

ConclusionConclusion

Page 3: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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)

Page 4: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

Biochip Miniaturization

․ Smaller sample consumption

․ Lower cost

․ Higher throughput

․ Higher sensitivity

․ Higher productivity

Conventional Biochemical Analyzer

Shrink

DNA microarray (Infineon AG)

Page 5: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 6: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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)

Page 7: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

Continuous-flow biochips: • Permanently etched microchannels, micropumps, and

microvalvesDigital microfluidic biochips:

• Manipulation of liquids as discrete droplets

Microfluidic Biochips

Page 8: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

Unified Synthesis Methodology (Su and Chakrabarty, DAC 2005)

Page 9: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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.)

Page 10: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 11: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 12: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 13: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 14: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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.

Page 15: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

One Droplet at a Time

Page 16: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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.

Page 17: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

?

Page 18: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 19: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

Preferred Routing Track Construction

T3 S4 T2 S1

T1 S3

T6

S5

T5

T4 S2 S6

S1

T1 S3

Moving vector

Page 20: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

Preferred Routing Track Construction

T3 S4 T2 S1

T1 S3

T6

S5

T5

T4 S2 S6S2

T2

A* maze searching

Page 21: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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.

Page 22: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 23: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 24: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 25: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 26: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 27: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

T3 S4 T2 S1

T1 S3

T6

S5

T5

T4 S2 S6

Routing Compaction by Dynamic Programming

D2 = rruuuuuulllluuruu D4 = lllddddddddddEx:

Page 28: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 29: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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%.

Page 30: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 31: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 32: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 33: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 34: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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.

Page 35: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

Outline of Work in ICCAD 2009

IntroductionIntroduction

Problem FormulationProblem Formulation

AlgorithmsAlgorithms

Experimental ResultsExperimental Results

ConclusionConclusion

Page 36: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 37: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 38: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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 :

Page 39: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 40: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 41: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

Outline

IntroductionIntroduction

Problem FormulationProblem Formulation

AlgorithmsAlgorithms

Experimental ResultsExperimental Results

ConclusionConclusion

Preprocessing Stage

Intra-Contamination Aware Routing Stage

Inter-Contamination AwareRouting Stage

Page 42: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 43: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB

Preprocessing Stage

S1

S2

T1

T3

T2

d3

d1

d2

․ Example

Moving vector analysis

Routing tracks construction

Page 44: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 45: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 46: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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.

Page 47: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 48: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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),(

Page 49: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 50: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

)()( ),(

Page 51: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 52: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 53: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 54: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 55: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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.

Page 56: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 57: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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.

Page 58: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 59: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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%

Page 60: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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%

Page 61: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 62: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 63: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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]

Page 64: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 65: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 66: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 67: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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

Page 68: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

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)

Page 69: 何宗易 Tsung -Yi Ho eda.csie.ncku.tw

NCKU CSIE EDALAB