Elena Maftei Technical University of Denmark DTU Informatics

Slides:



Advertisements
Similar presentations
Porosity Aware Buffered Steiner Tree Construction C. Alpert G. Gandham S. Quay IBM Corp M. Hrkic Univ Illinois Chicago J. Hu Texas A&M Univ.
Advertisements

Force-Directed List Scheduling for DMFBs Kenneth ONeal, Dan Grissom, Philip Brisk Department of Computer Science and Engineering Bourns College of Engineering.
A Field-Programmable Pin-Constrained Digital Microfluidic Biochip Dan Grissom and Philip Brisk University of California, Riverside Design Automation Conference.
OCV-Aware Top-Level Clock Tree Optimization
SkewReduce YongChul Kwon Magdalena Balazinska, Bill Howe, Jerome Rolia* University of Washington, *HP Labs Skew-Resistant Parallel Processing of Feature-Extracting.
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
NCKU CSIE EDALAB Shang-Tsung Yu, Sheng-Han Yeh, and Tsung-Yi Ho Electronic Design Automation Laboratory.
Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation.
Optimal Testing of Digital Microfluidic Biochips: A Multiple Traveling Salesman Problem R. Garfinkel 1, I.I. Măndoiu 2, B. Paşaniuc 2 and A. Zelikovsky.
Early Days of Circuit Placement Martin D. F. Wong Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
Droplet-Aware Module-Based Synthesis for Fault-Tolerant Digital Microfluidic Biochips Elena Maftei, Paul Pop, and Jan Madsen Technical University of Denmark.
Supply Voltage Degradation Aware Analytical Placement Andrew B. Kahng, Bao Liu and Qinke Wang UCSD CSE Department {abk, bliu,
Scheduling with Optimized Communication for Time-Triggered Embedded Systems Slide 1 Scheduling with Optimized Communication for Time-Triggered Embedded.
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
A Scheduling and Routing Algorithm for DMFS Ring Layouts with Bus-phase Addressing Megha Gupta Srinivas Akella.
Torino (Italy) – June 25th, 2013 Ant Colony Optimization for Mapping, Scheduling and Placing in Reconfigurable Systems Christian Pilato Fabrizio Ferrandi,
Tabu Search-Based Synthesis of Dynamically Reconfigurable Digital Microfluidic Biochips Elena Maftei, Paul Pop, Jan Madsen Technical University of Denmark.
Tradeoff Analysis for Dependable Real-Time Embedded Systems during the Early Design Phases Junhe Gan.
1 electrowetting-driven digital microfluidic devices Frieder Mugele University of Twente Physics of Complex Fluids Fahong Li, Adrian Staicu, Florent Malloggi,
NCKU CSIE EDALAB Department of Computer Science and Information Engineering National Cheng Kung University Tainan, Taiwan Tsung-Wei.
Recent Research and Emerging Challenges in the System-Level Design of Digital Microfluidic Biochips Paul Pop, Elena Maftei, Jan Madsen Technical University.
LOPASS: A Low Power Architectural Synthesis for FPGAs with Interconnect Estimation and Optimization Harikrishnan K.C. University of Massachusetts Amherst.
SoC TAM Design to Minimize Test Application Time Advisor Dr. Vishwani D. Agrawal Committee Members Dr. Victor P. Nelson, Dr. Adit D. Singh Apr 9, 2015.
March 20, 2007 ISPD An Effective Clustering Algorithm for Mixed-size Placement Jianhua Li, Laleh Behjat, and Jie Huang Jianhua Li, Laleh Behjat,
Feedback Control for the Programmable Cell Culture Chip “ProCell” Felician Ștefan Blaga Supervisor: Paul Pop (DTU Informatics) Co-supervisors: Wajid Minhass.
Path Scheduling on Digital Microfluidic Biochips Dan Grissom and Philip Brisk University of California, Riverside Design Automation Conference San Francisco,
Ping-Hung Yuh, Chia-Lin Yang, and Yao-Wen Chang
SVM-Based Routability-Driven Chip-Level Design for Voltage-Aware Pin-Constraint EWOD Chips Qin Wang 1, Weiran He, Hailong Yao 1, Tsung-Yi Ho 2, Yici Cai.
ILP-Based Pin-Count Aware Design Methodology for Microfluidic Biochips Chiung-Yu Lin and Yao-Wen Chang Department of EE, NTU DAC 2009.
Exact routing for digital microfluidic biochips with temporary blockages OLIVER KESZOCZE ROBERT WILLE ROLF DRECHSLER ICCAD’14.
1. Placement of Digital Microfluidic Biochips Using the T-tree Formulation Ping-Hung Yuh 1, Chia-Lin Yang 1, and Yao-Wen Chang 2 1 Dept. of Computer Science.
Design of a High-Throughput Low-Power IS95 Viterbi Decoder Xun Liu Marios C. Papaefthymiou Advanced Computer Architecture Laboratory Electrical Engineering.
A SAT-Based Routing Algorithm for Cross-Referencing Biochips Ping-Hung Yuh 1, Cliff Chiung-Yu Lin 2, Tsung- Wei Huang 3, Tsung-Yi Ho 3, Chia-Lin Yang 4,
A Memetic Algorithm for VLSI Floorplanning Maolin Tang, Member, IEEE, and Xin Yao, Fellow, IEEE IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
Johnathan Fiske, *Dan Grissom, Philip Brisk
Reliability-Oriented Broadcast Electrode- Addressing for Pin-Constrained Digital Microfluidic Biochips Department of Computer Science and Information Engineering.
Fast Online Synthesis of Generally Programmable Digital Microfluidic Biochips Dan Grissom and Philip Brisk University of California, Riverside CODES+ISSS.
1 of 16 April 25, 2006 System-Level Modeling and Synthesis Techniques for Flow-Based Microfluidic Large-Scale Integration Biochips Contact: Wajid Hassan.
1 ICC 2013, 9-13 June, Budapest, Hungary Localization packet scheduling for an underwater acoustic sensor network By Hamid Ramezani & Geert Leus.
LEMAR: A Novel Length Matching Routing Algorithm for Analog and Mixed Signal Circuits H. Yao, Y. Cai and Q. Gao EDA Lab, Department of CS, Tsinghua University,
Wajid Minhass, Paul Pop, Jan Madsen Technical University of Denmark
Outline Motivation and Contributions Related Works ILP Formulation
ILP-Based Synthesis for Sample Preparation Applications on Digital Microfluidic Biochips ABHIMANYU YADAV, TRUNG ANH DINH, DAIKI KITAGAWA AND SHIGERU YAMASHITA.
1 Hardware-Software Co-Synthesis of Low Power Real-Time Distributed Embedded Systems with Dynamically Reconfigurable FPGAs Li Shang and Niraj K.Jha Proceedings.
System-Level Modeling and Simulation of the Cell Culture Microfluidic Biochip ProCell Wajid Hassan Minhass †, Paul Pop †, Jan Madsen † Mette Hemmingsen.
Synthesis of Digital Microfluidic Biochips with Reconfigurable Operation Execution Elena Maftei Technical University of Denmark DTU Informatics
Task Mapping and Partition Allocation for Mixed-Criticality Real-Time Systems Domițian Tămaș-Selicean and Paul Pop Technical University of Denmark.
An O(bn 2 ) Time Algorithm for Optimal Buffer Insertion with b Buffer Types Authors: Zhuo Li and Weiping Shi Presenter: Sunil Khatri Department of Electrical.
Synthesis of Reliable Digital Microfluidic Biochips using Monte Carlo Simulation Elena Maftei, Paul Pop, Florin Popenţiu Vlădicescu Technical University.
Routing-Based Synthesis of Digital Microfluidic Biochips Elena Maftei, Paul Pop, Jan Madsen Technical University of Denmark CASES’101Routing-Based Synthesis.
1 Double-Patterning Aware DSA Template Guided Cut Redistribution for Advanced 1-D Gridded Designs Zhi-Wen Lin and Yao-Wen Chang National Taiwan University.
Optimization of Time-Partitions for Mixed-Criticality Real-Time Distributed Embedded Systems Domițian Tămaș-Selicean and Paul Pop Technical University.
Synthesis of Biochemical Applications on Digital Microfluidic Biochips with Operation Variability Mirela Alistar, Elena Maftei, Paul Pop, Jan Madsen.
1 Placement-Aware Architectural Synthesis of Digital Microfluidic Biochips using ILP Elena Maftei Institute of Informatics and Mathematical Modelling Technical.
Optimizing Distributed Actor Systems for Dynamic Interactive Services
Contents Introduction Bus Power Model Related Works Motivation
Introduction | Model | Solution | Evaluation
Architecture Synthesis for Cost Constrained Fault Tolerant Biochips
Nithin Michael, Yao Wang, G. Edward Suh and Ao Tang Cornell University
Class project by Piyush Ranjan Satapathy & Van Lepham
Fault-Tolerant Architecture Design for Flow-Based Biochips
Microfluidic Biochips
Michele Santoro: Further Improvements in Interconnect-Driven High-Level Synthesis of DFGs Using 2-Level Graph Isomorphism Michele.
Department of Electrical Engineering Joint work with Jiong Luo
A New Hybrid FPGA with Nanoscale Clusters and CMOS Routing Reza M. P
Architecture and operational principle of protosensors for medical diagnosis Architecture and operational principle of protosensors for medical diagnosis.
Automatic and Efficient Data Virtualization System on Scientific Datasets Li Weng.
Communication Driven Remapping of Processing Element (PE) in Fault-tolerant NoC-based MPSoCs Chia-Ling Chen, Yen-Hao Chen and TingTing Hwang Department.
Algorithm Course Algorithms Lecture 3 Sorting Algorithm-1
Presentation transcript:

Elena Maftei Technical University of Denmark DTU Informatics Synthesis of Digital Microfluidic Biochips with Reconfigurable Operation Execution Elena Maftei Technical University of Denmark DTU Informatics Leave the droplet picture Hello everybody, and thank for your introduction. The paper I am presenting is about the design optimization of multi-cluster systems implementing hard-real time applications. <click> What is a multi-cluster? www.dreamstime.com

Digital Microfluidic Biochip Duke University

Applications Sampling and real time testing of air/water for biochemical toxins Food testing DNA analysis and sequencing Clinical diagnosis Point of care devices Drug development Ok

Advantages & Challenges High throughput (reduced sample / reagent consumption)‏ Space (miniaturization)‏ Time (parallelism)‏ Automation (minimal human intervention)‏ Challenges: Design complexity Radically different design and test methods required Integration with microelectronic components in future SoCs ‏ Ok

Outline Motivation Architecture Operation Execution Contribution I Module-Based Synthesis with Dynamic Virtual Devices Contribution II Routing-Based Synthesis Contribution III Droplet-Aware Module-Based Synthesis Conclusions & Future Directions

Architecture and Working Principles Biochip architecture Cell architecture Reservoir S2 R2 B S3 S1 W R1 Droplet Top plate Ground electrode Control electrodes Insulators Filler fluid Bottom plate Electrowetting-on-dielectric Detector

Microfluidic Operations B S3 S1 W R1 Dispensing Detection Splitting/Merging Storage Mixing/Dilution

Reconfigurability Dispensing Detection Splitting/Merging Storage W R1 Dispensing Detection Splitting/Merging Storage Mixing/Dilution

Reconfigurability Non-reconfigurable Dispensing Detection W R1 Non-reconfigurable Dispensing Detection Splitting/Merging Storage Mixing/Dilution

Reconfigurability Non-reconfigurable Dispensing Detection W R1 Non-reconfigurable Dispensing Detection Splitting/Merging Storage Mixing/Dilution Reconfigurable

Module-Based Operation Execution W R1 2 x 4 module

Module-Based Operation Execution W R1 Operation Area (cells) Time (s) Mix 2 x 4 3 2 x 2 4 Dilution 5 2 x 4 module Module library

Module-Based Operation Execution W R1 2 x 4 module segregation cells

Module-Based Operation Execution W R1 Operations confined to rectangular, fixed modules Positions of droplets inside modules ignored Segregation cells

Module-Based Synthesis with Dynamic Virtual Modules

Example Application graph t 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D1 1 2 9 12 8 3 4 5 6 7 11 13 10 In S1 In B In S2 In R1 Dilute Mix In S3 In R2 Application graph t

Example Application graph Biochip 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 W B2 D1 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph Biochip

Example Application graph t 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D1 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 D2(O5) Application graph t

Example Application graph t+4 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 W B2 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 D4 (O13) store O5 D3 (O12) M1 (O6) Application graph t+4

Example Application graph t+8 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 W B2 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 D4 (O13) D3 (O12) M2(O7) Application graph t+8

Example Application graph Schedule 1 2 9 12 8 3 5 6 7 11 13 10 4 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Mixer1 Mixer2 Diluter2 Diluter3 Diluter4 O5 O6 O12 O13 O7 store t t+8 t+11 Allocation Application graph Schedule

Example Application graph t 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) D1 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph t

