Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission(2004) CMPT 886 Represented By: Lilong Shi.

Similar presentations


Presentation on theme: "Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission(2004) CMPT 886 Represented By: Lilong Shi."— Presentation transcript:

1 Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission(2004) CMPT 886 Represented By: Lilong Shi

2 Introduction Motivations Motivations Multiple servers Multiple servers Increase of scalability Increase of scalability Load-balancing by multiple servers Load-balancing by multiple servers Efficient multicast-based data distribution Efficient multicast-based data distribution Peer-to-peer systems Peer-to-peer systems Parallel downloading from multiple peers Parallel downloading from multiple peers

3 Problem and Existing Solutions Concern Concern Server: scalability and fault-tolerance Server: scalability and fault-tolerance Client: download rate and avoid duplicates from multiple servers Client: download rate and avoid duplicates from multiple servers Current Solutions Current Solutions Client requests disjoint portions Client requests disjoint portions - High cost - In P2P, no centralized control

4 Problem and Existing Solutions Current Solutions Current Solutions Encoded transmission Encoded transmission Server encodes the whole document Server encodes the whole document Client downloads enough encoded distinct data items that enables it to recover the original content Client downloads enough encoded distinct data items that enables it to recover the original content Disadvantage: Disadvantage: - high cost for encoding and decoding - No flexible access to structured document

5 Proposed Solution Goal Goal To achieve efficient downloads by coordinating the download process with each server in a manner that optimizes the servers’ capabilities with the clients’ requirement To achieve efficient downloads by coordinating the download process with each server in a manner that optimizes the servers’ capabilities with the clients’ requirement Solution Solution Parallel retrieval using priority encoded transmission Parallel retrieval using priority encoded transmission Flexibility Flexibility Efficiency Efficiency Loss-Resilience Loss-Resilience

6 Sections Parallel Retrieval Parallel Retrieval Retrieving from multiple resources Retrieving from multiple resources Rate Allocation Rate Allocation Optimal bandwidth to minimize the downloading time Optimal bandwidth to minimize the downloading time Additive Transmission Additive Transmission PET approach – lossy transmission PET approach – lossy transmission Applications Applications Bulk distribution and streaming distribution Bulk distribution and streaming distribution

7 Sections Parallel Retrieval Parallel Retrieval Retrieving from multiple resources Retrieving from multiple resources Rate Allocation Rate Allocation Optimal bandwidth to minimize the downloading time Optimal bandwidth to minimize the downloading time Additive Transmission Additive Transmission PET approach – lossy transmission PET approach – lossy transmission Applications Applications Bulk distribution and streaming distribution Bulk distribution and streaming distribution

8 Parallel Retrieval - The Abstract Model Notations: Notations: Symbols are data units of fixed size Symbols are data units of fixed size A channel C has a rate |C| symbols per unit time A channel C has a rate |C| symbols per unit time A page P of size |P| transmitted with rate r <= |C| A page P of size |P| transmitted with rate r <= |C| A client is described as A client is described as D is a document to be downloaded D is a document to be downloaded C is a channel available to the client C is a channel available to the client p is a schedule of pages in D, the download rate of each page p is a schedule of pages in D, the download rate of each page A server is described as A server is described as X is a set of pages stored in the server X is a set of pages stored in the server C is the channel available to the server C is the channel available to the server

9 Parallel Retrieval - The Abstract Model Download process of a client Download process of a client 3 phases: location, initiation, and transmission 3 phases: location, initiation, and transmission Step1 - Location Step1 - Location Not discussed in this paper Not discussed in this paper Assume client locates a set of servers for D Assume client locates a set of servers for D S = { : i = 1 to |S|} Each server S i can transmit at rate |C i | Each server S i can transmit at rate |C i |

