http://dblab.usc.edu annoucements read the papers for next week posted on read the papers for next...

56
http:// http:// dblab.usc.edu dblab.usc.edu Annoucements Annoucements Read the papers for next week posted on Read the papers for next week posted on http://dblab.usc.edu/csci599 http://dblab.usc.edu/csci599 A homework will be assigned on Tuesday, August A homework will be assigned on Tuesday, August 29 29 th th , due date is September 19 , due date is September 19 th th . . My office hours are: My office hours are: Tuesdays 3:20 to 5 pm Tuesdays 3:20 to 5 pm Thursdays 12:30 to 2 pm Thursdays 12:30 to 2 pm Timetable for the project: Timetable for the project: Sept 28: 1 page description of your project Sept 28: 1 page description of your project Oct 3 Oct 3 : Feedback on your project description Feedback on your project description Oct 12: In class presentation of your project Oct 12: In class presentation of your project (5 minutes) (5 minutes) Oct 26: In class update of your project (15 Oct 26: In class update of your project (15 minutes) minutes) Nov 23: Thanksgiving recess Nov 23: Thanksgiving recess Nov 28 & 30: Project Presentations Nov 28 & 30: Project Presentations

Upload: bertram-shields

Post on 03-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

http://dblab.usc.eduhttp://dblab.usc.edu

AnnoucementsAnnoucements Read the papers for next week posted on Read the papers for next week posted on

http://dblab.usc.edu/csci599http://dblab.usc.edu/csci599 A homework will be assigned on Tuesday, August 29A homework will be assigned on Tuesday, August 29thth, due , due

date is September 19date is September 19thth..

My office hours are: My office hours are: Tuesdays 3:20 to 5 pmTuesdays 3:20 to 5 pm Thursdays 12:30 to 2 pmThursdays 12:30 to 2 pm

Timetable for the project:Timetable for the project: Sept 28: 1 page description of your projectSept 28: 1 page description of your project Oct 3Oct 3:: Feedback on your project description Feedback on your project description Oct 12: In class presentation of your project (5 minutes)Oct 12: In class presentation of your project (5 minutes) Oct 26: In class update of your project (15 minutes)Oct 26: In class update of your project (15 minutes) Nov 23: Thanksgiving recessNov 23: Thanksgiving recess Nov 28 & 30: Project PresentationsNov 28 & 30: Project Presentations

http://dblab.usc.eduhttp://dblab.usc.edu

Candidate projectsCandidate projects At the end of lecture on August 24, we At the end of lecture on August 24, we

discussed three different projects:discussed three different projects:1.1. Extend the current studies to consider Extend the current studies to consider

availability of data. Current focus is on availability of data. Current focus is on throughput, number of simultaneous displays.throughput, number of simultaneous displays.

2.2. Design, implement and evaluate replacement Design, implement and evaluate replacement policies that choose victim clips and swap them policies that choose victim clips and swap them out in favor of other clips. Each device should out in favor of other clips. Each device should be able to make this decision independent of be able to make this decision independent of other devices and based on the sequence of other devices and based on the sequence of requests issued either by itself or neighboring requests issued either by itself or neighboring devices.devices.

3.3. Explore role of devices configured with multiple Explore role of devices configured with multiple cards. What are its benefits and costs?cards. What are its benefits and costs?

An Evaluation of Two Policies An Evaluation of Two Policies for Placement of Continuous for Placement of Continuous Media in Multi-hop Wireless Media in Multi-hop Wireless

NetworksNetworks

Shahram Ghandeharizadeh, Tooraj Helmi, Shahram Ghandeharizadeh, Tooraj Helmi, Taehee Jung, Shyam Kapadia, Shahin ShayandehTaehee Jung, Shyam Kapadia, Shahin Shayandeh

Computer Science DepartmentComputer Science DepartmentUniversity of Southern CaliforniaUniversity of Southern California

http://dblab.usc.eduhttp://dblab.usc.edu

OutlineOutline Target environment: H2O networksTarget environment: H2O networks Two placement strategyTwo placement strategy

Frequency-based Frequency-based Byte-hitByte-hit

