Mementos System Support for Long-Running Computations on RFID-Scale Devices pmn R Benjamin Ransford*, UMass Amherst ä~Äo ê~ío êó Jacob Sorber, Dartmouth College Kevin Fu, UMass Amherst http://spqr.cs.umass.edu/mementos ASPLOS XVI — March 8, 2011 Any opinions, findings, and conclusions expressed in this material are those CNS-0627529, CNS-0845874, CNS-0923313, Grad Res. Fel. of the authors and do not necessarily reflect the views of the NSF.
Ubiquitous Computing “... the most powerful things are those that are effectively invisible in use.” PARC — Mark Weiser (PARC, 1988) Problem: Batteryless invisible computer ⇒ constant reboots 2 Mementos — Ransford — ASPLOS XVI
Baby Steps Toward Ubicomp 1. Take Emerging Platform 3 Mementos — Ransford — ASPLOS XVI
Baby Steps Toward Ubicomp 1. Take Emerging Platform 2. Add Robustness Mechanism 3 Mementos — Ransford — ASPLOS XVI
Baby Steps Toward Ubicomp 1. Take Emerging Platform 2. Add Robustness Mechanism 3. Provide Simulation Tools 3 Mementos — Ransford — ASPLOS XVI
1 . E m e RFID-Scale Devices r g i n g P l a t f o r m Radio (RF) harvester x 0 1 d e i f i n g a m Energy buffer Reprogrammable (capacitor) microcontroller (~1 MHz) w/ on-chip flash Moo WISP: Hong Zhang 4 Mementos — Ransford — ASPLOS XVI
1 . E m e RFID-Scale Devices r g i n g P l a t f o r m Radio (RF) harvester x 0 1 d e i f i n g a m Energy buffer Reprogrammable (capacitor) microcontroller (~1 MHz) w/ on-chip flash Moo WISP: Hong Zhang 4 Mementos — Ransford — ASPLOS XVI
1 . E m e RFID-Scale Devices r g i n g P l a t f o r m Radio (RF) harvester x 0 1 d e i f i n g a m Energy buffer Reprogrammable (capacitor) microcontroller (~1 MHz) w/ on-chip flash Fills quickly, low capacity Moo WISP: Hong Zhang 4 Mementos — Ransford — ASPLOS XVI
1 . E m e RFID-Scale Devices r g i n g P l a t f o r m Radio (RF) harvester x 0 1 d e i f i n g a m Energy buffer Reprogrammable (capacitor) microcontroller (~1 MHz) w/ on-chip flash Fills quickly, Frequent reboots low capacity Moo WISP: Hong Zhang 4 Mementos — Ransford — ASPLOS XVI
ball: clipart.pierceinternet.com 5 Mementos — Ransford — ASPLOS XVI
REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOTREBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT ball: clipart.pierceinternet.com 5 Mementos — Ransford — ASPLOS XVI
REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOTREBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT ball: clipart.pierceinternet.com 5 Mementos — Ransford — ASPLOS XVI
REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOTREBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT ball: clipart.pierceinternet.com 5 Mementos — Ransford — ASPLOS XVI
REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOTREBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT REBOOT ball: clipart.pierceinternet.com 5 Mementos — Ransford — ASPLOS XVI
Robustness Under RF Harvesting • Typical approach: constrain the problem • Mementos: relax constraints to make general-purpose computation feasible 300 ms 6 Mementos — Ransford — ASPLOS XVI
Unpredictable Energy Morass Voltage Infinite energy; constant voltage Time 7 Mementos — Ransford — ASPLOS XVI
Unpredictable Energy Morass Voltage Infinite energy; constant voltage Time vs. Voltage (40 seconds) Time 7 Mementos — Ransford — ASPLOS XVI
2 . R o b u s t n Mementos Approach e s s M e c h a n i s m 3.6 3 2.5 Voltage (V) 2 1.5 1 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) • Checkpoint when failure appears imminent • Spread computation across reboots Movie poster: publispain.com 8 Mementos — Ransford — ASPLOS XVI
2 . R o b u s t n Mementos Approach e s s M e c h a n i s m 3.6 3 2.5 Voltage (V) 2 1.5 1 Checkpoint region 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) • Checkpoint when failure appears imminent • Spread computation across reboots Movie poster: publispain.com 8 Mementos — Ransford — ASPLOS XVI
2 . R o b u s t n Mementos Approach e s s M e c h a n i s m 3.6 3 2.5 Voltage (V) Checkpoint C 2 1.5 1 Checkpoint region 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) • Checkpoint when failure appears imminent • Spread computation across reboots Movie poster: publispain.com 8 Mementos — Ransford — ASPLOS XVI
2 . R o b u s t n Mementos Approach e s s M e c h a n i s m 3.6 ... 3 2.5 Voltage (V) Checkpoint C 2 1.5 1 Checkpoint region 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) • Checkpoint when failure appears imminent • Spread computation across reboots Movie poster: publispain.com 8 Mementos — Ransford — ASPLOS XVI
2 . R o b u s t n Mementos Approach e s s M e c h a n i s m Restore 3.6 ... 3 2.5 Voltage (V) Checkpoint C 2 1.5 1 Checkpoint region 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) • Checkpoint when failure appears imminent • Spread computation across reboots Movie poster: publispain.com 8 Mementos — Ransford — ASPLOS XVI
Running Example: CRC • Compute CRC16-CCITT checksum over 2 KB data • Tight nested loops • 575,000 CPU cycles ~ 575 ms 9 Mementos — Ransford — ASPLOS XVI
Running Example: CRC • Compute CRC16-CCITT checksum over 2 KB data • Tight nested loops Reboots every O(100) ms! • 575,000 CPU cycles ~ 575 ms 9 Mementos — Ransford — ASPLOS XVI
How to Use Mementos Programmer Mementos (our contributions) Write C code Choose params 10 Mementos — Ransford — ASPLOS XVI
How to Use Mementos Programmer Mementos (our contributions) Write Instrument w/ energy checks C code (via LLVM passes) Choose Simulate program params 10 Mementos — Ransford — ASPLOS XVI
How to Use Mementos Programmer Mementos (our contributions) Write Instrument w/ energy checks C code (via LLVM passes) Choose Simulate program params Suggest params 10 Mementos — Ransford — ASPLOS XVI
How to Use Mementos Programmer Mementos (our contributions) Write Instrument w/ energy checks C code (via LLVM passes) Choose Simulate program params Suggest params 10 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (1/2) Programmer 1) Instrumentation strategy Write C code Choose params 11 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (1/2) Programmer 1) Instrumentation strategy Write C code Choose params 11 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (1/2) Programmer 1) Instrumentation strategy Write C code Choose params Checkpoint? 11 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (1/2) Programmer 1) Instrumentation strategy Write C code Choose params Checkpoint? Checkpoint? 11 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (2/2) Programmer 2) Checkpoint threshold V thresh Write C code Choose params 12 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (2/2) Programmer 2) Checkpoint threshold V thresh Write C code 3.6 3 2.5 Voltage (V) Choose 2 DEATH 1.5 params 1 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) 12 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (2/2) Programmer 2) Checkpoint threshold V thresh Write CKPT C code 3.6 3 2.5 Voltage (V) Choose 2 DEATH 1.5 params 1 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) 12 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (2/2) Programmer 2) Checkpoint threshold V thresh Write C code Wasted! 3.6 { 3 CKPT 2.5 Voltage (V) Choose 2 DEATH 1.5 params 1 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) 12 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (2/2) Programmer 2) Checkpoint threshold V thresh Write C code 3.6 3 CKPT 2.5 Voltage (V) Choose 2 DEATH 1.5 params 1 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) 12 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (2/2) Programmer 2) Checkpoint threshold V thresh Write C code 3.6 3 2.5 Voltage (V) Choose 2 CKPT DEATH 1.5 params 1 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) 12 Mementos — Ransford — ASPLOS XVI
Choosing Parameters (2/2) Programmer 2) Checkpoint threshold V thresh Write C code 3.6 3 2.5 Voltage (V) CKPT Choose 2 DEATH 1.5 params 1 0.5 0 3155 3170 3180 3190 3200 3210 3220 Time (ms) 12 Mementos — Ransford — ASPLOS XVI
More recommend