10 Parallel Retrieval - The Abstract Model Step 2 – Initiation Step 2 – Initiation Each server S i sends a description to client Each server S i sends a description to client - L i contains a list of indices of every page P j  X i Based on the description and its schedule p, the client computes a rate vector R = {r ij } for each page at each server Based on the description and its schedule p, the client computes a rate vector R = {r ij } for each page at each server i is server ID, and j is page ID i is server ID, and j is page ID Client sends a req R i = {j, r ij } to server S i Client sends a req R i = {j, r ij } to server S i

11 Parallel Retrieval - The Abstract Model Step3 – Transmission Step3 – Transmission Each server S i, upon receiving a request R i, transmits a message M i on C i to the client. Each server S i, upon receiving a request R i, transmits a message M i on C i to the client. M i is encoded using PET, which will be discussed in the next section M i is encoded using PET, which will be discussed in the next section

12 Parallel Retrieval - The Abstract Model An example An 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 contains P1 and P2, S2 contains P2 and P3. are |C1| = 200 kbps, and |C2| = 300 kbps. S1 contains P1 and P2, S2 contains P2 and P3. A client with |C| = 500 kbps attempts to download D from both S1 and S2 with schedule p = A client with |C| = 500 kbps attempts to download D from both S1 and S2 with schedule p = P1P2P3 S1 r 11 r 12 200 S2 r 22 r 23 300

13 Parallel Retrieval - The Abstract Model Naïve solution Naïve solution S1 and S2 both split their bandwidths equally between their two pages, the aggregate download rates are 100kpbs for P1, 250 kbps for P2 and 150 kbps for P3. That is, Client sends request R1 = {(1, 100), (2, 100)} to S1, and R2 = {(2, 150),(3, 150)} to S2. The entire download time = 16000/100 = 160 seconds. S1 and S2 both split their bandwidths equally between their two pages, the aggregate download rates are 100kpbs for P1, 250 kbps for P2 and 150 kbps for P3. That is, Client sends request R1 = {(1, 100), (2, 100)} to S1, and R2 = {(2, 150),(3, 150)} to S2. The entire download time = 16000/100 = 160 seconds. Ideal solution Ideal solution 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 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 pages can be downloaded in optimal 96 secs 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 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 pages can be downloaded in optimal 96 secs

14 Parallel Retrieval - Solve the Model Problems to be solved Problems to be solved Rate Allocation: Rate Allocation: - During initiation, given descriptions from each server, and its schedule p, the client should compute a rate vector R that will enable it to meet its download goals. Information-Additive Transmission: Information-Additive Transmission: - During transmission, each server Si, by sending an appropriately encoded message Mi of its content Xi, should enable the client to gather messages from all serves and fulfill its download schedule p for the entire document D

15 Sections Parallel Retrieval Parallel Retrieval Retrieving from multiple resources Retrieving from multiple resources Rate Allocation Rate Allocation Optimal bandwidth to minimize the downloading time Optimal bandwidth to minimize the downloading time Additive Transmission Additive Transmission PET approach – lossy transmission PET approach – lossy transmission Applications Applications Bulk distribution and streaming distribution Bulk distribution and streaming distribution

16 Rate Allocation – Optimal solution Problem definition Problem definition A client allocating rates for each page P i  D to each server S i  S to meet its download schedule p. A client allocating rates for each page P i  D to each server S i  S to meet its download schedule p. The problem consists of determining a set of flows r ij, such that the inflow at any sink P i (the aggregate download rate of page P i from all servers) meets the demand p(P i ) (the download rate required for P i by the schedule) without the outflow at any sources S i (the rate of transmission at server S i ) exceeding its supply |C i | (the channel bandwidth of S i ). The problem consists of determining a set of flows r ij, such that the inflow at any sink P i (the aggregate download rate of page P i from all servers) meets the demand p(P i ) (the download rate required for P i by the schedule) without the outflow at any sources S i (the rate of transmission at server S i ) exceeding its supply |C i | (the channel bandwidth of S i ). A linear programming problem A linear programming problem