Example Application graph t 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph t

Example Application graph t 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph t

Example Application graph t 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph t

Example t Application graph 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) t 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph

Example t Application graph 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) t 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph

Example t Application graph 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) t 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph

Example t Application graph 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) t 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph

Example t Application graph 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) t 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph

Example t Application graph 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) t 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph

Example t Application graph 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) t 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph

Example t Application graph 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) D1 t 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph

Example t Application graph 1 2 9 12 8 3 5 6 7 11 13 10 S1 S2 S3 B1 R2 W B2 D2(O5) D1 t 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 M1 (O6) Application graph

Example Application graph t+4 1 2 9 12 8 3 5 6 7 11 13 10 D3 (O12) S1 B1 R2 R1 W B2 M2 (O7) D4 (O13) 2 x 2 2 x 4 S1 B1 S2 R1 R2 B2 S3 1 2 9 12 8 3 4 5 6 7 11 13 10 Application graph t+4

Example Schedule – operation execution with fixed virtual modules Mixer1 Mixer2 Diluter2 Diluter3 Diluter4 O5 O6 O12 O13 O7 store t t+8 t+11 Allocation t t+4 t+9 Allocation Mixer1 O6 Diluter2 O5 Mixer2 O7 Diluter3 O12 Diluter4 O13 Schedule – operation execution with fixed virtual modules Schedule – operation execution with dynamic virtual modules

