View
3
Download
0
Category
Preview:
Citation preview
Cooperative Smartphones with Network Coding:
From Theory to Practice
Anh Le †, Lorenzo Keller‡, Blerim Cici †, Hülya Seferoğlu† Athina Markopoulou †, Christina Fragouli‡
†University of California, Irvine
‡ École Polytechnique Fédérale de Lausanne
Supported by AFOSR MURI and ArmaSuisse W+T
Applications of Network Coding?
• Recurrent questions about network coding: – “Is it implemented in practice?” – “How much benefit does it bring?” – “How much is the overhead”? – “Show me an example application!”
• Last year, we developed a network coding scheme for a wireless multihop network, for unicast traffic.
– H.Seferoglu, A.Markopoulou, K.K. Ramakrishnan, “I2NC: Intra- and Inter-Session Network Coding for Unicast Flows in Wireless Networks”, in INFOCOM 2011.
• This year, we implemented network coding on smartphones
2
Why Smartphones?
• Ubiquitous
• Android in particular: fastest growing among smartphones, open source.
• Equipped with multiple network interfaces and
increasing computational/storage capabilities
• Still, limited resources (bandwidth, CPU, energy)
3
Cooperative Video Streaming on Smartphones Scenario
4
The Internet Video Source
Smartphones
Youtube, Netflix,
etc.
Video Proxies
Base Stations
о Several users, within proximity of each other
о Interested in viewing the same video at the same time (stored locally or remotely)
о Some or all of them have a cellular connection
о Mobile-to-mobile connections possible via bluetooth or wifi.
5
The Internet Video Source
Smartphones
Cooperative Video Streaming on Smartphones Examples
о Each individual user may not have high enough bandwidth to stream a high quality video (due to bad, time-varying, or no cellular connection)
о Special case: sharing a video stored on one of the phones Base
Stations
6
The Internet Video Source
Smartphones
Cooperative Video Streaming on Smartphones Question
о How to best utilize all resources to maximize the (common) video rate seen by users?
Base Stations
This scenario lends itself naturally to network coding. NC enables users to receive video rate = their mincut.
7
1. Cooperative use of cellular links Scheduling across 3G links 2. Cooperative use of local links Hybrid Push+Pull Network Coding+Broadcast 3. Implementation on Androids .
The Internet Video Source
Smartphones
Cooperative Video Streaming on Smartphones Key Ingredients
Base Stations
Related Work Network coding on mobile devices
8
о NC Implementation on laptops о COPE: Katti et al. “XORs in th air: practical wireless network coding”, SIGOCOMM 2006 о Y. Park, C. Jo, S. Yun, H. Kim, “Multi-room IPTV delivery through pseudo-broadcast over IEEE 802.11 links,” in
Proc. of VTC, Taipei, Taiwan, May 2010. о S. Sen, N. K. Madabhushi, S. Banerjee, “Scalable wifi media delivery through adaptive broadcasts,” in Proc. of
NSDI, San Jose, CA, April 2010.
о NC Implementation on phones and tablets о Baochun Li’s group @ Utoronto: Iphone, Ipad
о Computation/feasibility: Wang and Li: [IWQoS’ 2006, Infocom 2007] о ….. о Gesture Flow [Infocom 2011]: streaming gestures in interactive applications across ipads
о F. Fitzek’s group @ Aalborg University: Nokia phones о Computation/Feasibility: M.Pederse F. Fitzek, T.Larsen, “Implementation and peeformance evaluation of network
coding for cooperative mobile devices,” in IEE CCWN Workshop, May 2008 + JCN 2008 о ….. о “PictureViewer: a mobile application using network coding”,EW 2009 workshop at Aalborg о Error recovery in broadcast LTE links: P. Vingelmann, M. V. Pedersen, F. H. P. Fitzek, and J. Heide, “On-the-fly
packet error recovery in a cooperative cluster of mobile devices,” Globecom 2011.
Related Work Cooperation
9
о Cooperative Mobile Devices о DTNs о Mobile Social Networks о ….
о Network Coding-based P2P
о C. Gkantsidis, P. R. Rodriguez, “Network coding for large scale content distribution,” in Proc. of Infocom, Miami, FL, March 2005.
о M. Wang, B. Li, “R2: random push with random network coding in live peer-to-peer streaming,” in IEEE JSAC, vol. 25(9), pp. 1655–1666, Dec. 2007.
о Z. Liu, C. Wu, B. Li, S. Zhao, “UUSee: large-scale operational on demand streaming with random network coding,” in Proc. of Infocom, San Diego, CA, March 2010.
о B. Li, D. Niu, “Random network coding in peer-to-peer networks: from theory to practice,” in Proceedings of the IEEE, vol. 99(3), pp. 513-523, March 2011.
Related Work NUM Formulation
10
о Network Coding & NUM for wireless multihop networks о D. S. Lun, N. Ratnakar, M. Medard, R. Koetter, D. R. Karger, T. Ho, E. Ahmed, and F. Zhao, “Minimum-cost
multicast over coded packet networks,” in IEEE Trans. on Information Theory, vol. 52(6), June 2006. о L. Chen, T. Ho, S. Low, M. Chiang, and J. C. Doyle, “Optimization based rate control for multicast with
network coding,” in Proc. of Infocom, Anchorage, AK, May 2007. о J. Yuan, Z. Li, W. Yu, and B. Li, “A cross-layer optimization framework for multi-hop multicast in wireless
mesh networks,” in IEEE JSAC, vol. 24(11), Nov. 2006. о Z. Li, B. Li, and M. Wang, “Optimization models for streaming in multihop wireless networks,” in Proc. of
ICCCN, Honolulu, HI, Aug. 2007.
о Network Coding & NUM for P2P networks о M. Chen, M. Ponec, S. Sengupta, J. Li, P. A. Chou, “Utility maximization in peer-to-peer systems,” in Proc. of
ACM Sigmetrics, Annapolis, MD, June 2008. о S. Liu, R. Z.-Shen, W. Jiang, J. Rexford, M. Chiang, “Performance bounds for peer-assisted live streaming,”
in Proc. of ACM Sigmetrics, Annapolis, MD, June 2008. о Z. Shao and S.-Y. R. Li, “To code or not to code: rate optimality of network coding versus routing in peer-to-
peer networks,” in IEEE Trans. on Communications, vol. 59(4), pp. 948-954, April 2011. о C. Liang, M. Zhao, and Y. Liu, “Optimal bandwidth sharing in multiswarm multiparty p2p video-conferencing
systems,” in IEEE/ACM Trans. on Networking, March 2011. о S. Hua, Y. Guo, Y. Liu, H. Liu, and S. S. Panwar, “Scalable video multicast in hybrid 3g/ad-hoc networks,” in
IEEE Trans. on Multimedia, vol. 13(2), pp. 402-413, April 2011. о M. Ponec, S. Sengupta, M. Chen, J. Li, P. A. Chou, “Multi-rate peerto-peer video conferencing: a distributed
approach using scalable coding,” in Proc. of ICME, New York, NY, July 2009. о D.-C. Tomozei and L. Massoulie, “Flow Control for Cost-Efficient Peer-to-Peer Streaming,” in Proc. of
Infocom, San Diego, CA, March 2010.
11
1. Cooperation: use cellular links and local links 2. Network coding: intra-session, application-layer 3. Broadcast: use wireless+NC efficiently overhearing on androids 4. Implementation on Androids
The Internet Video Source
Smartphones
Key ingredients - revisited
Outline • NUM formulation and solution
– H.Seferoglu, L. Keller, B.Cici, A. Le, A. Markopoulou, “Cooperative Video Streaming on Smartphones”, in Allerton 2011
• Microcast: implementation+demo on androids
– L. Keller, A. Le, B.Cici, H.Seferoglu, A. Markopoulou, C. Fragouli “Microcast:”, under submission
• Ongoing Work
12
NUM Formulation Cooperation & Unicast
13
Smartphones
The Source
∑ ∑
∑
∈ −∈
∈
≤
−∈∈∀−≤
∈∈∀−≤
−∈∈∀≥−
∈∀≥−
Ni iNjji
jijijiji
iiji
jiji
Niji
x
iNjNipCgNjNipCxiNjNixg
Njxxts
xU
}{,
,,,,
,
,,
,
}{,,)1(
,),1(
}{,,0
,0..
)(max
γτ
τ
Optimize video rate: x
Flow conservation constraints
Capacity constraints
Interference
Downlink 3g/4g Ci
pi
x
Ci,j, pi,j
xi,j
i gi,j
NUM Formulation Cooperation & Broadcast
14
∑∑
∏
∑
∑
∈ ∈
∈∈
∈
∈
≤
∈∈∀−≤
−∈∈∀≤
∈∈∀−≤
−∈∈∀≥−
∈∀≥−
Ni HJJi
JiJj
jijiJjJi
JjJJiji
iiji
jiji
Niji
x
HJNipCf
iNjNifg
NjNipCxiNjNixg
Njxxts
xU
γτ
τ
,
,,,,
|,,
,
,,
,
,,)1(}{min
}{,,
,),1(
}{,,0
,0..
)(max Optimize video rate: x
Flow conservation constraints
Downlink and local area capacity
constraints
Interference
Smartphones
The Source
Downlink 3g/4g Ci
pi
x
Ci,j, pi,j
xi,j
i gi,j
NUM Formulation Cooperation & Broadcast & NC
15
Smartphones
The Source
∑∑
∑
∑
∈ ∈
∈
∈
∈
≤
∈∈∀−≤
−∈∈∀≤
∈∈∀−≤
−∈∈∀≥−
∈∀≥−
Ni HJJi
JijijiJjJi
JjJJiji
iiji
jiji
Niji
x
HJNipCf
iNjNifg
NjNipCxiNjNixg
Njxxts
xU
γτ
τ
,
,,,,
|,,
,
,,
,
,,)}1({min
}{,,
,),1(
}{,,0
,0..
)(max Optimize video rate: x
Flow conservation constraints
Downlink and local area capacity
constraints
Interference
Downlink 3g/4g Ci
pi
x
Ci,j, pi,j
xi,j
i gi,j
NUM Solution
16
)()'( 1 ∑∈
−=Jj
jUx λRate Control at the Source
NjNipCxts
x
iiji
Ni Njjijjix
∈∈∀−≤
−∑∑∈ ∈
,),1(..
)(max
,
,, ηλDownlink Rate Control
γτ
ηττ
≤
−
∑∑
∑∑ ∑
∈ ∈
∈ ∈ ∈∈
Ni HJJi
Ni HJ JjjijiJjjiJi
ts
pC
,
,,,,
..
))}1({min(max
Local Area Rate Control/Scheduling
Queue Update at the Source
Queue Update at Smartphones
Njtxtx
tt
Nijit
jj
∈∀−
+=++
∈∑ ,]})()([
)({)1(
,β
λλ
NjNitgtx
tt
jijit
jiji
∈∈∀−
+=++ ,,)]}()([
)({)1(
,,
,,
β
ηη
Cooperation & Broadcast & NC
γτ
ηττ
≤
−
∑∑
∑∑ ∑ ∏
∈ ∈
∈ ∈ ∈ ∈∈
Ni HJJi
Ni HJ Jj JjjijiJjjiJi
ts
pC
,
,,,,
..
)})1(}{min(maxCooperation & Broadcast & No-NC
γτ
τητ
≤
−
∑∑
∑∑
∈ ∈
∈ ∈
Ni Njji
Ni Njjijijiji
ts
pC
,
,,,,
..
)1(maxCooperation & Unicast & NC/No-NC
Performance Evaluation Numerical Results: throughput vs # of users
17
Ci=1, pi=0, Ci,j=1, pi,j=0 Ci=1, pi=0, Ci,j=1, pi,j=0.2
о Can use numerical simulation to:
о understand the effect of various parameters о check real experiments
о Implementation should mimic the optimal solution о How to determine source video rate? о Optimal downlink rates? о Optimal mobile-to-mobile rates о Which mobile should transmit? о What information needs to be exchanged?
18
From NUM to Implementation
Implementation Hardware
о Hardware platform о Google Nexus S
о 1 GHz Cortex A8, 512 MB RAM
о Network connections о cellular (3G) о 802.11b о Bluetooth 2.1+EDR
19
о Software platform о Android 2.3 о Application written in Java runs on
о Android (mobile phones, tablets) о Java 2 SE (laptops, etc.)
20
Implementation Software
Application Architecture
21
GUI and Video player
Segment reordering and caching
Requester: Download segments
from source
Downlink: WiFi/3G
Local link: Bluetooth/WiFi (w. or w/o overhearing)
Local Collabora/on (and network coding)
Network layer
AbstracJon layer for streaming protocol
“NCUtils”: l Java (and C) libraries available at: http://arni.epfl.ch/software/
Parameters: • GF(28), generation size m=25, packet size n=900 bytes (<MTU). • Table look-up multiplications, XOR additions • RLNC encoding, Progressive decoding
Performance: • Max (i.e., at 100% CPU) encoding/decoding rate w/o optimizations: 3.5 Mbps prior state-of-the-art for iphone 3G: 1.5 Mbps • Pick fraction (25%) of coefficients randomly: 4.5 Mbps (the rest set to 1) • Native C implementation: 20 Mbps
(à can support > 50 phones in local network)
Encoding becomes a problem when sending to many peers • Bottleneck: saturate CPU or network first? • Overhearing to the rescue
22
Feasibility of Network Coding on: not a (major) challenge
Handling Multiple Interfaces: a challenge
• Android is optimized for space and battery – 3G, WiFi, Bluetooth
• Simultaneously using multiple interfaces: – 3G operates independently of Bluetooth or WiFi – Bluetooth and WiFi: on the same chip, not independent – We used 3G and (WiFi or BT)
– 3G and WiFi: androids turns off one of the two – We avoided using Android Wifi Manager. We develop custom
controller for Wifi interface
– We re-implemented network layer (to provide routing and datagram communication) transparently of the underlying link layer
23
Broadcast (Overhearing) a major challenge
о WiFi Broadcast: not the best option (base
rate, reliability) о WiFi Overhearing on androids (vs. PCs) is
challenging: – Have to root the phone – Driver for overhearing not available on all
devices – Sniffer: we had to build custom C/C++
libraries to provide overhearing API – Filter: discard irrelevant overheard packets – Overhearing works in infrastructure but not
in ad-hoc mode 24
A B
C
о Bluetooth: broadcast not supported о WiFi: doable but difficult
Overhearing cont’d Pseudo Ad-hoc mode
• Challenge: - Overhearing not possible in ad-hoc mode - Infrastructure mode: but redundant transmissions
25
• Solution: “Pseudo-adhoc” - infrastructure mode - A sends traffic to AP - B and other nodes overhear - AP does not forward traffic
A B
A B
AP
AP
• 4 phones, 2 download from 3G – Total 3G rate: 1 Mbps (500 Kbps per phone) – Receiving rate per phone: 1 Mbps – WiFi LAN: 11Mbps
– With NC + Overhearing: • LAN traffic measured: 2.24 Mbps • Estimated number of phones to congest LAN > 12
– Without NC + Overhearing: • LAN traffic measured: 3.63 Mbps • Estimated number of phones to congest LAN : >6
• 4 phones, one disseminates to others, no 3G – Similar benefits
26
NC + Overhearing: worth the effort measurement results
Application Architecture - revisited
27
GUI and Video player
Segment reordering and caching
Requester: Download segments
from source
Downlink: WiFi/3G
Local link: Bluetooth/WiFi (w. or w/o overhearing)
Local Collabora/on (and network coding)
Network layer
AbstracJon layer for streaming protocol
Coordinating Multiple 3Gs Scheduler
о One node is responsible to schedule the download of segments
о Each node is assigned a number of segments to download proportionally to their 3G rates
о Scheduler handles download errors, nodes leaving, and 3G stalled
о Ongoing work: joint 3G and local rate control and scheduling
28
Local Distribution
о R2 NC+Push has poor performance due to high redundancy packets resulted from: о Timing of the “breaking” signal/feedback о Small segment size (limited by mobile CPU)
о Regular Pull (Bittorent-like) does not take advantage of broadcast
о Our proposal: A Hybrid Push/Pull о Initial push, broadcast generation о Pull: report dimensions missing о For broadacst: broadcast the max number of
dimensions missing by any receiver. о Subsequent pulls support multi-hop
29
1 2
3 4
HTTP Server
Microcast in Action Scenario
Base staJon
downloading over 3G link
cooperaJon over wifi link overhearing over wifi link
Microcast in Action Demo
Video at:
http://newport.eecs.uci.edu/~athina/video-demos/microcast/microcast-Dec11-v2.mp4
31
Next Steps • Characterize performance in practice
– Max achievable rate per user: min-cut – Benefits depend on local network vs. 3G rate + CPU. – Measurements show that Microcast achieves min-cut for low 3G rates
• Bridge gap between NUM and implementation – Rate control and scheduling on cellular and local links
• Beyond the one-hop scenario
• Make Microcast publicly available: – Android application – PC/laptop application – Java library
32
Thank you!
http://odysseas.calit2.uci.edu/doku.php/public:network-coding http://odysseas.calit2.uci.edu/doku.php/public:muri09
33
Recommended