1 / 64

Placement of Web-Server Proxies with Consideration of Read and Update Operations on the Internet

Placement of Web-Server Proxies with Consideration of Read and Update Operations on the Internet. Parallel Programming Team 6 B92902039 莊謹譽 B92902054 李苡嬋 B92902092 張又仁. Outline. Introduction Problem Formulation Optimal Placement of k Proxies Optimal Number of Proxies. Outline.

marcel
Download Presentation

Placement of Web-Server Proxies with Consideration of Read and Update Operations on the Internet

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Placement of Web-Server Proxies with Consideration of Read and Update Operations on the Internet Parallel Programming Team 6 B92902039莊謹譽 B92902054李苡嬋 B92902092張又仁

  2. Outline • Introduction • Problem Formulation • Optimal Placement of k Proxies • Optimal Number of Proxies

  3. Outline • Introduction • Problem Formulation • Optimal Placement of k Proxies • Optimal Number of Proxies

  4. Introduction (1/3) • Caching – alleviate traffic congestion & improve the response time of Web servers. • Client-based: • cache the file recently accessed by the clients • Server-based: • server proxy stores replicated data, acts as a “front end” of this Web server to its client.

  5. Introduction (2/3) • Server-based caching: • advantages: • improve client response times • Distribute the workload of the Web server • reduce the network traffic • disadvantages: • need to update data at the proxies. cost up.

  6. Introduction (3/3) • Two subproblems discussed: • Given k proxies, find the optimal placement of the proxies in the network • For an unconstrained number, find the optimal number of proxies and their placement. • such that the overall access cost (read & update) is minimized. • using dynamic programming.

  7. Outline • Introduction • Problem Formulation • Optimal Placement of k Proxies • Optimal Number of Proxies

  8. Notation (1/3) • s: server. • w: the update frequency of server. • r(v): the access frequency to s of node v. • SPT: the shortest path tree. • the leaf nodes of the SPT are only proxies. • only one copy of the data traverses over it. • Multicast vs.Unicast

  9. SPT for updating proxies SPT Ts

  10. Notation (2/3) • : the path connecting u & v in Ts. • : distance function = • : the first proxy that is met while going from client v to s along tree Ts. • : the hit ratio of a proxy.

  11. Equation (for read) • The cost for client v to access s • Total cost for all clients in Ts to access s ---- equation for reads

  12. Notation (3/3) • P: a set of proxies in the network • SPT(s,P): the SPT rooted from s

  13. Equation (for update) • The overall cost to update the proxies: ---- equation for update

  14. Equation (total cost) • Total cost of all clients in Ts to access s with a set of proxies P: C(Ts,P) = (read) (update)

  15. Outline • Introduction • Problem Formulation • Optimal Placement of k Proxies • Optimal Number of Proxies

  16. Optimal Placement of k Proxies • Notation: • Tv • u is to the left of v

  17. Optimal Placement of k Proxies • Notation: • Lu,v = {x: x∈ Tv and x is to the left of u } • Ru,v = {x: x ∈ Tvand x Tu∪Lu,v} • Lu,v,x = {y: y∈ Rv,u and y is to the left of x }

  18. Optimal Placement of k Proxies

  19. Optimal Placement of k Proxies This term is irrelevant to the proxy placement P.

  20. Optimal Placement of k Proxies Optimal Placement of k Proxies • Define the placement of proxies recursively. • Server is regarded as one of the proxy • C(Tv,k) (or C*(Rv,u,k)) is the minimal access cost by placing k proxies in Tv (or Rv,u)

  21. Optimal Placement of k Proxies • When t = 1

  22. Optimal Placement of k Proxies • When t > 1, we can always find a node u, u ∈ Tv and uv, which satisfies: • That is: C( Tv, t ) = C( Lv,u ) + C( Tu, t’ ) + C*( Rv,u, t - t’ ) + w*d( v,u ) • Where constant ! when u,v given

  23. Optimal Placement of k Proxies • The recursive equation:

  24. Optimal Placement of k Proxies • Theorem 1. Equation (4) and (5) are correct. • Proof. • Prove equation (5). • When t = 1, trivially correct. • When t > 1, define C*’(Rv,u,t). C*’( Rv,u, t ) = the right-hand side of formula (5), i.e., To prove: C*( Rv,u, t ) = C*’( Rv,u,t )

  25. Optimal Placement of k Proxies • C*(Rv,u, t) C*’( Rv,u, t) (1/2) • Let Popt: optimal placement in Rv,u → C*( Rv,u, t ) = C*( Rv,u, Popt ) • Popt is known find a proxy node x in Rv,u, such that:

  26. Optimal Placement of k Proxies • C*(Rv,u, t) C*’( Rv,u, t) (2/2) • C*( Rv,u, Popt ) = C( Lv,u,x ) + C( Tx, Popt Tx ) + C*( Rv,x, Popt Ru,x ) + w*d(x, (u,v) ) • Since the sub-placement may not be optimal • Substituing these into (7)

  27. Optimal Placement of k Proxies • C*(Rv,u, t) C*’( Rv,u, t) (1/2) • Find a x, such that: • Lv,u,x has no proxy. • Tx has a placement with t’ proxies. • Rv,x has a placement with t-t’ proxies. • See their union • : a t proxies placement in Rv,u but may not be optimal

  28. Optimal Placement of k Proxies • C*(Rv,u, t) C*’( Rv,u, t) (2/2) • x and t’ are arbitrary value

  29. Optimal Placement of k Proxies

  30. Algorithm 1 Case 0 • Case 0: return (computed) Initialize Case 1 Case 2 • Case 1: only one proxy • Case 2: recursion of eq. (4)

  31. Algorithm 1 – complexity • C[ Tv, t ] : 2-d array ( n*k ) C*[ Rv,u, t ] : 3-d array ( n*n*k ) n times k times constant

  32. Outline • Introduction • Problem Formulation • Optimal Placement of k Proxies • Optimal Number of Proxies

  33. Optimal Number of Proxies • Let P be a set of proxies placed in Tv ( the size of P is unknown ) note: v is always a proxy.

  34. Optimal Number of Proxies • : no poxy placed in Tv except v • : some proxies placed in Tv • Obviously,

  35. Optimal Number of Proxies • Consider : • when there are proxies other than v in Tv, we can always find a node u, uTv, uv, which satisfies: • a proxy is placed at u; • no proxy is placed in Lv,u ( Lv,u could be empty ) • No proxy is placed in • The cost for updating proxy node u is d(u,v) • Tv is partitioned into Lv,u, Tu, and Rv,u

  36. Optimal Number of Proxies • Thus we have • Where • For all possible dividing point u:

  37. Optimal Number of Proxies (11)

  38. Optimal Placement of k Proxies • Theorem 3.Equation (10) and (11) are correct. • Proof. • Prove equation (11). • From definition in (11), (12)

  39. Optimal Number of Proxies • Comparing (11) with (12) • We need to prove: • Prove and

  40. Optimal Number of Proxies • Prove (1/2) • Let Poptbe the optimal placement in Rv,u, that is: • Popt is known, find the proxy node x satisfies: • The cost for updating proxy x is • Rv,u is partitioned into three parts by x: • Lv,u,x, Tx, and Rv,x

  41. Optimal Number of Proxies • Prove (2/2)

  42. Optimal Number of Proxies • Prove (1/2) • For any x Rv,u, • : optimal placement in Tv • : optimal placement in Rv,x • Consider their union • : a placement in Rv,u, but may not be optimal

  43. Optimal Number of Proxies • Prove (2/2) • x is an arbitray value

  44. Optimal Number of Proxies

  45. Optimal Number of Proxies

  46. Optimal Number of Proxies n entries n*n entries n times

  47. A numerical example • Update frequency : 12

  48. Simulation Setup • Inet topology generator, • http://topology.eecs.umich.edu/inet/ • Default n = 3037 • r(v) randomly generated in [0,100] • w : number of update operation • α : read-write ratio

  49. Performance comparisons • Traffic reduction ratio • 3 algorithm: • Greedy • Optimal • Random

  50. Performance comparisons (R vs. k) • α = 0 • Difference between opt and greedy usually within 10% • R rises sharply at a small number of proxies • R does not change much as the access frequency changes.

More Related