nus.soc.cs5248 Ooi Wei Tsang Recent Papers from conferences
nus.soc.cs5248 Ooi Wei Tsang Sessions Session 1: Movies and Music Session 2: Peer-to-Peer Streaming Session 3: Power-Friendly
nus.soc.cs5248 Ooi Wei Tsang Movies and Music Session 1
nus.soc.cs5248 Ooi Wei Tsang Characterizing DVD Wu-Chi Feng et. al. Packet Video 2003
nus.soc.cs5248 Ooi Wei Tsang Motivations Lots of DVD videos available How are they encoded? What is the implications to our research?
nus.soc.cs5248 Ooi Wei Tsang DVD data 107 video streams 140 hours 80 DVDs
nus.soc.cs5248 Ooi Wei Tsang Bit-rates Maximum DVD bit rates 10 Mbps Found on DVD 3.3 – 7.8 Mbps VBR Quantization values change over time (only Spy Kids is CBR)
nus.soc.cs5248 Ooi Wei Tsang GOPs and Sequences Each GOP was encoded into a different sequence GOP sizes: around 12 frames
NUS.SOC.CS5248 OOI Wei Tsang nus.soc.cs5248 Ooi Wei Tsang Sequence sequence header: width height frame rate bit rate :
NUS.SOC.CS5248 OOI Wei Tsang nus.soc.cs5248 Ooi Wei Tsang GOP: Group of Picture gop header: time :
NUS.SOC.CS5248 OOI Wei Tsang nus.soc.cs5248 Ooi Wei Tsang Picture pic header: number type (I,P,B) :
nus.soc.cs5248 Ooi Wei Tsang Frame Patterns Most videos have varying Number of frames within a GOP Frame patterns (ID4 has 134 unique GOP patterns)
nus.soc.cs5248 Ooi Wei Tsang Frame Pattern Scene Change Detection used extensively IPPPPPPP quite common!
nus.soc.cs5248 Ooi Wei Tsang Implication to Research Cannot assume fixed frame pattern Cannot always drop B frames
nus.soc.cs5248 Ooi Wei Tsang Network Musical Performances UC Berkeley NOSSDAV 2001
nus.soc.cs5248 Ooi Wei Tsang Goal Show that networked musical performances (NMP) can be done
nus.soc.cs5248 Ooi Wei Tsang Observation Stanford – Berkeley (40 miles) RTT ~4 ms 0.72 meters Berkeley – Caltech (375 miles) RTT ~28 ms 4.88 meters
nus.soc.cs5248 Ooi Wei Tsang Observation Musical instruments have long production latency
nus.soc.cs5248 Ooi Wei Tsang Observation Don’t send audio, send command Keeps “states” of the current music performance
nus.soc.cs5248 Ooi Wei Tsang Example NoteOn(channel, note, velocity) NoteOff(channel, note)
nus.soc.cs5248 Ooi Wei Tsang Packet Loss Recovery Lost/Late NoteOn skipped Lost/Late NoteOff executed
nus.soc.cs5248 Ooi Wei Tsang Packet Loss Recovery Guard packets Recovery journals
nus.soc.cs5248 Ooi Wei Tsang Bandwidth 20 MIDI command per seconds 640 bps With recovery journals ~7 kbps
nus.soc.cs5248 Ooi Wei Tsang Experience Lost/Late NoteOn/NoteOff But musician can adjust and play fluidly
nus.soc.cs5248 Ooi Wei Tsang Peer-to-Peer Session 2
nus.soc.cs5248 Ooi Wei Tsang P2Cast Yang Guo et. al. WWW 2003
nus.soc.cs5248 Ooi Wei TsangNUS.SOC.CS5248 OOI WEI TSANG Patching Time Client Request mcast unicast
nus.soc.cs5248 Ooi Wei TsangNUS.SOC.CS5248 OOI WEI TSANG Patching Time Client Request Patching Window: W mcast
nus.soc.cs5248 Ooi Wei Tsang Problem with VOD IP Multicast usually assumed Patching still requires unicast connections
nus.soc.cs5248 Ooi Wei Tsang P2Cast
nus.soc.cs5248 Ooi Wei Tsang New Session
nus.soc.cs5248 Ooi Wei Tsang Existing Session + Patch ? ? Fat Pipe First
nus.soc.cs5248 Ooi Wei Tsang Patch Server Selection
nus.soc.cs5248 Ooi Wei Tsang Patching Stream patching stream base stream
nus.soc.cs5248 Ooi Wei Tsang Tree Example
nus.soc.cs5248 Ooi Wei Tsang Failure Recovery X
nus.soc.cs5248 Ooi Wei Tsang Failure Recovery What if Patch server failed? Base server failed?
nus.soc.cs5248 Ooi Wei Tsang PROMISE Mohamed Hafeeda et. al. ACM MM 2003
nus.soc.cs5248 Ooi Wei Tsang Problem P2P with streaming One peer may not have enough bandwidth Need to aggregate multiple peers
nus.soc.cs5248 Ooi Wei Tsang Architecture B/2 B/4 CollectCast
nus.soc.cs5248 Ooi Wei Tsang CollectCast Select sending peers Monitor network Assign streaming rates and data segments Decide when to change peers
nus.soc.cs5248 Ooi Wei Tsang PROMISE Operations I want to watch LOTR:T2T
nus.soc.cs5248 Ooi Wei Tsang PROMISE Operations These are the candidate s..
nus.soc.cs5248 Ooi Wei Tsang PROMISE Operations Max expected goodness Subject to rate constraints
nus.soc.cs5248 Ooi Wei Tsang PROMISE Operations Here are your peers!
nus.soc.cs5248 Ooi Wei Tsang PROMISE Operations Send these..
nus.soc.cs5248 Ooi Wei Tsang PROMISE Operations Should I switch?
nus.soc.cs5248 Ooi Wei Tsang PALS Reza Rejaie et. al. NOSSDAV 2003
nus.soc.cs5248 Ooi Wei Tsang Problem P2P with streaming One peer may not have enough bandwidth Need to aggregate multiple peers Using layered coding With congestion control
nus.soc.cs5248 Ooi Wei Tsang Sliding Window playout time window
nus.soc.cs5248 Ooi Wei Tsang Packet Assignment playout time S1S2
nus.soc.cs5248 Ooi Wei Tsang Sending Mechanism Request packets in priority order Sender must send in order Next request overwrites previous one
nus.soc.cs5248 Ooi Wei Tsang Power-Friendly Session 3
nus.soc.cs5248 Ooi Wei Tsang GRACE-OS Wanghong Yuan SOSP 2003
nus.soc.cs5248 Ooi Wei Tsang Motivation Mobile devices run on battery How to save battery?
nus.soc.cs5248 Ooi Wei Tsang Dynamic Voltage Scaling Example: AMD Athlon 4 PowerOn {300, 500, 600, 700, 800, 1000}MHz Energy V 2
nus.soc.cs5248 Ooi Wei Tsang CPU Scheduler When to execute a task How long to execute it How fast to execute it
nus.soc.cs5248 Ooi Wei TsangNUS.SOC.CS5248 OOI WEI TSANG CPU Reservation “I need C units of time, out of every T units.”
nus.soc.cs5248 Ooi Wei Tsang Probability Distribution cycles Cum. Prob % of the time, this task requires 500 cycle.
nus.soc.cs5248 Ooi Wei Tsang CPU Requirements “I need C units of time, out of every T units.” CPU only needs to run at “With 80% success rate, C is 500 cycle”
nus.soc.cs5248 Ooi Wei Tsang Speed Schedule speed time If task can finish early, we save energy by not running it at higher speed
nus.soc.cs5248 Ooi Wei Tsang Finding Speed Schedule Let task execute at speed v x during cycle x execution time: 1/v x power: v x 2 average power: (1-F(x))v x 2
nus.soc.cs5248 Ooi Wei Tsang Optimize This Minimize: Subjected to:
nus.soc.cs5248 Ooi Wei Tsang Implementation Linux Kernel AMD Athlon lines of code
nus.soc.cs5248 Ooi Wei Tsang Findings Probability distribution is quite stable Able to meet deadlines with bounded miss ratio Save energy by 7 – 72%
nus.soc.cs5248 Ooi Wei Tsang Proxy Assisted Streaming Prashant Shenoy et. al. MMCN 2003
nus.soc.cs5248 Ooi Wei Tsang Motivation Power-aware streaming to mobile device save energy in decoding frames save energy in receiving packets
nus.soc.cs5248 Ooi Wei Tsang Architecture server/proxyclient Here’s my energy budget for decoding + network reception and max resolution
nus.soc.cs5248 Ooi Wei Tsang Architecture server/proxyclient OK, what should I send?
nus.soc.cs5248 Ooi Wei Tsang Information Needed Map stream properties to energy requirement Need to know decoding time of a frame
nus.soc.cs5248 Ooi Wei Tsang Frame Decoding Time Frame Size (bits) Time (s)
nus.soc.cs5248 Ooi Wei Tsang Transcoding If current stream would exceed client decoding energy budget Need to transcode by reducing quality
nus.soc.cs5248 Ooi Wei Tsang Transcode to what? E = estimated energy needed while E > energy budget reduce quality by ε E = estimate energy needed
nus.soc.cs5248 Ooi Wei Tsang Transcoded Streams server/proxyclient
nus.soc.cs5248 Ooi Wei Tsang Reducing NIC Energy NIC has two modes : active/sleep Client can activate NIC only when packets are expected.
nus.soc.cs5248 Ooi Wei Tsang Burst Transmission I will start transmitting at 10:12:54.86 pm
nus.soc.cs5248 Ooi Wei Tsang Evaluations Decoding Time Frame Number
nus.soc.cs5248 Ooi Wei Tsang Evaluations NIC Idle Uptime: 2 – 20%