Findings in Reliable Bulk Data Transfer Experiments GGB project Sukun Kim, David Culler, James Demmel, Gregory Fenves, Steve Glaser, Shamim Pakzad NEST Meeting Mar 9, 2005
Table of Content 1.Reliable Bulk Transfer 2.Where Packet Time Goes? 3.Increasing Bandwidth 1.Larger Packet Size 2.Compression 4.Conclusion
State Diagram of Sender More Start Request / Set Timer Yes / Read Timer Fired / Send No / Stop Timer Simple (intelligence in receiver) Interface is simple –read(start, size, *buffer) Send everything once, and fill holes Read depth in routing tree, and adjust shooting speed, RTT estimate, etc
State Diagram of Receiver Start More Send Network-Info Request Receive / Send Transfer Request, Set Timer Receive & Last || Timeout / count = 0 Timeout / FAIL Receive & not Last / Set Timer Yes / Send Read Request, Set Timer Receive / count = 0 More in Round count < threshold Yes No Yes / ++count No / FAIL No / SUCCESS Timeout
Test Result 95.6% 560B/s 96.6% 576B/s 91.4% 296B/s 91.8% 304B/s 93.2% 299B/s * End-to-end Raw Reliability Effective Bandwidth (Byte/s) 10KB of data –500 packets Mica2dot, 36 bytes/pkt Max in theory –630B/s for 1 hop Up to 91.4% efficiency –352B/s for 2 hops Up to 86.4% efficiency
Table of Content 1.Reliable Bulk Transfer 2.Where Packet Time Goes? 3.Increasing Bandwidth 1.Larger Packet Size 2.Compression 4.Conclusion
Mica2, 36bytes/pkt
For Mica2, packet size = 36 bytes Channel capacity –UART: 57.6Kbps = 200pkts/s –Radio: 19.2Kbps = 66.7pkts/s –1 hop: 50pkts/s Usable capacity –UART: 120pkts/s –Radio: 42pkts/s –Routing: 31pkts/s (1 hop) –Reliable: 29.4pkts/s (1 hop)
Mica2, 36bytes/pkt
Effect of header is considered here
Mica2, 36bytes/pkt
Table of Content 1.Reliable Bulk Transfer 2.Where Packet Time Goes? 3.Increasing Bandwidth 1.Larger Packet Size 2.Compression 4.Conclusion
Options for Increasing Bandwidth Multiple Base Station radio Larger Packet Size Compression
Table of Content 1.Reliable Bulk Transfer 2.Where Packet Time Goes? 3.Increasing Bandwidth 1.Larger Packet Size 2.Compression 4.Conclusion
Effect on Bandwidth Doubled packet size: 36B 72B Payload: 20B 56B (2.8 times) Packets/sec: 29.4 20.9 (71%) Bandwidth doubled: 588B/s 1172B/s (1.99 times)
RAM space From 3437 to 4733 –36Bytes RAM increase per 1Byte increase in packet size Reason – Packet buffer space –4 below GenericComm –3 in TimeSync –16 in Routing –4 in Bcast –2 + 5 in Reliable –2 in application Basic services (Comm + TimeSync + Routing + Bcast + Reliable) can go beyond 4KB RAM with packet size = 72Bytes
Why so much RAM (packet buffer)? GenericComm Routing Forward QueuedSend Drip RBRComponent 2 Component 1 Forward *There is mismatch between incoming speed and outgoing speed of packets Not to drop packet, forward buffer is needed for each component Each end component using network has at least 1 buffer – 2 or more if we don’t want to wait Component 3 Queue of pointers Bcast Forward
Sharing packet buffer GenericComm Routing Forward QueuedSend Drip RBRComponent 2 Component 1 Forward Component 3 Actual packet buffer Bcast Forward
Table of Content 1.Reliable Bulk Transfer 2.Where Packet Time Goes? 3.Increasing Bandwidth 1.Larger Packet Size 2.Compression 4.Conclusion
Run Length Encoding (RLE) 94720, 94704, 94715, becomes , 04, 15, 08 Exception –94720, 94704, 92345, becomes – , 04, \92345, 08 Run simulation on footbridge vibration data Fragment Size: 4 Threshold: 2
High Resolution Footbridge data
Low Resolution Footbridge data
Analysis High ResolutionLow Resolution RLE66%45% gzip *68%49% Theory56.25% (9 random bits) 37.5% (6 random bits) Basic algorithm of gzip utilizes repetition of same pattern Algorithm of RLE fits better to sensor data * Windows zip showed 0.64% increase
Analysis (continued) There exists room for lossless or lossy compression Compression ratio is sensitive to parameters (even go above 100%) Selecting RLE parameter (either statically or dynamically) is critical Similar Compress Random garbage Drop
Table of Content 1.Reliable Bulk Transfer 2.Where Packet Time Goes? 3.Increasing Bandwidth 1.Larger Packet Size 2.Compression 4.Conclusion
Conclusion Reliable Bulk Transfer –5.2% decrease in packet throughput –13.8% decrease in bandwidth Packet is small compared to the size of header, so doubling packet size doubles bandwidth –RAM limit due to many packet buffers RLE decreases the size of vibration data by 45%, and will be applicable to other sensor data
Questions
For Mica2, packet size = 36 bytes Top, Left: Packet Size Bottom, Right: pkts/sec
Test Result 99.0% % % % % % 49.0 * End-to-end Connection Quality Effective Bandwidth (Byte/s) 2KB of data –143 packets Mica2dot