Fast Online Synthesis of Generally Programmable Digital Microfluidic Biochips
description
Transcript of Fast Online Synthesis of Generally Programmable Digital Microfluidic Biochips
Fast Online Synthesis of Generally Programmable
Digital Microfluidic Biochips
Dan Grissom and Philip BriskUniversity of California, Riverside
CODES+ISSS (ESWEEK)Tampere, Finland, October 10
2
The Future Of Chemistry
Microfluidics
Miniaturization + Automation
3
Applications
Biochemical assays and immunoassaysClinical pathology
Drug discovery and testingRapid assay prototypingTesting new drugs (via lung-on-a-chip)
Biochemical terror and hazard detectionDNA extraction & sequencing
4
Digital Microfluidic Biochips (DMFB) 101
5
Resource-constrained scheduling of operations into time-stepsTime-step ~ scheduling unit, usually 1s or 2s
Placement of operations during each time-step into modulesModule ~ 2D group of cells where operation takes place for 1+ time-steps
Routing of droplets between operations between time-steps
DMFB High Level Synthesis
6
Goal: Online SynthesisWhy: Programmability, control-flow, live-feedback
Problem: Past, optimized methods are too complexSolution: Synthesis with good results in little time
High Level Motivation
7
Virtual topology applied to physical DMFBAll cells are physically the sameVirtual topology restricts location of operations (modules)Regular module placement
Solution: Virtual Topology
8
Modules can be different sizesInput (output) ports on top/bottom left (right) cellsDroplets can wait in I/O cells as long as necessary
Arriving droplets will not interfere with departing droplets
Modules & Virtual I/O Ports
9
Droplet Synchronization
Mix operation
Split operation
Storage operation
10
Simplifies the synthesis processScheduling: Gives clear number of resources (no guessing)Placement: No placement; instead choose a free moduleRouting: Topology and module syncing guarantees routability
Why a Virtual Topology?
11
We choose list-scheduling (LS) with several constraintsConstructive algorithm -- one iterationMuch faster than iterative algorithms (e.g., genetic algorithms)Total number of available resources dictated by virtual topology
Scheduling
Resources available each time-step2 general modules1 heating module1 detect module
12
We convert placement into a binding problemModules are pre-placed at regular intervalsModule can be viewed as a fixed resource
It’s either available or not
Placement
Traditional Free Placement Proposed Fixed Placement
13
Operations are bound to modules of the same typeWill never have to reschedule since fixed placement gave scheduler precise resource availability
Placement (…continued)
Ex: Time-step 2
M1T:[8-11)
R:B
M5T:[5-8)
R:B
M6T:[5-8)
R:B
M1T:[2-5)
R:B
M2T:[2-5)
R:B
M3T:[2-5)
R:H
M4T:[2-5)
R:D
14
Greedy left-edge algorithm used for bindingOperations sorted by start time into module-type binsOperations bound greedily to specific modules
Placement (…continued)
15
Simplified Soukup Maze Router [Roy, 2010]
Independent routes computed for each droplet
Routing
Independent routes
16
Simplified Soukup Maze Router [Roy, 2010]
All routes compacted; stalls added if necessary
Routing (…continued)
- Droplets may collide if all start at same time
17
Routing (…continued)
Independent routes compactedStalls added mid-route if possible
5
4S1 1 2 3/6 4/5 5/4 6/3 2 1 S2
37 7
28 8
1T2 T1
0 1 2 3 4 5 6 7 8 9 10 11
Deadlock!
18
Routing (…continued)
Independent routes compactedStalls added at beginning otherwise
Guaranteed to work because of designated module I/Os
5
4S1 1 2 3/6 4/5 5/4 6/3 2 1 S2
37 7
28 8
1T2 T1
0 1 2 3 4 5 6 7 8 9 10 11
19
Routing (…continued)
Sub-problem 1 Compaction
Sub-problem 2 Compaction
20
Experimental ResultsCompared 2 flows
Our online: List SchedulerFixed BindingSimplified Maze Router
Traditional offline:Genetic SchedulerSimulated Annealing PlacerSimplified Maze Router
Used high-end and low-end platforms2.8GHz Intel Core i7, 4GB RAM, 64-bit Windows 71GHz Intel Atom, 512MB RAM, TimeSys 11 Linux
21
BenchmarksPCR
In-Vitro Diagnostics5 different combos of samples/reagents
Colorimetric Protein
22
Results - Scheduling
Genetic scheduling produces comparable schedules, but takes more time
PCR (OFF)
InVitro
_1 (O
N)
InVitro
_2 (O
FF)
InVitro
_3 (O
N)
InVitro
_4 (O
FF)
InVitro
_5 (O
N)
Protein
(OFF)
0
40,000
80,000
120,000
Genetic Scheduling vs. List Scheduling (Atom)
GA Sched GA Atom CPU LS Sched LS Atom CPU
Benchmark
Tim
e (m
s)
23
Results - Placement
Our binder uses more space, but produces valid solutions in significantly less time
PCR (OFF)
InVitro
_1 (O
N)
InVitro
_2 (O
FF)
InVitro
_3 (O
N)
InVitro
_4 (O
FF)
InVitro
_5 (O
N)
Protein
(OFF)
020,000,00040,000,00060,000,00080,000,000
Simulated Annealing vs. Fixed Placement (Atom)
FP Atom CPU SAP Atom CPU
Benchmark
Tim
e (m
s)
24
Results - Routing
Routing method is comparable for both flows
PCR (OFF)
InVitro
_1 (O
N)
InVitro
_2 (O
FF)
InVitro
_3 (O
N)
InVitro
_4 (O
FF)
InVitro
_5 (O
N)
Protein
(OFF)
0
4,000
8,000
12,000
Genetic Scheduling vs. List Scheduling (Atom)
OFF Route Length OFF Atom CPU ON Route Length ON Atom CPU
Benchmark
Tim
e (m
s)
25
Results - Entire FlowAssay times (solutions) comparable for online/offline
Offline spends most of time computing synthesis
Online spends almost entire time running assay
26
Conclusion
Presented a flow for online synthesisScheduling, placement and routing simplified by virtual topology
Scheduling: Know precise resource availabilityPlacement: Free placement simplified to bindingRouting: VT guarantees a deadlock-free route
Other fast scheduler/routers can be usedBiggest savings from fixed placement
Produces quality synthesis solutions in ms
27
Microfluidics SimulatorOpen source release
www.microfluidics.cs.ucr.edu
28
Thank You
29
Synthesis Example: Scheduling
Scheduler
Input Assay (DAG)
Scheduled Assay (DAG)
DMFB Architecture
Placer
30
Synthesis Example: Placement
Scheduled Assay (DAG)
Placement Information
31
Synthesis Example: Routing
Placement Placement
Router
Final Output
32
Maximum number of droplets permitted on DMFBLeave a “bubble” for a droplet Any droplet can be isolated in any module
Scheduling (…continued)
Results in scheduling DEADLOCK Results in schedulable configuration