17 Rate Allocation – Feasible solution Observations and Facts Observations and Facts Demand at each sink P j cannot always be met through its inflow p j while simultaneously restricting the outflow  i at each source S i to be no greater than its supply |C i | Demand at each sink P j cannot always be met through its inflow p j while simultaneously restricting the outflow  i at each source S i to be no greater than its supply |C i | Simply speaking, it’s not always possible that client meets the schedule with the restriction of servers’ bandwidth Simply speaking, it’s not always possible that client meets the schedule with the restriction of servers’ bandwidth

18 Rate Allocation – Feasible solution Feasible solution Feasible solution This optimization problem is to find a schedule that minimizes the maximum cost of a client This optimization problem is to find a schedule that minimizes the maximum cost of a client Minimize max {C Pj (p j ), j = 1, 2, ….,|D|} Minimize max {C Pj (p j ), j = 1, 2, ….,|D|} Subject to  i <= |C i |, i=1,2,….,|S| Subject to  i <= |C i |, i=1,2,….,|S| This problem can be solved as a linearly constrained mini-max optimization.

19 Sections Parallel Retrieval Parallel Retrieval Retrieving from multiple resources Retrieving from multiple resources Rate Allocation Rate Allocation Optimal bandwidth to minimize the downloading time Optimal bandwidth to minimize the downloading time Additive Transmission Additive Transmission PET approach – lossy transmission PET approach – lossy transmission Applications Applications Bulk distribution and streaming distribution Bulk distribution and streaming distribution

20 Additive Transmission Problems during transmission Problems during transmission Lossy network, some symbols may be dropped Lossy network, some symbols may be dropped May transmit duplicate symbols from multiple servers May transmit duplicate symbols from multiple servers Solution Solution Priority Encoded Transmission (PET) Priority Encoded Transmission (PET)

21 Additive Transmission - PET PET Review PET Review Given a message of m symbols, a PET system produces n encoded symbols, where m out of the n encoded symbols can be used to reconstruct the message. Given a message of m symbols, a PET system produces n encoded symbols, where m out of the n encoded symbols can be used to reconstruct the message.

22 Additive Transmission - PET PET as a solution PET as a solution A server S encodes each page P j into N j symbols A server S encodes each page P j into N j symbols Server S then constructs n packets of length L by choosing k j out of n j (≤N j ) encoded symbols per page P j for each packet Server S then constructs n packets of length L by choosing k j out of n j (≤N j ) encoded symbols per page P j for each packet

23 Additive Transmission - PET PET as a solution PET as a solution Client should not merely be able to reconstruct page P j from |P j | distinct encoded symbols, but also from |P j | distinct encoded symbols received from multiple servers. Client should not merely be able to reconstruct page P j from |P j | distinct encoded symbols, but also from |P j | distinct encoded symbols received from multiple servers. This can be achieved by the client computing N j and partitioning it into appropriately sized regions for each server. This can be achieved by the client computing N j and partitioning it into appropriately sized regions for each server.

24 Sections Parallel Retrieval Parallel Retrieval Retrieving from multiple resources Retrieving from multiple resources Rate Allocation Rate Allocation Optimal bandwidth to minimize the downloading time Optimal bandwidth to minimize the downloading time Additive Transmission Additive Transmission PET approach – lossy transmission PET approach – lossy transmission Applications Applications Bulk distribution and streaming distribution Bulk distribution and streaming distribution

25 Applications – Bulk Distribution Bulk distribution Bulk distribution Ideally, for client Ideally, for client This can be achieved by choosing a schedule in which all pages finish downloading at time t min This can be achieved by choosing a schedule in which all pages finish downloading at time t min Thus, for bulk data distribution the client picks a schedule p Thus, for bulk data distribution the client picks a schedule p