Solution Binding of modules to operations Schedule of the operations Tabu Search Binding of modules to operations Schedule of the operations Placement of modules performed inside scheduling Placement of the modules Free space manager based on [Bazargan et al. 2000] that divides free space on the chip into overlapping rectangles List Scheduling Maximal Empty Rectangles

Dynamic Placement Algorithm (3,8) (8,8) S1 S2 S3 B1 R1 R2 W B2 Rect2 (0,4) Rect3 D1 Rect1 (0,0) (7,0)

Dynamic Placement Algorithm (8,8) S1 S2 S3 B1 R1 R2 W B2 Rect2 D2(O5) (6,4) (3,4) D1 Rect3 Rect1 (0,0) (7,0)

Dynamic Placement Algorithm (8,8) S1 S2 S3 B1 R1 R2 W B2 D2(O5) Rect2 (8,4) D1 Rect1 (4,0) (6,0)

Experimental Evaluation Tabu Search-based algorithm implemented in Java Benchmarks Real-life applications Colorimetric protein assay In-vitro diagnosis Polymerase chain reaction – mixing stage Synthetic benchmarks 10 TGFF-generated benchmarks with 10 to 100 operations Comparison between: Module-based synthesis with fixed modules (MBS) T-Tree [Yuh et al. 2007] Module-based synthesis with dynamic modules (DMBS)