Performance comparison:Performance comparison: Byte-hit is superior to frequency-basedByte-hit is superior to frequency-based

1.1. Maximizes number of simultaneous displaysMaximizes number of simultaneous displays

2.2. More robust to error in access frequencies More robust to error in access frequencies

Conclusions and future researchConclusions and future research

http://dblab.usc.eduhttp://dblab.usc.edu

Target EnvironmentTarget Environment Key characteristics:Key characteristics:

Limited by the bandwidth and radio range of Limited by the bandwidth and radio range of wireless devices (less constrained by energy and wireless devices (less constrained by energy and mobility).mobility).

Management of devices is decentralized.Management of devices is decentralized. Each device is autonomous.Each device is autonomous. Devices cooperate when in radio-range of one another.Devices cooperate when in radio-range of one another.

http://dblab.usc.eduhttp://dblab.usc.edu

Home-to-Home Online (H2O) devices collaborate to Home-to-Home Online (H2O) devices collaborate to deliver continuous media:deliver continuous media:

A H2O device is a wireless device with a powerful A H2O device is a wireless device with a powerful processor and abundant amount of storage.processor and abundant amount of storage.

Target Environment: H2OTarget Environment: H2O

S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim Conference on Multimedia, 2003.Conference on Multimedia, 2003.

http://dblab.usc.eduhttp://dblab.usc.edu

Home-to-Home Online (H2O) devices collaborate to Home-to-Home Online (H2O) devices collaborate to deliver continuous media:deliver continuous media:

A H2O device is a wireless device with a powerful A H2O device is a wireless device with a powerful processor and abundant amount of storage.processor and abundant amount of storage.

H2O Framework (Cont…)H2O Framework (Cont…)

S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim Conference on Multimedia, 2003.Conference on Multimedia, 2003.

http://dblab.usc.eduhttp://dblab.usc.edu

Home-to-Home Online (H2O) devices collaborate to Home-to-Home Online (H2O) devices collaborate to deliver continuous media:deliver continuous media:

A H2O device is a wireless device with a powerful A H2O device is a wireless device with a powerful processor and abundant amount of storage.processor and abundant amount of storage.

H2O Framework (Cont…)H2O Framework (Cont…)

S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim Conference on Multimedia, 2003.Conference on Multimedia, 2003.

http://dblab.usc.eduhttp://dblab.usc.edu

Home-to-Home Online (H2O) devices collaborate to Home-to-Home Online (H2O) devices collaborate to deliver continuous media:deliver continuous media:

A H2O device is a wireless device with a powerful A H2O device is a wireless device with a powerful processor and abundant amount of storage.processor and abundant amount of storage.

H2O Framework (Cont…)H2O Framework (Cont…)

S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim S. Ghandeharizadeh, H2O Clouds: Issues, Challenges and Solutions, in IEEE Pacific-Rim Conference on Multimedia, 2003.Conference on Multimedia, 2003.

http://dblab.usc.eduhttp://dblab.usc.edu

H2O Framework (Cont…)H2O Framework (Cont…) H2O devices complement existing wired H2O devices complement existing wired

infrastructureinfrastructure

A H2O device may serve in 4 different roles:A H2O device may serve in 4 different roles:1.1. Display a clip: video-on-demandDisplay a clip: video-on-demand

2.2. Store a clip for future referencesStore a clip for future references

3.3. Act as a router of data from a producer to a Act as a router of data from a producer to a displaydisplay

4.4. Combination of the above 3 simultaneouslyCombination of the above 3 simultaneously

http://dblab.usc.eduhttp://dblab.usc.edu

H2O Uses & ChallengesH2O Uses & Challenges A household may:A household may:

Access clips for entertainment, education, etc.Access clips for entertainment, education, etc. Publish video library (never-erase).Publish video library (never-erase). Establish time-shifted recording of live events: Establish time-shifted recording of live events:

monitor the house while on travel, Memex, monitor the house while on travel, Memex, MyLifeBits, etc.MyLifeBits, etc.

