240 likes | 583 Views
FlockLab : A Testbed for Distributed, Synchronized Tracing and Profiling of Wireless Embedded Systems. IPSN 2013 NSLab study group 2013/04/08 Presented by: Yu-Ting. Outline. Introduction Architecture Benchmark Application. Introduction.
E N D
FlockLab: A Testbed for Distributed, SynchronizedTracing and Profiling of Wireless Embedded Systems IPSN 2013 NSLab study group 2013/04/08 Presented by: Yu-Ting
Outline • Introduction • Architecture • Benchmark • Application
Introduction • A testbed with 30 observers (4 at outdoors) and a set of servers • Support 4 different targets (nodes) • Other than serial port service,these nodes can synchronously: • Trace GPIO • Actuate GPIO • Power profiling • Adjust supply voltage • Much better than multiple logic analyzers, mixed-signal oscilloscopes, and power analyzers
Outline • Introduction • Architecture • Benchmark • Application
9 LEDs By GPIO or UART Hardware 5V for embedded Com 3.3V for others 1000 USD Step: 0.1V Can also control USB fan foroutdoor nodes Shunt resistor Amplify the volt across shuntby a gain of 100 To profile power CPU: 624MHz RAM: 128MB Flash: 32MB 8GB This selection is doneby two 8-bitsignal translator Map slot withtarget boardsby serial ID chiip For outdoor nodes without Ethernet
More about measuring power • Resolution in power: 10nA • Limit: 160mA (enough) • ADC sample at 56kHz in high-speed mode and 28kHz in high-resolution (SNR = 109dB) mode with 14.3MHz clock source=> resolution in time: 35.7us or 17.85us
Software • OS: OpenEmbedded Linux • NTP client: Chrony, synchronize every 1-2min with NTP server of FlockLab Efficient data handling (caching)
Backend Infrastructure • Time Synchronization server (NTP server)=> sync by another server on campus and PPS by GPS receiver • Web server • Test management server (also stores data) • Database server • Monitoring server
Deployment • Indoor * 26 (in same LAN segment) • Outdoor * 4 • Yellow level: RSSI value when idle
Outline • Introduction • Architecture • Benchmark • Application
Time Accuracy - GPIO • Use GPIO to trace PPS of same GPS clock • Use mixed-signal oscilloscope to actuate GPIO • Pairwise timing error • GPIO tracing VS PPS: normal distribution
Time Accuracy – Power Profiling • SFD rise -> toggle GPIO & turn on LEDSFD fall ->turn off LED • SFD events happen at the same time (< 1us) • Most error of same observer comes from random delay of GPIO event and the following power sample • Error of different observer is comparable topairwise timing error of GPIO events
Power Accuracy • Test by high-precision power analyzer • Target resistance: 259mΩAA batteries: 947mΩ • Calibration: Use linear regression to estimate more accurate constant of offset and gain of current-sense amplifier, and shunt resistor Relative error: observer VS power analyzer
Limits in Capturing GPIO Events • No new events can be captured until the respective flag is cleared • Minimum required interval between consecutive GPIO events to be captured=> depends on the interrupt delay and ISR execution time • SFD events may still loss for small packet(<9bytes)
Outline • Introduction • Architecture • Benchmark • Application
Analysis of Tasks Without FlockLab • Generally speaking, they are: • More intrusive and less accurate • Need to recompile due to code changes • Need to change existing codes for different platform • Power profiling • Energest in Contiki, but also intrusive • Customize yourselves in TinyOS… • End-to-end delay • Timestamps in serial logging, but it’s inaccurate • Run time synchronization protocol=> Multiple protocols may cause performance losses or even failures • Actuate events (controlling) for multiple nodes • Also need time synchronization • Using network simulators like Cooja
Comparative Multi-Platform Analysis • Run CTP on top of LPL: how each platform affects the trade-offs between metrics • Observation • 200ms is best for such topology & traffic load • Tmote Sky is most sensitive, while IRIS is best • The trades are the same
Finding and Fixing Bugs • Bug: the initial results with LPL wake-up intervals of 500 ms and 1s from Tinynodeand Opal nodes were significantly worse • Reason: children were transmitting at most one packet during an LPL wake-up interval, although they had multiple packets ready to be sent
Controlling and Profiling Applications • Purpose • One node to generate a packet every 2s for 260s, from t = 30s to t = 290s • In the mean time, measure the energy consumption • Task 1 is easily done by GPIO actuation • Comparison of task 2 between different methods • FlockLab is non-intrusive and highly accurate
Measuring Clock Drift • Enable FTSP every 3s and get the clock drifts of each node compared with the root • Toggle a GPIO pin every 0.5s • Compare the difference between GPIO timestamp interval and 0.5s with clock drifts • Average over 5min to limit GPIO timing errors