Experimental Evaluation Best-, average schedule length and standard deviation out of 50 runs for MBS Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Area Time limit (min) Best (s) Average (s) Standard dev. (%) 13 x 13 60 182 189.99 2.90 10 192.00 3.64 1 191 199.20 4.70 12 x 12 190.86 3.20 185 197.73 6.50 193 212.62 10.97 11 x 12 184 192.50 3.78 194 211.72 14.37 226 252.19 15.76

Experimental Evaluation Best schedule length out of 50 runs for MBS vs. T-Tree Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay 22.91 % improvement for 9 x 9

Experimental Evaluation Average schedule length out of 50 runs for DMBS vs. MBS Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay 7.68 % improvement for 11 x 12

Routing-Based Operation Execution

Module-Based vs. Routing-Based Operation Execution W R1 S2 R2 B S3 S1 W R1 c2 c1

Operation Execution Characterization S2 R2 B S3 S1 W R1 c2 90◦ 0◦ 180◦ c1 p90, p180, p0 ?

Operation Execution Characterization 0◦ 180◦ 0◦ 90◦ Type Area (cells) Time (s) Mix/Dlt 2 x 4 2.9 1 x 4 4.6 2 x 3 6.1 2 x 2 9.9 Input - 2 Detect 1 x 1 30 p90, p180, p0 0◦ 90◦ 90◦ Electrode pitch size = 1.5 mm, gap spacing = 0.3 mm, average velocity rate = 20 cm/s.