Research challenges:Research challenges: Privacy of user profiles and content.Privacy of user profiles and content. Effective user-interfaces.Effective user-interfaces. How to minimize loss-of-data in the presence of How to minimize loss-of-data in the presence of

node removals.node removals. Hiccup-free display:Hiccup-free display:

Placement of dataPlacement of data

http://dblab.usc.eduhttp://dblab.usc.edu

Placement of ClipsPlacement of Clips Three alternative placement strategies:Three alternative placement strategies:

1.1. SimpleSimple

2.2. Halo-ClipHalo-Clip

3.3. Halo-BlockHalo-Block

http://dblab.usc.eduhttp://dblab.usc.edu

Placement of ClipsPlacement of Clips Consider 9 clips sorted based on their Consider 9 clips sorted based on their

popularitypopularity

Very popularVery popular Less popularLess popular

http://dblab.usc.eduhttp://dblab.usc.edu

Network topologyNetwork topology

http://dblab.usc.eduhttp://dblab.usc.edu

Simple replicationSimple replication

http://dblab.usc.eduhttp://dblab.usc.edu

No delays when displaying MatrixNo delays when displaying Matrix Data is retrieved from local storageData is retrieved from local storage

http://dblab.usc.eduhttp://dblab.usc.edu

Display of Tarzan incurs delaysDisplay of Tarzan incurs delays Data is streamed from the base stationData is streamed from the base station

http://dblab.usc.eduhttp://dblab.usc.edu

Streaming from base stationStreaming from base station Exhausts network bandwidth of intermediate Exhausts network bandwidth of intermediate

nodes:nodes: Prevents display of clips from the base station Prevents display of clips from the base station

using intermediate nodes.using intermediate nodes. Interferes with on-going display utilizing the Interferes with on-going display utilizing the

bandwidth of the network links.bandwidth of the network links.

http://dblab.usc.eduhttp://dblab.usc.edu

Streaming from base stationStreaming from base station Exhausts network bandwidth of intermediate Exhausts network bandwidth of intermediate

nodes:nodes: Prevents display of clips from the base station Prevents display of clips from the base station

using intermediate nodes.using intermediate nodes. Interferes with on-going display utilizing the Interferes with on-going display utilizing the

bandwidth of the network links.bandwidth of the network links. Solution: Admission controlSolution: Admission control

Limited network bandwidth provides the Limited network bandwidth provides the following simple motivation: Minimize usage of following simple motivation: Minimize usage of network bandwidth. How?network bandwidth. How?

http://dblab.usc.eduhttp://dblab.usc.edu

Streaming from base stationStreaming from base station Exhausts network bandwidth of intermediate Exhausts network bandwidth of intermediate

nodes:nodes: Prevents display of clips from the base station Prevents display of clips from the base station

using intermediate nodes.using intermediate nodes. Interferes with on-going display utilizing the Interferes with on-going display utilizing the

bandwidth of the network links.bandwidth of the network links. Solution: Admission controlSolution: Admission control

Limited network bandwidth provides the Limited network bandwidth provides the following simple motivation: Minimize usage of following simple motivation: Minimize usage of network bandwidth. How?network bandwidth. How? Maximize references serviced using local storage of a Maximize references serviced using local storage of a

H2O device. This is realized using smart placement H2O device. This is realized using smart placement algorithms.algorithms.

http://dblab.usc.eduhttp://dblab.usc.edu

Simple: Frequency-basedSimple: Frequency-based Frequency-based algorithm:Frequency-based algorithm:

1.1. Node Node ii sorts clips based on its access frequency sorts clips based on its access frequency

2.2. Node Node ii stores those clips with the highest access stores those clips with the highest access frequency.frequency.

Objective: maximize the number of Objective: maximize the number of references serviced by the local storage of references serviced by the local storage of Node Node ii.. This is a greedy objective, optimizing a local This is a greedy objective, optimizing a local

criterion.criterion.

Key research question: Is assigning most Key research question: Is assigning most frequently referenced clips to each node the frequently referenced clips to each node the best strategy?best strategy?

http://dblab.usc.eduhttp://dblab.usc.edu

Simple: Byte-hitSimple: Byte-hit Byte-hit algorithm:Byte-hit algorithm:

