Course Matters

Preview:

DESCRIPTION

Course Matters. Recent Papers. from journals. Good Posters Bad Posters. Improving I/O Performance of Intermediate Multimedia Storage Node. Pal Halvorsen Thomas Plagemann Vera Goebel Multimedia Systems 03. Problem. Improve the performance of I/O in integrated multimedia storage node - PowerPoint PPT Presentation

Citation preview

Course Matters

Recent Papers

from journals

Good PostersBad Posters

Improving I/O Performance of Intermediate

Multimedia Storage Node

Pal HalvorsenThomas Plagemann

Vera GoebelMultimedia Systems 03

Problem

• Improve the performance of I/O in integrated multimedia storage node

• 3 areas of improvement are identified• reduce memory copy• checksum computation• FEC computation

Reduce Memory Copy

• File system maintain pointer to an area in memory

• Communication system maintain pointer to same area in memory

• Memory copy avoided!

Network Level Framing• Packet payloads are stored with

checksum• When packets are retrieved for sending,

destination address in header is updated• Checksum is updated with new

destination• No need to recompute checksum for

payload

Integrated Error Management

• Data are stored on RAID-4 (single parity checks)

• Use the same error correcting code for RAID and packets

• Avoid multiple computation of error correcting code

Experiment: Memory Copy

• Read 28662512B file 38 times in a loop

• The time to transmit data through the storage node is reduced by 45-50% when there is no CPU load, and by 70-73% when CPU load is high

Experiment: Network Level Framing

• Transmit 255MB file• Time to calculate checksum is

reduced by 95-99%• Time spent in kernel is reduced

by 51-61%

Experiment: Integrated Error Management

• With encoding FEC, the maximum throughput is 22-24 Mbps.

• Without encoding FEC, the maximum throughput is 1Gbps

Let’s try again..

Improving I/O Performance of

Intermediate Media Storage Node

Pal HalvorsenThomas Plagemann

Vera Goebel

Contributions

• Improve performance by• reducing memory copy• reducing checksum computation• reducing ECC computation

Reduce Memory Copy

• One shared copy of data for different OS component

dataFile

SystemNetworkSystem

Memory

Network Level Framing

1

2

3

store payloadwith payload’s checksum

read payloadwith checksum

update header andchecksum

• Reduce time to packetize data and compute checksum for data

Integrated Error Management

• Avoid multiple computation of error correcting code

data data data ECCRAID

ECC

reuse RAIDECC as ECCpacket

Average Time to Transmit 1GB file from memory system under high CPU Load

0

50

100

150

200

250

300

1KB 2KB 3KB 4KBPacket Size

Tim

e (s

)

zero-copytraditional

Results: Zero Copy

Results: Network Level Framing

UDP With NLF

0

2

4

6

8

1 2 4 8Packet Size (KB)

Tim

e (x

100

ms)

The RestChecksum

Traditional UDP

0

2

4

6

8

1 2 4 8Packet Size (KB)

Tim

e (x

100

ms)

Accumulated UDP Protocol Execution Time for sending 225MB file

Results: Integrated Error Management

With ECC Encoding

Without ECC Encoding

22-24 Mbps 1 Gbps

Maximum Throughput with/without Encoding usingCauchy-based Reed Solomon Erasure Code

Ad Hoc Networks

Session 1

Mobile Ad Hoc Network

Radio

Router

Host

Animation

• http://www-i4.informatik.rwth-aachen.de/~mesut/manet/manet_en.html

Mobile Ad Hoc Network

RadioRouterHost

RadioRouterHost

RadioRouterHost

RadioRouterHost

Examples

• Battlefield• Highway• Disaster Zone

Challenges

• All the difficulties of wireless LAN• Plus• Nodes can move• Connections can go up/down• No fix route

Two Papers

• IEEE JSAC • Special Issues in Wireless

Multimedia