Operation Execution Characterization Type Area (cells) Time (s) Mix/Dlt 2 x 4 2.9 1 x 4 4.6 2 x 3 6.1 2 x 2 9.9 Input - 2 Detect 1 x 1 30 p90 = 0.1 % p180 = - 0.5 % p0 = 0.29 % p0 = 0.58 % 1 2 Electrode pitch size = 1.5 mm, gap spacing = 0.3 mm, average velocity rate = 20 cm/s.

Example Application graph Biochip S2 R2 B R1 S1 W S3 1 2 7 10 4 3 8 9 In S1 In R1 Mix In R2 3 In S2 8 Dilute 9 5 6 In S3 In B 11 13 Waste 12 Application graph Biochip

Example t = 2.04 s Application graph S2 R2 B R1 S1 W S3 M1(O8) M2(O7) 5 6 7 8 9 1 x 4 1 x 4 2 x 4 11 R1 10 12 13 1 x 4 2 x 4 W t = 2.04 s Application graph

Example t = 6.67 s Application graph S2 R2 B R1 S1 W S3 M3(O10) D1(O9) 4 5 6 7 8 9 1 x 4 1 x 4 2 x 4 11 R1 10 12 13 1 x 4 2 x 4 W t = 6.67 s Application graph

Example t = 9.5 s Application graph S2 R2 B R1 S1 W S3 M4(O12) M3(O10) 6 7 8 9 1 x 4 1 x 4 2 x 4 11 R1 10 12 13 1 x 4 2 x 4 W t = 9.5 s Application graph

Example Application graph Schedule 1 2 3 4 5 6 7 8 9 11 10 12 13 B Mixer1 Mixer3 Mixer2 O8 O9 2.04 12.50 6.67 O12 O10 Diluter1 Mixer4 O7 1 2 3 4 5 6 7 8 9 1 x 4 1 x 4 2 x 4 11 R1 10 12 13 1 x 4 2 x 4 W Application graph Schedule

Example t = 2.03 s Application graph S2 R2 R1 S1 B W 1 2 3 4 5 6 7 8 9 11 R1 10 12 13 1 x 4 2 x 4 W t = 2.03 s Application graph

Example t = 4.20 s Application graph S2 R2 S1 W S3 R1 B 1 2 3 4 5 6 7 13.58 times 7 8 9 S1 R1 S2 R2 S3 B 1 2 3 4 5 6 7 8 9 1 x 4 1 x 4 2 x 4 11 R1 10 12 13 1 x 4 2 x 4 W t = 4.20 s Application graph

Example t = 4.28 s Application graph R2 W S1 R1 S3 B S2 1 2 3 4 5 6 7 10 e 9 13 12 11 S1 R1 S2 R2 S3 B 1 2 3 4 5 6 7 8 9 1 x 4 1 x 4 2 x 4 11 R1 10 12 13 1 x 4 2 x 4 W t = 4.28 s Application graph

Example t = 6.34 s Application graph R2 W S1 R1 S3 B S2 1 2 3 4 5 6 7 10.33 times 10 12 S1 R1 S2 R2 S3 B 1 2 3 4 5 6 7 8 9 1 x 4 1 x 4 2 x 4 11 R1 10 12 13 1 x 4 2 x 4 W t = 6.34 s Application graph

Example Schedule – module-based operation execution Mixer1 Mixer3 Mixer2 O8 O9 2.04 12.50 6.67 O12 O10 Diluter1 Mixer4 O7 2.03 6.35 4.20 O10 O7 O8 O9 O12 Schedule – module-based operation execution Schedule – routing-based operation execution

Solution Merge Mix 1 2 7 10 4 3 8 9 5 6 11 13 12 In S1 In R1 Mix In R2 Source 3 In S2 8 Dilute Sink 9 5 6 In S3 In B 11 13 Waste 12 Merge Mix

Solution Merge Mix Minimize the time until the droplets meet 1 2 7 10 4 In S1 In R1 Mix In R2 Source 3 In S2 8 Dilute Sink 9 5 6 In S3 In B 11 13 Waste 12 Merge Minimize the time until the droplets meet Mix Minimize the completion time for the operation

Solution Greedy Randomized Adaptive Search Procedure (GRASP) R2 B S2 W 3 2 1

Solution Greedy Randomized Adaptive Search Procedure (GRASP) B W 3 2 1 For each droplet: Determine possible moves Evaluate each move Merge: minimize Manhattan distance Mix: maximize operation execution Make a list of the best N moves Perform a random move from N