26 Applications – Bulk Distribution For infeasible solution For infeasible solution The total downloading time is determined by the slowest or bottleneck page to download The total downloading time is determined by the slowest or bottleneck page to download If the inflow (downloading rate) of page P j is x j, then P j can be downloaded in time |P j |/x j If the inflow (downloading rate) of page P j is x j, then P j can be downloaded in time |P j |/x j => The cost function for each page => The cost function for each page So we want to solve for every x j So we want to solve for every x j

27 Application – Bulk Distribution Review Review This optimization problem is to find a schedule that minimizes the maximum cost of a client This optimization problem is to find a schedule that minimizes the maximum cost of a client Minimize max {C Pj (p j ), j = 1, 2, ….,|D|} Minimize max {C Pj (p j ), j = 1, 2, ….,|D|} Subject to  i <= |C i |, i=1,2,….,|S| Subject to  i <= |C i |, i=1,2,….,|S| This problem can be solved as a linearly constrained mini-max optimization.

28 Applications – Bulk Distribution Consider the example before Consider the example before And And The MinMax problem The MinMax problem can be formed as can be formed as Minimize max {2MB/r 11, 2MB/(r 12 +r 22 ), 2MB/r 23 } Minimize max {2MB/r 11, 2MB/(r 12 +r 22 ), 2MB/r 23 } Subject to constraints: Subject to constraints: r 11 + r 12 <= 200, r 11 + r 12 <= 200, r 22 + r 23 <= 300, r 22 + r 23 <= 300, r 11+ r 12+ r 22 +r 23 <= 500, r 11+ r 12+ r 22 +r 23 <= 500, r 11, r 12, r 22, r 23 >=0 r 11, r 12, r 22, r 23 >=0 Solution is r 11 = 500/3, r 12 = 100/3, r 22 = 400/3, r 23 = 500/3 or, x1 = x2 = x3 = 500/3 or, x1 = x2 = x3 = 500/3P1P2P3S1 r 11 r 12 200 S2 r 22 r 23 300 constant

29 Applications – Streaming Distribution Streaming distribution Streaming distribution Assume asynchronous multicast is used Assume asynchronous multicast is used Assume after beginning of download process, a client has to wait for time w before playback Assume after beginning of download process, a client has to wait for time w before playback Assume the playback rate is 1 symbol/unit time Assume the playback rate is 1 symbol/unit time Thus P1 is recoverable in time w, P2 in time w+|P1|,…., and in general P j in w +  |P j-1 | Thus P1 is recoverable in time w, P2 in time w+|P1|,…., and in general P j in w +  |P j-1 |

30 Applications – Streaming Distribution Infeasible solution Infeasible solution When server rates are constrained, some pages may take longer than p(P j ) to download. When server rates are constrained, some pages may take longer than p(P j ) to download. This causes a longer delay before playback. ie.  w. Therefore, the client has to wait for time w’ > w such that the download time for P j becomes w’ +  |P j-1 | This causes a longer delay before playback. ie.  w. Therefore, the client has to wait for time w’ > w such that the download time for P j becomes w’ +  |P j-1 | The cost function is just w’-w The cost function is just w’-w

31 Applications – Streaming Distribution Consider the example before Consider the example before And And The MinMax problem The MinMax problem can be formed as can be formed as Minimize max {2MB/r 11, 2MB/(r 12 +r 22 )-2MB, 2MB/r 23 -4MB} Minimize max {2MB/r 11, 2MB/(r 12 +r 22 )-2MB, 2MB/r 23 -4MB} Subject to constraints: Subject to constraints: r 11 + r 12 <= 200, r 11 + r 12 <= 200, r 22 + r 23 <= 300, r 22 + r 23 <= 300, r 11+ r 12+ r 22 +r 23 <= 500, r 11+ r 12+ r 22 +r 23 <= 500, r 11, r 12, r 22, r 23 >=0 r 11, r 12, r 22, r 23 >=0 Solution is r 11 = 200, r 12 = 0, r 22 = 136, r 23 = 68 or, x1=200, x2=136, x3=68 => w=t0=80, t1=118, t2=235,  t  38 or, x1=200, x2=136, x3=68 => w=t0=80, t1=118, t2=235,  t  38P1P2P3S1 r 11 r 12 200 S2 r 22 r 23 300 constant

