Approximate Semantics for Wirelessly Networked Applications ☞ Benjamin Ransford ☜ Adrian Sampson Luis Ceze
WACAS ’14 // March 2, 2014
1
Algorithms ✅ Programming Languages ✅ Compilers ✅ Storage ✅ Arithmetic Units ✅
WACAS ’14 // March 2, 2014
2
Algorithms ✅ Programming Languages ✅ Compilers ✅ Storage ✅
Communication ❌
Arithmetic Units ✅
WACAS ’14 // March 2, 2014
2
WACAS ’14 // March 2, 2014
3
foo.bmp
WACAS ’14 // March 2, 2014
4
foo.bmp
✅ ✅ ✅ ✅
WACAS ’14 // March 2, 2014
4
foo.bmp
✅ ✅ ✅ ✅
WACAS ’14 // March 2, 2014
4
foo.bmp
✅ ✅ ✅ ✅
WACAS ’14 // March 2, 2014
4
foo.bmp
✅ ✅ ❌ ✅ ❌ ✅ ✅ ✅ WACAS ’14 // March 2, 2014
4
foo.bmp
✅ ✅ ❌ ✅ ❌ ✅ ✅ ✅ WACAS ’14 // March 2, 2014
4
●
40
●
30
20 ● ●
10 ● ●
54
36
● ●
42
●
30
● ● ●
24
● ● ●● ●
18
● ● ●
12
●
6
0
● ● ●● ●
48
Frames Retransmitted (%)
●
WiFi Bitrate (Mbps)
12m apart @ UW CSE WACAS ’14 // March 2, 2014
5
802.11 frame header 802.11 frame payload IP header
IP header checksum
IP payload
802.11 frame checksum
TCP header Application data
WACAS ’14 // March 2, 2014
TCP checksum
6
●
40
●
30
20 ● ●
10 ● ●
54
36
● ●
42
●
30
● ● ●
24
● ● ●● ●
18
● ● ●
12
●
6
0
● ● ●● ●
48
Frames Retransmitted (%)
●
WiFi Bitrate (Mbps)
12m apart @ UW CSE WACAS ’14 // March 2, 2014
7
●
40
●
30
< 3% of bits are bad!
20 ● ●
10 ● ●
54
36
● ●
42
●
30
● ● ●
24
● ● ●● ●
18
● ● ●
12
●
6
0
● ● ●● ●
48
Frames Retransmitted (%)
●
WiFi Bitrate (Mbps)
12m apart @ UW CSE WACAS ’14 // March 2, 2014
7
Selective Approximate Protocol • • • •
Optional, partial integrity checks Suitably generic (can work with “your” apps) Backward compatible with existing networks Simple API
“SAP”
WACAS ’14 // March 2, 2014
8
Selective Approximate Protocol Move error checking to the application layer! 802.11 frame header 802.11 frame payload IP header
IP header checksum
IP payload
802.11 frame checksum
TCP header Application data
WACAS ’14 // March 2, 2014
TCP checksum
9
Selective Approximate Protocol Move error checking to the application layer! 802.11 frame header 802.11 frame payload IP header
IP header checksum
IP payload
802.11 frame checksum
TCP header Application data
WACAS ’14 // March 2, 2014
TCP checksum
9
Selective Approximate Protocol Move error checking to the application layer! 802.11 frame header 802.11 frame payload IP header
IP header checksum
IP payload
802.11 frame checksum
TCP header Application data
TCP checksum
Application TCP 802.11 WACAS ’14 // March 2, 2014
9
Selective Approximate Protocol Move error checking to the application layer! 802.11 frame header 802.11 frame payload IP header
IP header checksum
IP payload
802.11 frame checksum
TCP header Application data
TCP checksum
Application
Application
TCP
UDP-Lite
802.11
802.11
WACAS ’14 // March 2, 2014
9
Applications
WACAS ’14 // March 2, 2014
10
Open Questions • Encryption, compression, encoding challenges !
• How best to integrate quality metrics? !
• How to expose quality controls to apps?
WACAS ’14 // March 2, 2014
11
Summary • Mismatch between approximate computing and precise communication !
• Relax lower-layer integrity checks !
• Improve throughput & range
[email protected] WACAS ’14 // March 2, 2014
12