Solution Greedy Randomized Adaptive Search Procedure (GRASP) B W 3 2 1 For each droplet: Determine possible moves Evaluate each move Merge: minimize Manhattan distance Mix: maximize operation execution Make a list of the best N moves Perform a random move from N

Solution Greedy Randomized Adaptive Search Procedure (GRASP) B W 3 2 1 For each droplet: Determine possible moves Evaluate each move Merge: minimize Manhattan distance Mix: maximize operation execution Make a list of the best N moves Perform a random move from N

Solution Greedy Randomized Adaptive Search Procedure (GRASP) B W 3 2 1 For each droplet: Determine possible moves Evaluate each move Merge: minimize Manhattan distance Mix: maximize operation execution Make a list of the best N moves Perform a random move from N

Experimental Evaluation GRASP-based algorithm implemented in Java Benchmarks Real-life applications Colorimetric protein assay Synthetic benchmarks 10 TGFF-generated benchmarks with 10 to 100 operations Comparison between: Routing-based synthesis (RBS) Module-based synthesis with fixed modules (MBS)

Experimental Evaluation Average schedule length out of 50 runs for RBS vs. MBS Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay 44.95 % improvement for 10 x 10 44.95% improvement for 10 x 10

Routing-Based Operation Execution - Conclusions Improved completion time compared to module-based synthesis Challenge: contamination

Routing-Based Operation Execution - Conclusions Improved completion time compared to module-based synthesis Challenge: contamination S1 R1 W S3 B1 B2 S2 R3 R2 1 residues

Routing-Based Operation Execution - Conclusions Improved completion time compared to module-based synthesis Challenge: contamination S1 R1 S3 B1 B2 S2 R2 W R3 1 w1

Routing-Based Operation Execution - Conclusions Improved completion time compared to module-based synthesis Challenge: contamination S1 R1 S3 B1 B2 S2 R2 W R3 1 w1

Routing-Based Operation Execution - Conclusions Improved completion time compared to module-based synthesis Challenge: contamination S1 R1 S3 B1 B2 S2 R2 W R3 1 w1

Routing-Based Operation Execution - Conclusions Improved completion time compared to module-based synthesis Challenge: contamination S1 R1 S3 B1 B2 S2 R2 W R3 1 Partition2 w2 w1 Partition1

Routing-Based Operation Execution - Conclusions Improved completion time compared to module-based synthesis Challenge: contamination S1 R1 S3 B1 B2 S2 R2 W R3 S1 R1 S3 B1 B2 S2 R2 1 1 Partition2 w2 w1 Partition1 W R3

Routing-Based Operation Execution - Conclusions Improved completion time compared to module-based synthesis Challenge: contamination S1 R1 S3 B1 B2 S2 R2 W R3 S1 R1 S3 B1 B2 S2 R2 1 1 w2 Partition2 w2 w1 w1 Partition1 W R3

Droplet-Aware Operation Execution without Contamination

Example Application graph Biochip 1 2 9 12 8 3 5 6 7 11 13 10 S1 R2 W In S1 In B 8 In S3 3 4 In R1 5 6 7 11 13 10 In R2 Dilute Mix In S2 Application graph Biochip

Example Application graph Biochip 1 2 3 5 6 7 8 9 10 11 12 13 S1 R2 W In S1 S2 3 4 R1 In S2 In R1 B1 5 6 Dilute Mix 2 x 4 2 x 4 7 Mix 8 9 1 x 4 10 11 In S3 S3 B1 R2 B2 12 13 Dilute 2 x 3 Dilute 2 x 3 Application graph Biochip

Example D1 (O5) M1 (O6) Application graph t = 2 s 1 2 3 5 6 7 8 9 10 W S3 B1 S2 R1 B2 1 2 S1 In S1 S2 3 4 R1 In S2 In R1 B1 5 6 D1 (O5) M1 (O6) Dilute Mix 2 x 4 2 x 4 7 Mix 8 9 1 x 4 10 11 In S3 S3 B1 R2 B2 12 13 Dilute 2 x 3 Dilute 2 x 3 Application graph t = 2 s

Example D3(O13) D2(O12) Application graph t = 4.9 s M2 (O7) 1 2 3 5 6 W S3 B1 S2 R1 B2 1 2 3 4 S1 In S1 S2 R1 In S2 In R1 D3(O13) B1 5 6 Dilute Mix 2 x 4 2 x 4 7 D2(O12) Mix 8 9 1 x 4 10 11 In S3 S3 B1 R2 B2 12 13 Dilute 2 x 3 Dilute 2 x 3 M2 (O7) Application graph t = 4.9 s