Node i sorts clips based on their byte-hit value. Node i sorts clips based on their byte-hit value. Byte-hit of clip j is defined as its frequency of Byte-hit of clip j is defined as its frequency of access divided by its size.access divided by its size.

Node i stores clips with the highest byte-hit value Node i stores clips with the highest byte-hit value until storage available storage is exhausted.until storage available storage is exhausted.

Research question: What is the Research question: What is the performance tradeoff between Byte-hit and performance tradeoff between Byte-hit and Frequency-based? Which one is better Frequency-based? Which one is better under what conditions?under what conditions?

Key finding: Byte-hit is superior to Key finding: Byte-hit is superior to Frequency-based.Frequency-based.

http://dblab.usc.eduhttp://dblab.usc.edu

AssumptionsAssumptions1.1. Constant bit rate continuous mediaConstant bit rate continuous media

Alternative is variable bit rate continuous mediaAlternative is variable bit rate continuous media

2.2. Fixed network topologiesFixed network topologies

3.3. Placement of the base stationPlacement of the base station

4.4. A mix of media typesA mix of media types

5.5. Zipfian distribution of access to clipsZipfian distribution of access to clips

http://dblab.usc.eduhttp://dblab.usc.edu

Continuous MediaContinuous Media Display of a clip as a function of time.Display of a clip as a function of time.

Constant Bit Rate Variable Bit Rate

Time Time

Bytes Bytes

http://dblab.usc.eduhttp://dblab.usc.edu

Continuous MediaContinuous Media A clip has a fixed display time.A clip has a fixed display time.

Constant Bit Rate Variable Bit Rate

Time Time

Bytes Bytes

Clip display time

http://dblab.usc.eduhttp://dblab.usc.edu

Continuous MediaContinuous Media A clip has a fixed size.A clip has a fixed size.

Constant Bit Rate Variable Bit Rate

Time Time

Bytes Bytes

Clip size

http://dblab.usc.eduhttp://dblab.usc.edu

Continuous MediaContinuous Media Average bandwidth for continuous display is clip size divided by the Average bandwidth for continuous display is clip size divided by the

clip display time.clip display time.

Constant Bit Rate Variable Bit Rate

Time Time

Bytes Bytes

Display bandwidth requirements

BW = Line slope

http://dblab.usc.eduhttp://dblab.usc.edu

Time and spaceTime and space One may manipulate the bandwidth required to display a One may manipulate the bandwidth required to display a

clip by prefetching a portion of the clip.clip by prefetching a portion of the clip.

Constant Bit Rate Media

Time

Bytes

Startup latency

Prefetch portion

http://dblab.usc.eduhttp://dblab.usc.edu

Time and spaceTime and space One may manipulate the bandwidth required to display a One may manipulate the bandwidth required to display a

clip by prefetching a portion of the clip.clip by prefetching a portion of the clip.

Constant Bit Rate Media

Time

Bytes

Startup latency

Prefetch portion

For a tutorial see: S. Ghandeharizadeh and R. Muntz, “Design and Implementation of For a tutorial see: S. Ghandeharizadeh and R. Muntz, “Design and Implementation of Scalable Continuous Media Servers,” Parallel Computing Journal, Elsevier, Vol 24, 1998.Scalable Continuous Media Servers,” Parallel Computing Journal, Elsevier, Vol 24, 1998.

http://dblab.usc.eduhttp://dblab.usc.edu

AssumptionsAssumptions1.1. Constant bit rate continuous mediaConstant bit rate continuous media

Alternative is variable bit rate continuous mediaAlternative is variable bit rate continuous media

2.2. Fixed network topologiesFixed network topologies

3.3. Placement of the base stationPlacement of the base station

4.4. A mix of media typesA mix of media types

5.5. Zipfian distribution of access to clipsZipfian distribution of access to clips

http://dblab.usc.eduhttp://dblab.usc.edu

2D topologies2D topologies

GridGrid

StringString

GraphGraph

http://dblab.usc.eduhttp://dblab.usc.edu