• Baochun Li from U. of Toronto• Shiwen Mao from Polytechnic U.

NonStop: Continuous Streaming Service on

MANET

Baochun Li IEEE JSAC 2004

Streaming over MANET

Network Partition Problem

Only Solution ..

• Predict Partition• Replicate Service

Partition Prediction

Network Partition Problem

How to Predict Partition?

• given velocity of each node• cluster nodes into “mobile

groups”• find mean group velocity

Clustering Algorithm

Clustering Algorithm

Clustering Algorithm

Clustering Algorithm

Choosing Server

?

How to Choose Server?

• find “stable group”• choose server within stable

group with the most similar velocity

Stable Group

A B

mean <= radio rangeand variance is not too large

probability

distance

Stable Group

A C

D

FG

H

E

B

Stable Group

A C

D

FG

H

E

B

BCD are in my group

AGH are in my group

Stable Group

A C

D

FG

H

E

B

BCDGH are in my group

ABDGH are in my

group

How to Choose Server?

• find “stable group”• choose server within stable

group with the most similar velocity

Summary

• Server construct mobile group by clustering nodes using velocity

• Use mean mobile group velocity to predict network partition

•Replicate service before partition to ensure continuous service

Summary

• Node construct stable group by comparing distance over time

• Choose server within stable group with most similar velocity

Multipath Transport and Multistream

Coding for MANET

Shiwen Mao et. al.IEEE JSAC

Single Path Transport

Multipath Transport

Multipath Transport

Video Coding: 1 of 3

I P P P P P P P

Typical Frame Dependency

Video Coding: 1 of 3

II

PP

PP

PP

Multistream Coding

Dynamic Reference Frame

• Choose last received frame as reference

believed to be received

Predict Network States

GOOD :)

BAD :(

NACK ACK

Example

0

1

2

3

4

5

6

7

ACK0 ACK2 ACK4

NACK1 NACK3 NACK5 ACK7

8

9

ACK6

10

Video Coding: 2 of 3

I P P P

I P P P Base Layer

EnhancementLayer

Video Coding: 2 of 3

S D

EL

BL

Video Coding: 2 of 3

NACK

NACK

Video Coding: 2 of 3

S D

BL

Video Coding: 3 of 3

• Multiple Description Coding

MDMC

• MDMC

+

Example of MDMC

359 363 370

+7

Typical Reference Frame

Example of MDMC

359 363 370

MDMC Reference Frame

Example of MDMC

359 363 +9

Example of MDMC

359 ? +9

Example of MDMC

359 363 370

+9

361

Example of MDMC

359 ? +9,+2

Comparisons

Reference Frame

LayeredCoding

MDMC

Feedback

Buffer

Decoding Delay

Improving Multicast

Session 2

Organizing Multicast Receivers

Brian Neil Levine Sanjoy Paul

JJ Garcia-Luna-AcevesMultimedia Systems 03

Retransmission in Mcast

Idea

• Ask a neighbour for a missing packet

“Helper” Tree

Pick Helper By Hop

Pick Helper by Hop

• Not entirely accurate• Need to consider latency, link

condition etc.

Pick Neighbour By Latency

Pick Helper by Latency

• How to measure latency?• unicast?• multicast?• shared-tree? per-source tree?

Ideal “Location” of Helper

• share a common path, and is closer to source (“acceptable”)

Idea

• Suppose node A and B know their path back to the source, then they can deduce if A is acceptable to help B

MTrace

A B C

D

E

HG

F

I

ERS

A B C

D

E

HG

F

I

my path is ABCDF

ERS

A B C

D

E

HG

F

I

Respond if

• acceptable• not too many helpee

Picking Helper

• packet loss measurement

A B C

D

E

HG

F

I

30%

10%

Maintenance

• Periodic refresh states (soft-states)

• Periodic repeat procedure

Summary

• Organized receivers based on common path

• Enable peer-to-peer retransmission

THE END

Recommended