32 Performance Assuming file-sharing information is available Assuming file-sharing information is available i.e. Location step is not necessary i.e. Location step is not necessary Setups Setups 1 GB file divided into 100 pages 1 GB file divided into 100 pages For bulk download, the goal is to download in the shortest time For bulk download, the goal is to download in the shortest time For streaming case, assume a 8000 seconds of 1 MB video. For streaming case, assume a 8000 seconds of 1 MB video. Randomly select servers from the entire list Randomly select servers from the entire list Randomly distribute documents to servers Randomly distribute documents to servers

33 Performance Parameters Parameters Server slack (s) is the ratio of randomly selected servers to the number of actual downloads initiated. Server slack (s) is the ratio of randomly selected servers to the number of actual downloads initiated. i.e. to select N servers, we randomly choose sxN servers and selected the N ones with most bandwidth i.e. to select N servers, we randomly choose sxN servers and selected the N ones with most bandwidth Page slack (s) is the ratio of pages of D (duplicates) stored in these servers to the size of the document D Page slack (s) is the ratio of pages of D (duplicates) stored in these servers to the size of the document D The plot is the on average over 100 runs The plot is the on average over 100 runs

34 Performance - Bulk

35 Performance - Streaming

36 Performance - Analysis Downloading time shrunk by a factor 3-7 on an average as the number of servers goes from 1 – 16 Downloading time shrunk by a factor 3-7 on an average as the number of servers goes from 1 – 16 For a given number of servers, the performance increases with increasing server slack s and page slack p For a given number of servers, the performance increases with increasing server slack s and page slack p

37 Conclusions Proposed a way to determine the optimal priorities to enable a client to meet its schedule Proposed a way to determine the optimal priorities to enable a client to meet its schedule MinMax the cost function MinMax the cost function Efficient download from multiple sources while optimizing the bandwidth usage of servers Efficient download from multiple sources while optimizing the bandwidth usage of servers Increased scalability and fault-tolerance Increased scalability and fault-tolerance Used PET in a lossy network environment and avoid duplicated transmission Used PET in a lossy network environment and avoid duplicated transmission

38 Future Work - Adaptive protocol Adaptive protocol Adaptive protocol Static schedule vs. dynamic schedule Static schedule vs. dynamic schedule Servers react to traffic/congestions Servers react to traffic/congestions In peer-to-peer system, peers arrive and leave In peer-to-peer system, peers arrive and leave Adaptive protocol Adaptive protocol Clients re-compute priorities (schedule) periodically based on measurements and send update messages back to the servers. Clients re-compute priorities (schedule) periodically based on measurements and send update messages back to the servers. One of the server periodically initiating re-scheduling requests to all clients One of the server periodically initiating re-scheduling requests to all clients Efficiency vs. overhead Efficiency vs. overhead

39 Reference Ramaprabhu Janakiraman and Lihao Xu: Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission, (to appear in) Proceedings of the 14th ACM International Workshop on Network and Operating Systems Support for Digital Audio and Video (ACM NOSSDAV 2004), Kinsale, Ireland, June 2004 Ramaprabhu Janakiraman and Lihao Xu: Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission, (to appear in) Proceedings of the 14th ACM International Workshop on Network and Operating Systems Support for Digital Audio and Video (ACM NOSSDAV 2004), Kinsale, Ireland, June 2004 Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission, Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission,


Download ppt "Efficient and Flexible Parallel Retrieval using Priority Encoded Transmission(2004) CMPT 886 Represented By: Lilong Shi."

Similar presentations


Ads by Google