AssumptionsAssumptions1.1. Constant bit rate continuous mediaConstant bit rate continuous media

Alternative is variable bit rate continuous mediaAlternative is variable bit rate continuous media

2.2. Fixed network topologiesFixed network topologies

3.3. Placement of the base stationPlacement of the base station

4.4. A mix of media typesA mix of media types

5.5. Zipfian distribution of access to clipsZipfian distribution of access to clips

http://dblab.usc.eduhttp://dblab.usc.edu

Placement of base stationPlacement of base station

http://dblab.usc.eduhttp://dblab.usc.edu

Placement of base stationPlacement of base station

http://dblab.usc.eduhttp://dblab.usc.edu

Placement of base stationPlacement of base station

http://dblab.usc.eduhttp://dblab.usc.edu

Placement of base stationPlacement of base station

Target EnvironmentTarget Environment

http://dblab.usc.eduhttp://dblab.usc.edu

AssumptionsAssumptions1.1. Constant bit rate continuous mediaConstant bit rate continuous media

Alternative is variable bit rate continuous mediaAlternative is variable bit rate continuous media

2.2. Fixed network topologiesFixed network topologies

3.3. Placement of the base stationPlacement of the base station

4.4. A mix of media typesA mix of media types

5.5. Zipfian distribution of access to clipsZipfian distribution of access to clips

http://dblab.usc.eduhttp://dblab.usc.edu

Mix of media typesMix of media types Database consists of two media types:Database consists of two media types:

Video clips, required bandwidth = 4 MbpsVideo clips, required bandwidth = 4 Mbps 2 hours, 2 GB2 hours, 2 GB 60 minutes, 1 GB60 minutes, 1 GB 30 minutes, 0.5 GB30 minutes, 0.5 GB

Audio clips, required bandwidth = 300 KbpsAudio clips, required bandwidth = 300 Kbps 4 minutes, 9 MB4 minutes, 9 MB 2 minutes, 4.5 MB2 minutes, 4.5 MB 1 minute, 2.25 MB1 minute, 2.25 MB

There are C clips in the database:There are C clips in the database: Clip i mod 6 = 0 is a 2 hour video clipClip i mod 6 = 0 is a 2 hour video clip Clip i mod 6 = 1 is a 4 minute audio clipClip i mod 6 = 1 is a 4 minute audio clip Clip i mod 6 = 2 is a 1 hour video clipClip i mod 6 = 2 is a 1 hour video clip Clip i mod 6 = 3 is a 2 minute audio clip ….Clip i mod 6 = 3 is a 2 minute audio clip ….

http://dblab.usc.eduhttp://dblab.usc.edu

AssumptionsAssumptions1.1. Constant bit rate continuous mediaConstant bit rate continuous media

Alternative is variable bit rate continuous mediaAlternative is variable bit rate continuous media

2.2. Fixed network topologiesFixed network topologies

3.3. Placement of the base stationPlacement of the base station

4.4. A mix of media typesA mix of media types

5.5. Zipfian distribution of access to clipsZipfian distribution of access to clips

http://dblab.usc.eduhttp://dblab.usc.edu

Zipfian distribution of accessZipfian distribution of access Visit Visit http://dblab.usc.eduhttp://dblab.usc.edu for code for code

http://dblab.usc.eduhttp://dblab.usc.edu

System ThroughputSystem Throughput

http://dblab.usc.eduhttp://dblab.usc.edu

Key observationsKey observations None of the techniques observes a linear None of the techniques observes a linear

increase in throughput. Why?increase in throughput. Why? Byte-his is superior to Frequency-based. Byte-his is superior to Frequency-based.

Why?Why?

http://dblab.usc.eduhttp://dblab.usc.edu

Local hit ratioLocal hit ratio Byte-hit increases the number of references Byte-hit increases the number of references

serviced using the local storage of each serviced using the local storage of each node.node.

This can be quantified by summing up the This can be quantified by summing up the access frequency of clips assigned to each access frequency of clips assigned to each node:node:

http://dblab.usc.eduhttp://dblab.usc.edu

