FlockLab: A Testbed for Distributed, Synchronized Tracing and Profiling of Wireless Embedded...

Preview:

Citation preview

1

FlockLab: A Testbed for Distributed, SynchronizedTracing and Profiling of Wireless Embedded Systems

IPSN 2013

NSLab study group 2013/04/08Presented by: Yu-Ting

2

Outline

• Introduction• Architecture• Benchmark• Application

3

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

4

Outline

• Introduction• Architecture• Benchmark• Application

5

Hardware

CPU: 624MHzRAM: 128MBFlash: 32MB

8GB

For outdoor nodes without Ethernet

To profile power

Can also controlUSB fan foroutdoor nodes

5V for embedded Com3.3V for others

Step: 0.1V

9 LEDsBy GPIO or UART

This selection is doneby two 8-bitsignal translator

1000 USD

Shunt resistor Amplify the volt across shuntby a gain of 100

Map slot withtarget boardsby serial ID chiip

6

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

7

Software

• OS: OpenEmbedded Linux• NTP client: Chrony, synchronize every 1-2min

with NTP server of FlockLab

Efficient data handling(caching)

8

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

9

Deployment

• Indoor * 26 (in same LAN segment)• Outdoor * 4• Yellow level: RSSI value when idle

10

Outline

• Introduction• Architecture• Benchmark• Application

11

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

12

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 to

pairwise timing error of GPIO events

13

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

14

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)

15

Outline

• Introduction• Architecture• Benchmark• Application

16

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

17

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

18

Finding and Fixing Bugs

• Bug: the initial results with LPL wake-up intervals of 500 ms and 1s from Tinynode and 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

19

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

20

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

21

Multi-Modal Monitoringat Network Scale

22

Q&A

Recommended