Example Application graph Schedule 1 2 3 5 6 7 8 9 10 11 12 13 4 In S1 R1 In S2 In R1 B1 Diluter1 O5 O12 2 11 4.9 O7 O6 O13 Diluter2 Diluter3 Mixer1 Mixer2 5 6 Dilute Mix 2 x 4 2 x 4 7 Mix 8 9 1 x 4 10 11 In S3 S3 B1 R2 B2 12 13 Dilute 2 x 3 Dilute 2 x 3 Application graph Schedule

Example D1 (O5) M1 (O6) Application graph t = 2 s 1 2 3 5 6 7 8 9 10 W S3 B1 S2 R1 B2 1 2 S1 In S1 S2 3 4 R1 In S2 In R1 B1 5 6 D1 (O5) M1 (O6) Dilute Mix 2 x 4 2 x 4 7 Mix 8 9 1 x 4 10 11 In S3 S3 B1 R2 B2 12 13 Dilute 2 x 3 Dilute 2 x 3 Application graph t = 2 s

Example D1(O5) M1(O6) Application graph t = 2 s 1 2 3 5 6 7 8 9 10 11 W S3 B1 S2 R1 B2 1 2 S2 3 4 S1 In S1 R1 In S2 In R1 B1 5 6 D1(O5) M1(O6) Dilute Mix 2 x 4 2 x 4 7 Mix 8 9 1 x 4 10 11 In S3 S3 B1 R2 B2 12 13 Dilute 2 x 3 Dilute 2 x 3 5 6 Application graph t = 2 s

Example D3(O13) M2(O7) D2(O12) Application graph t = 4.17 s 1 2 3 5 6 W S3 B1 S2 R1 B2 1 2 3 4 S1 In S1 S2 R1 In S2 In R1 D3(O13) B1 5 6 M2(O7) Dilute Mix 2 x 4 2 x 4 13 7 D2(O12) Mix 8 9 1 x 4 10 11 In S3 S3 B1 R2 B2 12 13 Dilute 2 x 3 Dilute 2 x 3 7 12 Application graph t = 4.17 s

Example Application graph Schedule 1 2 3 5 6 7 8 9 10 11 12 13 4 2 In S1 S2 3 4 R1 In S2 In R1 B1 5 6 2 4.17 6.67 Dilute Mix 2 x 4 2 x 4 Diluter1 O5 7 Mixer1 O6 Mix 8 9 1 x 4 10 11 In S3 Mixer2 S3 B1 O7 R2 B2 Diluter2 O12 12 13 Diluter3 Dilute 2 x 3 Dilute 2 x 3 O13 Application graph Schedule

Example Schedule – module-based operation execution Diluter1 O5 O12 2 11 4.9 O7 O6 O13 Diluter2 Diluter3 Mixer1 Mixer2 2 4.17 6.67 Diluter1 O5 Mixer1 O6 Mixer2 O7 Diluter2 O12 Diluter3 O13 Schedule – module-based operation execution Schedule – droplet-aware operation execution

Solution Location of modules determined using Tabu Search Greedy movement of droplets inside modules Routing of droplets between modules and between modules and I/O ports determined using GRASP Ok

Droplet-Aware Operation Execution S1 R2 W S3 B1 S2 B2 R1 D3(O13) M2(O7) D2(O12)

Droplet-Aware Operation Execution S1 R2 W S3 B1 S2 B2 R1 13 7 12

Droplet-Aware Operation Execution S1 R2 W S3 B1 S2 B2 R1 13 7 12

Droplet-Aware Operation Execution S1 R2 W S3 B1 S2 B2 R1 13 7 12

Experimental Evaluation Algorithm implemented in Java Benchmarks Real-life applications In-vitro diagnosis Colorimetric protein assay Synthetic benchmarks 3 TGFF-generated benchmarks with 20, 40, 60 operations Comparison between: Droplet-aware module-based synthesis (DAS) Module-based synthesis (MBS)

Experimental Evaluation Average schedule length out of 50 runs for DAS vs. MBS Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay 21.55 % improvement for 13 x 13 21.55% improvement for 13 x 13

Experimental Evaluation Algorithm implemented in Java Benchmarks Real-life applications Colorimetric protein assay Synthetic benchmarks 3 TGFF-generated benchmarks with 20, 40, 60 operations Comparison between: Droplet-aware module-based synthesis (DASC) Routing-based synthesis (RBSC) with contamination avoidance