Byte-hit is not OptimalByte-hit is not Optimal Byte-hit is only a greedy heuristic. Byte-hit is only a greedy heuristic. Optimal may outperform it because Optimal Optimal may outperform it because Optimal

considers all possible combinations of considers all possible combinations of assigning clips to a node.assigning clips to a node.

http://dblab.usc.eduhttp://dblab.usc.edu

ExampleExample Assume capacity of Assume capacity of

each node is 14 bytes.each node is 14 bytes. Consider the shown Consider the shown

repository:repository:

Byte-hit assigns clip 2 Byte-hit assigns clip 2 to the node, resulting in to the node, resulting in a 10% hit ratio.a 10% hit ratio.

Optimal and Optimal and Frequency-based will Frequency-based will assign clip 1, resulting assign clip 1, resulting in a 70% hit ratio.in a 70% hit ratio.

Clip-idClip-id SizeSize FreqFreq Freq/Freq/sizesize

11 1414 0.70.7 0.050.05

22 11 0.10.1 0.100.10

33 2020 0.20.2 0.010.01

http://dblab.usc.eduhttp://dblab.usc.edu

Freq-based is not optimalFreq-based is not optimal Assume capacity of Assume capacity of

each node is 14 bytes.each node is 14 bytes. Consider the shown Consider the shown

repository:repository:

Byte-hit and Optimal Byte-hit and Optimal assign clips 2 and 3 to assign clips 2 and 3 to the node, resulting in a the node, resulting in a 60% hit ratio.60% hit ratio.

Frequency-based Frequency-based assigns clip 1, resulting assigns clip 1, resulting in a 40% hit ratio.in a 40% hit ratio.

Clip-idClip-id SizeSize FreqFreq Freq/sizeFreq/size

11 1414 0.40.4 0.030.03

22 11 0.30.3 0.300.30

33 11 0.30.3 0.300.30

http://dblab.usc.eduhttp://dblab.usc.edu

Varying access FrequenciesVarying access Frequencies Experimental Experimental

design:design:

http://dblab.usc.eduhttp://dblab.usc.edu

Sensitivity to access freqSensitivity to access freq

http://dblab.usc.eduhttp://dblab.usc.edu

ConclusionsConclusions Byte-hit is superior to Frequency-based:Byte-hit is superior to Frequency-based:

1.1. Increased local accesses when access Increased local accesses when access frequencies are accurate. frequencies are accurate.

2.2. More robust to changes in access frequencies.More robust to changes in access frequencies.

Complexity of implementing Byte-hit is Complexity of implementing Byte-hit is almost identical to Frequency-based.almost identical to Frequency-based.

With a mix of demographics, Byte-hit With a mix of demographics, Byte-hit remains superior to Frequency-based.remains superior to Frequency-based.

http://dblab.usc.eduhttp://dblab.usc.edu

Future research directionFuture research direction Compare Byte-hit with a technique that Compare Byte-hit with a technique that

places data with the objective to optimizes places data with the objective to optimizes for a global criterion:for a global criterion: Average search size for a clipAverage search size for a clip Euclidian distance between nodesEuclidian distance between nodes Number of simultaneous displaysNumber of simultaneous displays

http://dblab.usc.eduhttp://dblab.usc.edu

Halo-ClipHalo-Clip

http://dblab.usc.eduhttp://dblab.usc.edu

Halo-Clip (Cont…)Halo-Clip (Cont…) Display of “Finding Nemo” incurs no delaysDisplay of “Finding Nemo” incurs no delays

http://dblab.usc.eduhttp://dblab.usc.edu

Halo-Clip (Cont…)Halo-Clip (Cont…) Streaming of “Secretary” incurs delaysStreaming of “Secretary” incurs delays

http://dblab.usc.eduhttp://dblab.usc.edu

Halo-BlockHalo-Block

http://dblab.usc.eduhttp://dblab.usc.edu

Halo-BlockHalo-Block Display of Tarzan Display of Tarzan

requires streamingrequires streaming Some clients may Some clients may

incur delaysincur delays

http://dblab.usc.eduhttp://dblab.usc.edu

Halo-BlockHalo-Block No delay for some No delay for some

clientsclients