Efficient and Flexible Parallel Efficient and Flexible Parallel Retrieval using Priority Retrieval using Priority
Encoded Transmission(2004)Encoded Transmission(2004)
CMPT 886CMPT 886
Represented By: Lilong ShiRepresented By: Lilong Shi
IntroductionIntroduction
MotivationsMotivations Multiple serversMultiple servers
Increase of scalabilityIncrease of scalability Load-balancing by multiple serversLoad-balancing by multiple servers Efficient multicast-based data distributionEfficient multicast-based data distribution
Peer-to-peer systemsPeer-to-peer systems Parallel downloading from multiple peersParallel downloading from multiple peers
Problem and Existing Problem and Existing SolutionsSolutions
ConcernConcern Server: scalability and fault-toleranceServer: scalability and fault-tolerance Client: download rate and avoid Client: download rate and avoid
duplicates from multiple serversduplicates from multiple servers Current SolutionsCurrent Solutions
Client requests disjoint portionsClient requests disjoint portions- High costHigh cost- In P2P, no centralized controlIn P2P, no centralized control
Problem and Existing Problem and Existing SolutionsSolutions
Current SolutionsCurrent Solutions Encoded transmissionEncoded transmission
Server encodes the whole documentServer encodes the whole document Client downloads enough encoded Client downloads enough encoded distinct distinct
data items that enables it to recover the data items that enables it to recover the original contentoriginal content
Disadvantage: Disadvantage: - high cost for encoding and decodinghigh cost for encoding and decoding- No flexible access to structured documentNo flexible access to structured document
Proposed SolutionProposed Solution
GoalGoal To achieve efficient downloads by coordinating To achieve efficient downloads by coordinating
the download process with each server in a the download process with each server in a manner that optimizes the servers’ capabilities manner that optimizes the servers’ capabilities with the clients’ requirementwith the clients’ requirement
SolutionSolution Parallel retrieval using priority encoded transmissionParallel retrieval using priority encoded transmission
FlexibilityFlexibility EfficiencyEfficiency Loss-ResilienceLoss-Resilience
SectionsSections
Parallel RetrievalParallel Retrieval Retrieving from multiple resourcesRetrieving from multiple resources
Rate AllocationRate Allocation Optimal bandwidth to minimize the Optimal bandwidth to minimize the
downloading timedownloading time Additive TransmissionAdditive Transmission
PET approach – lossy transmissionPET approach – lossy transmission ApplicationsApplications
Bulk distribution and streaming distributionBulk distribution and streaming distribution
SectionsSections
Parallel RetrievalParallel Retrieval Retrieving from multiple resourcesRetrieving from multiple resources
Rate AllocationRate Allocation Optimal bandwidth to minimize the Optimal bandwidth to minimize the
downloading timedownloading time Additive TransmissionAdditive Transmission
PET approach – lossy transmissionPET approach – lossy transmission ApplicationsApplications
Bulk distribution and streaming distributionBulk distribution and streaming distribution
Parallel Retrieval - Parallel Retrieval - The Abstract The Abstract ModelModel
Notations:Notations: SymbolsSymbols are data units of fixed size are data units of fixed size A channel A channel CC has a rate | has a rate |CC| | symbolssymbols per unit time per unit time A page A page PP of size | of size |PP| transmitted with rate | transmitted with rate rr <= | <= |CC||
A client is described as <A client is described as <D, C, pD, C, p>> DD is a document to be downloaded is a document to be downloaded CC is a channel available to the client is a channel available to the client pp is a schedule of pages in is a schedule of pages in DD, the download rate of each , the download rate of each
pagepage A server is described as <A server is described as <X, CX, C>>
XX is a set of pages stored in the server is a set of pages stored in the server CC is the channel available to the server is the channel available to the server
Parallel Retrieval - Parallel Retrieval - The Abstract The Abstract ModelModel
Download process of a client <D, C, p> Download process of a client <D, C, p> 3 phases: location, initiation, and 3 phases: location, initiation, and
transmissiontransmission Step1 - LocationStep1 - Location
Not discussed in this paperNot discussed in this paper Assume client locates a set of servers for Assume client locates a set of servers for DD
S = {<S = {<XXii, , CCii> : i = 1 to |> : i = 1 to |SS|}|}
Each server SEach server Sii can transmit at rate | can transmit at rate |CCii||
Parallel Retrieval - Parallel Retrieval - The Abstract The Abstract ModelModel
Step 2 – InitiationStep 2 – Initiation Each server Each server SSii sends a description < sends a description <LLii, |, |CCii|> |>
to clientto client- - LLii contains a list of indices of every page contains a list of indices of every page PPjj X Xii
Based on the description <Based on the description <LLii, |, |CCii|> and its |> and its schedule p, the client computes a rate schedule p, the client computes a rate vector vector RR = {r = {rijij} for each page at each } for each page at each serverserver
i is server ID, and j is page IDi is server ID, and j is page ID Client sends a req Client sends a req RRii = {j, r = {j, rijij} to server } to server SSii
Parallel Retrieval - Parallel Retrieval - The Abstract The Abstract ModelModel
Step3 – TransmissionStep3 – Transmission Each server SEach server Sii, upon receiving a request , upon receiving a request
RRii, transmits a message M, transmits a message Mii on C on Cii to the to the client.client.
MMii is encoded using PET, which will be is encoded using PET, which will be discussed in the next sectiondiscussed in the next section
Parallel Retrieval - Parallel Retrieval - The Abstract The Abstract ModelModel
An exampleAn example D is an 6 MB file with 3 pages P1, D is an 6 MB file with 3 pages P1,
P2 and P3 each of size 2MB. The P2 and P3 each of size 2MB. The
bandwidth of servers S1 and S2 bandwidth of servers S1 and S2
are |C1| = 200 kbps, and |C2| = 300 kbps. S1 are |C1| = 200 kbps, and |C2| = 300 kbps. S1 contains P1 and P2, S2 contains P2 and P3.contains P1 and P2, S2 contains P2 and P3.
A client <D, C> with |C| = 500 kbps attempts A client <D, C> with |C| = 500 kbps attempts to download D from both S1 and S2 with to download D from both S1 and S2 with schedule p = <500/3, 500/3, 500/3>schedule p = <500/3, 500/3, 500/3>
P1P1 P2P2 P3P3
SS11
rr1111 rr1212 200200
SS22
rr2222 rr2323 300300
Parallel Retrieval - Parallel Retrieval - The Abstract The Abstract ModelModel
Naïve solutionNaïve solution S1 and S2 both split their bandwidths equally between S1 and S2 both split their bandwidths equally between
their two pages, the aggregate download rates are their two pages, the aggregate download rates are 100kpbs for P1, 250 kbps for P2 and 150 kbps for P3. 100kpbs for P1, 250 kbps for P2 and 150 kbps for P3. That is, Client sends request R1 = {(1, 100), (2, 100)} to That is, Client sends request R1 = {(1, 100), (2, 100)} to S1, and R2 = {(2, 150),(3, 150)} to S2. The entire S1, and R2 = {(2, 150),(3, 150)} to S2. The entire download time = 16000/100 = 160 seconds.download time = 16000/100 = 160 seconds.
Ideal solutionIdeal solution Client sends request R1 = {(1, 500/3), (2, 100/3)} to S1, Client sends request R1 = {(1, 500/3), (2, 100/3)} to S1,
and R2 = {(2, 400/3),(3, 500/3)} to S2, so that S1 and R2 = {(2, 400/3),(3, 500/3)} to S2, so that S1 allocates 5/6 of its bandwidth for P1, 1/6 for P2; S2 allocates 5/6 of its bandwidth for P1, 1/6 for P2; S2 allocates 4/9 of its bandwidth for P2, 5/9 for P3. Then all allocates 4/9 of its bandwidth for P2, 5/9 for P3. Then all pages can be downloaded in optimal 96 secspages can be downloaded in optimal 96 secs
Parallel Retrieval - Parallel Retrieval - Solve the Solve the ModelModel
Problems to be solvedProblems to be solved Rate Allocation:Rate Allocation:
- During initiation, given descriptions <Li, |Ci|> from During initiation, given descriptions <Li, |Ci|> from each server, and its schedule p, the client should each server, and its schedule p, the client should compute a rate vector R that will enable it to meet its compute a rate vector R that will enable it to meet its download goals.download goals.
Information-Additive Transmission:Information-Additive Transmission:- During transmission, each server Si, by sending an - During transmission, each server Si, by sending an
appropriately encoded message Mi of its content Xi, appropriately encoded message Mi of its content Xi, should enable the client to gather messages from all should enable the client to gather messages from all serves and fulfill its download schedule p for the serves and fulfill its download schedule p for the entire document Dentire document D
SectionsSections
Parallel RetrievalParallel Retrieval Retrieving from multiple resourcesRetrieving from multiple resources
Rate AllocationRate Allocation Optimal bandwidth to minimize the Optimal bandwidth to minimize the
downloading timedownloading time Additive TransmissionAdditive Transmission
PET approach – lossy transmissionPET approach – lossy transmission ApplicationsApplications
Bulk distribution and streaming distributionBulk distribution and streaming distribution
Rate Allocation – Optimal Rate Allocation – Optimal solutionsolution
Problem definitionProblem definition A client <D, C, p> allocating rates for each page PA client <D, C, p> allocating rates for each page Pii
D to each server S D to each server Sii S to meet its download S to meet its download schedule p.schedule p.
The problem consists of determining a set of flows The problem consists of determining a set of flows rrijij, such that the inflow at any sink P, such that the inflow at any sink Pii (the (the aggregate download rate of page Paggregate download rate of page Pii from all from all servers) meets the demand p(Pservers) meets the demand p(Pii) (the download ) (the download rate required for Prate required for Pii by the schedule) without the by the schedule) without the outflow at any sources Soutflow at any sources Sii (the rate of transmission (the rate of transmission at server Sat server Sii) exceeding its supply |C) exceeding its supply |Cii| (the channel | (the channel bandwidth of Sbandwidth of Sii).).
A linear programming problemA linear programming problem
Rate Allocation – Feasible Rate Allocation – Feasible solutionsolution
Observations and FactsObservations and Facts Demand at each sink PDemand at each sink Pjj cannot always be cannot always be
met through its inflow pmet through its inflow pjj while while simultaneously restricting the outflow simultaneously restricting the outflow ii at at each source Seach source Sii to be no greater than its to be no greater than its supply |Csupply |Cii||
Simply speaking, it’s not always possible Simply speaking, it’s not always possible that client meets the schedule with the that client meets the schedule with the restriction of servers’ bandwidthrestriction of servers’ bandwidth
Rate Allocation – Feasible Rate Allocation – Feasible solutionsolution
Feasible solutionFeasible solution This optimization problem is to find a This optimization problem is to find a
schedule that minimizes the maximum schedule that minimizes the maximum cost of a clientcost of a client
Minimize max {CMinimize max {CPjPj(p(pjj), j = 1, 2, ….,|D|}), j = 1, 2, ….,|D|}
Subject to Subject to ii <= |C <= |Cii|, i=1,2,….,|S||, i=1,2,….,|S|
This problem can be solved as a This problem can be solved as a linearly linearly constrained mini-max optimizationconstrained mini-max optimization . .
SectionsSections
Parallel RetrievalParallel Retrieval Retrieving from multiple resourcesRetrieving from multiple resources
Rate AllocationRate Allocation Optimal bandwidth to minimize the Optimal bandwidth to minimize the
downloading timedownloading time Additive TransmissionAdditive Transmission
PET approach – lossy transmissionPET approach – lossy transmission ApplicationsApplications
Bulk distribution and streaming distributionBulk distribution and streaming distribution
Additive TransmissionAdditive Transmission
Problems during transmissionProblems during transmission Lossy network, some symbols may be Lossy network, some symbols may be
droppeddropped May transmit duplicate symbols from May transmit duplicate symbols from
multiple serversmultiple servers SolutionSolution
Priority Encoded Transmission (PET)Priority Encoded Transmission (PET)
Additive Transmission - PETAdditive Transmission - PET
PET ReviewPET Review Given a message of m symbols, a PET Given a message of m symbols, a PET
system produces n encoded symbols, where system produces n encoded symbols, where m out of the n encoded symbols can be used m out of the n encoded symbols can be used to reconstruct the message.to reconstruct the message.
Additive Transmission - PETAdditive Transmission - PET
PET as a solutionPET as a solution A server S encodes each page PA server S encodes each page Pjj into N into Njj
symbolssymbols Server S then constructs n packets of length Server S then constructs n packets of length
L by choosing kL by choosing kjj out of n out of njj(≤N(≤Njj) encoded ) encoded symbols per page Psymbols per page Pjj for each packet for each packet
Lr
rkLn
r
rn
Lr
r
Pn
j
jj
j
jj
j
j
j
;};||
max{
Additive Transmission - PETAdditive Transmission - PET
PET as a solutionPET as a solution Client should not merely be able to Client should not merely be able to
reconstruct page Preconstruct page Pjj from |P from |Pjj| distinct encoded | distinct encoded symbols, but also from |Psymbols, but also from |Pjj| distinct encoded | distinct encoded symbols received from multiple servers.symbols received from multiple servers.
This can be achieved by the client computing This can be achieved by the client computing NNjj and partitioning it into appropriately sized and partitioning it into appropriately sized regions for each server.regions for each server.
SectionsSections
Parallel RetrievalParallel Retrieval Retrieving from multiple resourcesRetrieving from multiple resources
Rate AllocationRate Allocation Optimal bandwidth to minimize the Optimal bandwidth to minimize the
downloading timedownloading time Additive TransmissionAdditive Transmission
PET approach – lossy transmissionPET approach – lossy transmission ApplicationsApplications
Bulk distribution and streaming distributionBulk distribution and streaming distribution
Applications – Applications – Bulk DistributionBulk Distribution
Bulk distributionBulk distribution Ideally, for client Ideally, for client
This can be achieved by choosing a schedule This can be achieved by choosing a schedule in which all pages finish downloading at time in which all pages finish downloading at time ttminmin
Thus, for bulk data distribution the client Thus, for bulk data distribution the client picks a schedule p picks a schedule p
||
||),(
||
1min C
PCDt
D
i i
||,.....,2,1,||
||||||)( ||
1min
DjP
PC
t
PPp D
i i
jjj
Applications – Applications – Bulk DistributionBulk Distribution
For infeasible solutionFor infeasible solution The total downloading time is determined by The total downloading time is determined by
the slowest or bottleneck page to downloadthe slowest or bottleneck page to download If the inflow (downloading rate) of page PIf the inflow (downloading rate) of page Pjj is x is xjj, ,
then Pthen Pjj can be downloaded in time |P can be downloaded in time |Pjj|/x|/xjj
=> The cost function for each page=> The cost function for each page
So we want to solve for every xSo we want to solve for every xjj
),(||
)( min CDtx
PxC
j
jjPj
Application – Application – Bulk DistributionBulk Distribution
ReviewReview This optimization problem is to find a This optimization problem is to find a
schedule that minimizes the maximum schedule that minimizes the maximum cost of a clientcost of a client
Minimize max {CMinimize max {CPjPj(p(pjj), j = 1, 2, ….,|D|}), j = 1, 2, ….,|D|}
Subject to Subject to ii <= |C <= |Cii|, i=1,2,….,|S||, i=1,2,….,|S|
This problem can be solved as a This problem can be solved as a linearly linearly constrained mini-max optimizationconstrained mini-max optimization . .
Applications – Applications – Bulk DistributionBulk Distribution
Consider the example beforeConsider the example before And And
The MinMax problem The MinMax problem can be formed ascan be formed as
Minimize max {2MB/rMinimize max {2MB/r1111, 2MB/(r, 2MB/(r1212+r+r2222), 2MB/r), 2MB/r2323}} Subject to constraints:Subject to constraints:
rr1111 + r + r1212 <= 200, <= 200,
rr2222 + r + r2323 <= 300, <= 300,
rr11+11+rr12+12+rr2222+r+r2323 <= 500, <= 500,
rr1111, r, r1212, r, r2222, r, r2323 >=0 >=0
Solution is rSolution is r1111 = 500/3, r = 500/3, r1212 = 100/3, r = 100/3, r2222 = 400/3, r = 400/3, r2323 = 500/3 = 500/3 or, x1 = x2 = x3 = 500/3or, x1 = x2 = x3 = 500/3
),(||
)( min CDtx
PxC
j
jjPj
P1P1 P2P2 P3P3
SS11
rr1111 rr1212 200200
SS22
rr2222 rr2323 300300
constant
Applications – Applications – Streaming Streaming DistributionDistribution
Streaming distributionStreaming distribution Assume asynchronous multicast is usedAssume asynchronous multicast is used Assume after beginning of download process, Assume after beginning of download process,
a client has to wait for time w before a client has to wait for time w before playbackplayback
Assume the playback rate is 1 symbol/unit Assume the playback rate is 1 symbol/unit timetime
Thus P1 is recoverable in time w, P2 in time Thus P1 is recoverable in time w, P2 in time w+|P1|,…., and in general Pw+|P1|,…., and in general Pjj in w + in w + |P|Pj-1j-1||
1
1||
||)( j
k k
jj
Pw
PPp
Applications – Applications – Streaming Streaming DistributionDistribution
Infeasible solution Infeasible solution When server rates are constrained, some When server rates are constrained, some
pages may take longer than p(Ppages may take longer than p(Pjj) to download. ) to download. This causes a longer delay before playback. ie. This causes a longer delay before playback. ie.
w. Therefore, the client has to wait for time w’ w. Therefore, the client has to wait for time w’ > w such that the download time for P> w such that the download time for Pjj becomes w’ + becomes w’ + |P|Pj-1j-1||
The cost function is just w’-wThe cost function is just w’-wwP
x
PPwPwwwxC
j
kk
j
jj
kk
j
kkjPj
1
0
1
0
1
0
||||
)||()||'(')(
Applications – Applications – Streaming Streaming DistributionDistribution
Consider the example beforeConsider the example before And And
The MinMax problem The MinMax problem can be formed ascan be formed as
Minimize max {2MB/rMinimize max {2MB/r1111, 2MB/(r, 2MB/(r1212+r+r2222)-2MB, 2MB/r)-2MB, 2MB/r2323-4MB}-4MB} Subject to constraints:Subject to constraints:
rr1111 + r + r1212 <= 200, <= 200,
rr2222 + r + r2323 <= 300, <= 300,
rr11+11+rr12+12+rr2222+r+r2323 <= 500, <= 500,
rr1111, r, r1212, r, r2222, r, r2323 >=0 >=0
Solution is rSolution is r1111 = 200, r = 200, r1212 = 0, r = 0, r2222 = 136, r = 136, r2323 = 68 = 68 or, x1=200, x2=136, x3=68 => w=t0=80, t1=118, t2=235, or, x1=200, x2=136, x3=68 => w=t0=80, t1=118, t2=235,
tt3838
wPx
PxC
j
kk
j
jjPj
1
0
||||
)(P1P1 P2P2 P3P3
SS11
rr1111 rr1212 200200
SS22
rr2222 rr2323 300300
constant
PerformancePerformance
Assuming file-sharing information is Assuming file-sharing information is availableavailable i.e. Location step is not necessaryi.e. Location step is not necessary
SetupsSetups 1 GB file divided into 100 pages1 GB file divided into 100 pages For bulk download, the goal is to download in the For bulk download, the goal is to download in the
shortest timeshortest time For streaming case, assume a 8000 seconds of 1 For streaming case, assume a 8000 seconds of 1
MB video.MB video. Randomly select servers from the entire listRandomly select servers from the entire list Randomly distribute documents to serversRandomly distribute documents to servers
PerformancePerformance
ParametersParameters Server slack (s) is the ratio of randomly Server slack (s) is the ratio of randomly
selected servers to the number of actual selected servers to the number of actual downloads initiated.downloads initiated.
i.e. to select N servers, we randomly choose sxN i.e. to select N servers, we randomly choose sxN servers and selected the N ones with most servers and selected the N ones with most bandwidthbandwidth
Page slack (s) is the ratio of pages of D Page slack (s) is the ratio of pages of D (duplicates) stored in these servers to the (duplicates) stored in these servers to the size of the document Dsize of the document D
The plot is the on average over 100 runsThe plot is the on average over 100 runs
Performance - AnalysisPerformance - Analysis
Downloading time shrunk by a factor Downloading time shrunk by a factor 3-7 on an average as the number of 3-7 on an average as the number of servers goes from 1 – 16servers goes from 1 – 16
For a given number of servers, the For a given number of servers, the performance increases with performance increases with increasing server slack s and page increasing server slack s and page slack pslack p
ConclusionsConclusions
Proposed a way to determine the optimal Proposed a way to determine the optimal priorities to enable a client to meet its priorities to enable a client to meet its scheduleschedule MinMax the cost functionMinMax the cost function Efficient download from multiple sources while Efficient download from multiple sources while
optimizing the bandwidth usage of serversoptimizing the bandwidth usage of servers Increased scalability and fault-tolerance Increased scalability and fault-tolerance
Used PET in a lossy network environment Used PET in a lossy network environment and avoid duplicated transmission and avoid duplicated transmission
Future Work - Future Work - Adaptive protocolAdaptive protocol
Adaptive protocolAdaptive protocol Static schedule vs. dynamic scheduleStatic schedule vs. dynamic schedule
Servers react to traffic/congestionsServers react to traffic/congestions In peer-to-peer system, peers arrive and leaveIn peer-to-peer system, peers arrive and leave
Adaptive protocolAdaptive protocol Clients re-compute priorities (schedule) periodically Clients re-compute priorities (schedule) periodically
based on measurements and send update messages based on measurements and send update messages back to the servers.back to the servers.
One of the server periodically initiating re-scheduling One of the server periodically initiating re-scheduling requests to all clientsrequests to all clients
Efficiency vs. overheadEfficiency vs. overhead
ReferenceReference
Ramaprabhu Janakiraman and Lihao Xu: Ramaprabhu Janakiraman and Lihao Xu: Efficient and Flexible Parallel Retrieval usinEfficient and Flexible Parallel Retrieval using Priority Encoded Transmission,g Priority Encoded Transmission, (to appear in) Proceedings of the 14th (to appear in) Proceedings of the 14th ACM International Workshop on Network ACM International Workshop on Network and Operating Systems Support for Digital and Operating Systems Support for Digital Audio and Video (ACM NOSSDAV 2004), Audio and Video (ACM NOSSDAV 2004), Kinsale, Ireland, June 2004 Kinsale, Ireland, June 2004