Experimental Evaluation Average schedule length out of 50 runs for DASC vs. RBSC Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay 11.19 % improvement for 14 x 14 11.19% improvement for 14 x 14

Contributions Tabu Search-based algorithm for the module-based synthesis with fixed devices [CASES09] Module-based synthesis with virtual devices [CASES09] Module-based synthesis with non-rectangular virtual devices [DAEM10] Analytical method for operation execution characterization [CASES10] ‏Routing-based synthesis [CASES10] + contamination [DAEM, submitted] Droplet-aware module based synthesis [JETC, submitted] ILP formulation for the synthesis of digital biochips [VLSI- SoC08]

Conclusions Proposed several synthesis techniques for DMBs Considered the reconfigurability characteristic of DMBs Shown that by considering reconfigurability during operation execution improvements in the completion time of applications can be obtained

Future Directions S1 R2 W S3 B1 S2 R1 B2 M1 M2

Future Directions Module-Based Synthesis with Overlapping Devices M2

Future Directions Fault-Tolerant Module-Based Synthesis S1 R2 W S3 B1 Faulty cell M1 (O1) M1 (O1) M3(O3)

Future Directions Fault-Tolerant Module-Based Synthesis S1 R2 W S3 B1 Faulty cell M1 (O1) M1 (O1) M3(O3) M3(O3)

Back-up slides

Electrowetting

Surface Tension Imbalance of forces between molecules at an interface (gas/liquid, liquid/liquid, gas/solid, liquid/solid)

Dispensing

Dispensing

Dispensing

Splitting

Mixing

Capacitive sensor

Design Tasks Operation Area(cells) Time(s) Mix 2 x 2 10 1 x 3 5 Dilute 8 2 x 5 3 Make only one slide out of this | make a proper table | animation with all coming one by one...

Design Tasks Operation Area(cells) Time(s) Mix 2 x 2 10 1 x 3 5 Dilute 8 2 x 5 3 S3 B Make only one slide out of this | make a proper table | animation with all coming one by one... S1 R1 S2 R2

Experimental Evaluation Quality of the solution compared to classical operation execution Best out of 50 Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay 9.73% improvement for 11 x 12

Experimental Evaluation Quality of the solution compared to classical operation execution Best out of 50 Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay 44.63% improvement for 10 x 10

Experimental Evaluation Quality of the solution compared to classical operation execution Best out of 50 Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay Colorimetric protein assay 15.76% improvement for 13 x 13

Future Directions Pin-Constrained Routing-Based Synthesis S1 R2 W S3

Future Directions Pin-Constrained Routing-Based Synthesis S1 R2 W S3

Future Directions Pin-Constrained Routing-Based Synthesis S1 R2 W S3

Microfluidic Operations Dispensing S2 R2 B S3 S1 W R1 Dispensing

Microfluidic Operations B S3 S1 W R1 Dispensing Detection

Microfluidic Operations B S3 S1 W R1 Dispensing Detection Splitting/Merging

Microfluidic Operations B S3 S1 W R1 Dispensing Detection Splitting/Merging

Microfluidic Operations B S3 S1 W R1 Dispensing Detection Splitting/Merging Storage

Motivational Example (for the first contrib) 1 2 3 4 In S1 In B In S2 In R1 Operation Area(cells) Time(s) Mix 2 x 4 3 2 x 2 4 Dilution 5 Dispense - 2 5 6 Dilute Mix 7 Mix 8 9 10 11 In S3 In B In R2 In B 12 13 Dilute Dilute Application graph Module library

Motivational Example(for the 2nd contrib) 1 2 7 10 4 In S1 In R1 Mix In R2 Source 3 In S2 8 Dilute Sink 9 5 6 In S3 In B 11 13 Waste 12 Type Area (cells) Time (s) Mix/Dlt 2 x 4 2.9 1 x 4 4.6 2 x 3 6.1 2 x 2 9.9 Input - 2 Detect 1 x 1 30 Application graph Module library

Example(for the 3rd contrib) Type Area (cells) Time (s) Mix/Dlt 2 x 4 2.9 1 x 4 4.6 2 x 3 6.1 2 x 2 9.9 Input - 2 Detect 1 x 1 30 1 2 9 12 In S1 In B 8 In S3 3 4 In R1 5 6 7 11 13 10 In R2 Dilute Mix In S2 Application graph Module library