mementos
play

Mementos System Support for Long-Running Computations on RFID-Scale - PowerPoint PPT Presentation

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


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

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

  3. Baby Steps Toward Ubicomp 1. Take Emerging Platform 3 Mementos — Ransford — ASPLOS XVI

  4. Baby Steps Toward Ubicomp 1. Take Emerging Platform 2. Add Robustness Mechanism 3 Mementos — Ransford — ASPLOS XVI

  5. Baby Steps Toward Ubicomp 1. Take Emerging Platform 2. Add Robustness Mechanism 3. Provide Simulation Tools 3 Mementos — Ransford — ASPLOS XVI

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

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

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

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

  10. ball: clipart.pierceinternet.com 5 Mementos — Ransford — ASPLOS XVI

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

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

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

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

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

  16. Unpredictable Energy Morass Voltage Infinite energy; constant voltage Time 7 Mementos — Ransford — ASPLOS XVI

  17. Unpredictable Energy Morass Voltage Infinite energy; constant voltage Time vs. Voltage (40 seconds) Time 7 Mementos — Ransford — ASPLOS XVI

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

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

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

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

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

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

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

  25. How to Use Mementos Programmer Mementos (our contributions) Write C code Choose params 10 Mementos — Ransford — ASPLOS XVI

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

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

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

  29. Choosing Parameters (1/2) Programmer 1) Instrumentation strategy Write C code Choose params 11 Mementos — Ransford — ASPLOS XVI

  30. Choosing Parameters (1/2) Programmer 1) Instrumentation strategy Write C code Choose params 11 Mementos — Ransford — ASPLOS XVI

  31. Choosing Parameters (1/2) Programmer 1) Instrumentation strategy Write C code Choose params Checkpoint? 11 Mementos — Ransford — ASPLOS XVI

  32. Choosing Parameters (1/2) Programmer 1) Instrumentation strategy Write C code Choose params Checkpoint? Checkpoint? 11 Mementos — Ransford — ASPLOS XVI

  33. Choosing Parameters (2/2) Programmer 2) Checkpoint threshold V thresh Write C code Choose params 12 Mementos — Ransford — ASPLOS XVI

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

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

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

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

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

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