p2p iptv: cmdc polly huang
TRANSCRIPT
04/12/23Copyright © 2007
1
Network and Systems Laboratorynslab.ee.ntu.edu.tw
P2P IPTV: CMDC
Polly HuangDepartment of Electrical Engineering
National Taiwan University
04/12/23Copyright © 2007
2
Network and Systems Laboratorynslab.ee.ntu.edu.tw
OutlineMotivationKey components
Peer capability estimationPeer information exchangeJob schedulingEncoding priority decision
Experimental resultsConclusion
04/12/23Copyright © 2007
3
Network and Systems Laboratorynslab.ee.ntu.edu.tw
MotivationAny device can share its content by
Bandwidth peering (P2P network)Computation peering (CMDC)
04/12/23Copyright © 2007
4
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Multiple Description Coding MDC-STHI
MDC with Spatial-Temporal Hybrid Interpolation
6420
7531
... ...
... ...
6420... ...1 3 5 7
7531... ...2 4 60
O q
E f
E q
O fAdd redundancy
04/12/23Copyright © 2007
5
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Heterogeneity of Mobile IPTV
Ef+Oq Of+Eq
Ef+Of+Eq+Oq
Ef+Oq
Eq+Oq
N1 N2
N3
N4N5
N6
04/12/23Copyright © 2007
6
Network and Systems Laboratorynslab.ee.ntu.edu.tw
A Rising ProblemMobile devices as the video sources?
http://www.ithome.com.tw/itadm/article.php?c=44159明年 3.5G上傳頻寬昇級至 1.5M加速 3.5G網路系統頻寬,中華電信與台哥大明年計劃昇級現有網路上傳與下載頻寬,讓使用者可用更短的時間下載或上傳分享影片、音樂。
2007/7/3
04/12/23Copyright © 2007
7
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Simple ExperimentsCPU load 0% 20% 40% 60% 80%
F+Q ratio 100% 100% 2% 2% 2%
F ratio 0% 0% 98% 98% 85%
MP4 ratio 0% 0% 0% 0% 13%
Assume the original data is MPEG-4 P4 3.6GHz, 1G Ram, 320x240 WebCam, FPS = 20 Use CPUKiller to control the CPU load Source node tries to do as much as possible
04/12/23Copyright © 2007
8
Network and Systems Laboratorynslab.ee.ntu.edu.tw
P-M 1.8G CPUs for cell phones?
Not for now
04/12/23Copyright © 2007
9
Network and Systems Laboratorynslab.ee.ntu.edu.tw
CMDC?Source node
MPEG-4
MDC-STHI
MPEG-4+MDC-STHI
04/12/23Copyright © 2007
10
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Technical Issues in CMDCWho can do the job?
Peer capability estimationCapability information exchange
How to share the job?Job scheduling
How to decide the transcoding order?Transcoding priority decision
04/12/23Copyright © 2007
11
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Source NodeCapability estimation
Periodic probing (every 64 seconds)Encoding type decision
Q+F, F, MPEG-4Bit rate adjustment
Try to fit the available bandwidth
Capability estimation
Encoding type decision
Bit rate adjustment
04/12/23Copyright © 2007
12
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Peer Capability EstimationPeriodic probing (every 32 seconds)
Cf = no. of F segments the peer can handle in tswarm
Cq = no. of Q segments
Capability discountThe load of the current tasks must be covered.
04/12/23Copyright © 2007
13
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Peer Information Exchange
Consuming Peer
Providing Peer
(1) Buffer map request(including capability)
(2) Buffer map response(including assignment)
(3) Segment request
(4) Segment transmission
04/12/23Copyright © 2007
14
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Buffer Map (MDC)Carry 3 kinds of information
MDC typeStatus of the segmentEstimated # of downloads
0 0 00
Ef Eq Of Oq
04/12/23Copyright © 2007
15
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Buffer Map (MP4)
We can define arbitrary amount of statusesStatus mapping example
0001 : (NOASSIGNED) Unable to encode0010 : (ASSIGNED) The peer will handle this job0011 : (DOWNLOAD) Downloaded by other peers0100 : (ENCODE) Currently processing the job0101 : (SERVER_ASSIGNED) Assigned by the server
No. of downloadsStatus tag
04/12/23Copyright © 2007
16
Network and Systems Laboratorynslab.ee.ntu.edu.tw
The Timeline of a Segment
(NOASSIGNED) Unable to encode(DOWNLOAD) Downloaded by other peers(ASSIGNED) The peer will handle this job(ENCODE) Currently processing the job(SERVER_ASSIGNED) Assigned by the server
Issued
No-assign
Download
Assigned
Start encoding
Finish
MDC
MP4
04/12/23Copyright © 2007
17
Network and Systems Laboratorynslab.ee.ntu.edu.tw
SchedulingTwo-Phase Scheduling
Providing peer scheduling (phase I) Generate proper buffer map responses
Receiving peer scheduling (phase II) After receiving all the buffer map responses Generate download & encoding plan
04/12/23Copyright © 2007
18
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Flow Chart
Consuming peer
Providing peer
(1) Buffer map request(including capability)
(2) Buffer map response(including assignment)
(3) Segment request
(4) Segment transmission
Phase-I Scheduling
Phase-II scheduling
Encodingpriority
decision
04/12/23Copyright © 2007
19
Network and Systems Laboratorynslab.ee.ntu.edu.tw
PlanetLab Experiments100 peers420Kbps video (MDC F+Q 530Kbps)Each experiment lasts 5400 secondstswarm = 4 secondsMembership size = 8 – 11 peersPartnership size = 6 partners
04/12/23Copyright © 2007
20
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Continuity Index
PCFast NB
Slow PCNB
Slow NBPDA
Smart Phone
04/12/23Copyright © 2007
21
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Buffer Level
04/12/23Copyright © 2007
22
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Computation Load
04/12/23Copyright © 2007
23
Network and Systems Laboratorynslab.ee.ntu.edu.tw
With Heterogeneous PeersPeers with different computing power
Strong peers: Finish one segment in 2.0-2.5 seconds
Weak peers: Finish one segment in 12.0-12.5 seconds
Different ratio of strong/weak peers are mixed
04/12/23Copyright © 2007
24
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Continuity Index
04/12/23Copyright © 2007
25
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Buffer Level
04/12/23Copyright © 2007
26
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Computation Load
04/12/23Copyright © 2007
27
Network and Systems Laboratorynslab.ee.ntu.edu.tw
Questions?