Presentation is loading. Please wait.

Presentation is loading. Please wait.

Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems Mugurel Ionut Andreica, Nicolae Tapus.

Similar presentations


Presentation on theme: "Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems Mugurel Ionut Andreica, Nicolae Tapus."— Presentation transcript:

1 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems Mugurel Ionut Andreica, Nicolae Tapus Politehnica University of Bucharest Computer Science Department

2 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 2 Summary Motivation Minimum Broadcast Time Strategy in Directed Tree Networks Minimizing Frequency Conversion Costs in Wireless Sensor Networks Multicasts Packet Scheduling and Ordering –Outgoing Packet Scheduling over Multiple TCP Streams –Minimum Cost Packet Reordering Time Constrained Path using a Minimum Cost Rechargeable Resource (Constrained) Bottleneck Paths (Trees) Conclusions

3 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 3 Motivation efficient communication – important in many domains (scientific computing, multimedia streaming, Grid file transfers) efficient content distribution (broadcast) strategies + communication scheduling techniques => important for efficient communication optimal offline techniques –of great theoretical interest –not applicable directly in a practical setting –first step towards efficient online (real-time) techniques –useful for performance evaluation of online techniques

4 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 4 Minimum Broadcast Time Strategy in Directed Tree Networks (1/4) directed tree root node -> need to broadcast content to the other nodes at each time step –each node who (already) received the content : sends the content to a node in its subtree (e.g. optical path) all simultaneous paths (the same time step) => vertex-disjoint applications to optical tree networks

5 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 5 Minimum Broadcast Time Strategy in Directed Tree Networks (2/4)

6 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 6 Minimum Broadcast Time Strategy in Directed Tree Networks (3/4) dynamic programming solution T min (u, step)=the minimum time required to broadcast the message in T(u)\(T(snd(u,1))U T(snd(u,2)) U … U T(snd(u, step))) –T(u)=the subtree of vertex u –snd(u,i)=the vertex which receives the message from vertex u at step i in the optimal strategy of broadcasting the message in T(u) (starting from u) step=0 (vertex=u) –binary search T min (u,0) –T=remaining time counter (initialized to the candidate value) –each son s(u,j) -> a state state(s(u,j)) (initially 0)

7 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 7 Minimum Broadcast Time Strategy in Directed Tree Networks (4/4) while (T>0) and (there are sons to consider): –consider the son s(u,x) with max. T min (s(u,x), state(s(u,x)) (if several, the one with the lexicographically max. sequence T min (s(u,x), j≥state(s(u,x))) –if (T>T min (s(u,x), state(s(u,x))) send content to s(u,x) desconsider s(u,x) from now in –else if (T=T min (s(u,x), state(s(u,x))) send message to snd(s(u,x), state(s(u,x))) state(s(u,x)) += 1 –else => the candidate value is too small –T-- step>0 (vertex=u) –send the message to snd(u,j) (1≤j≤step) => set state(s(u,x)) accordingly (or ignore s(u,x), if it received a message from u previously) –binary search T min (u,step) (only difference=different initial states for the sons s(u,*) + some sons ignored)

8 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 8 Minimizing Frequency Conversion Costs in Wireless Sensor Networks Multicasts multicast tree source vertex starts sending message on a frequency from a given set S (at most k frequencies) to the leaves (fixed receiving freq.) each node: –c(u,fin,fout)=the cost of converting the message from the (receiving) freq. fin to the (sending) freq. fout –can choose the sending frequency fixed source –dynamic programming: C min (u, fin, fout)=the minimum total cost for disseminating the data from u in T(u), if u receives the message on frequency fin and sends the message further on frequency fout => O(n·k 2 ) source can be selected arbitrarily –select any source : then run the algorithm above => O(n 2 ·k 2 ) –can do better: run the fixed source algo for a root r (bottom-up) “piggy-back” the changes to parent-son relationships (when a parent p is made the son of a previous son u, we keep it that way until we process all the vertices in T(u)) => O(n·k 2 ) overall (for all the sources)

9 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 9 Outgoing Packet Scheduling over Multiple TCP Streams m (identical) data packets n parallel TCP steams (sender -> destination) –stream i: A i packets per time unit + B i time units back-off (waiting time) objective: minimize time after which all the packets are sent when all parameters are (small) integers: dynamic programming solution –T min (k, c 0, …, c BM-1 )=the minimum time of sending k packets and the TCP stream used from (i+1) time units ago until i time units ago was c i (0≤i≤BM-1) –BM=max{B i } –2 (types of) options for each state (k, c0,..., cBM-1) wait: update T min (k, c 0 ’=0, c 1 ’=c 0, …, c i+1 ’=c i, …, c BM-1 ’=c BM-2 ) use an available TCP stream i to send more packets: update T min ( min{k+A i,m}, c 0 ’=i, c 1 ’=c 0, c 2 ’=c 1, …, c BM-1 ’=c BM-2 comparison against the “natural” greedy strategy –at each time step, send packets on an available TCP stream which can send the most packets => wait only if no TCP stream available (only forced waits) exhaustive testing: m=100, n=3, A i =0 to 4, B i =0 to 7 –10,227 cases (out of 42,875) => DP better than greedy –32,648 cases (out of 42,875) => DP = greedy

10 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 10 Minimum Cost Packet Reordering n packets, in the order: p(1),..., p(n) (in the receiving buffer) move them to the application buffer, in correct order (1,2,...,n) application buffer=linked-list => add a packet at the front or at the back (at any time, it contains a sequence of consecutive packets) move cost: c(i, pos(j, i-1)) –pos(j,i) denotes the position of packet j in receiving buffer after i moves were performed objective: minimize aggregate cost –aggregation function=sum or max C min (i,j)=the minimum aggregate cost of obtaining in the application buffer the sequence of packets j, j+1, …, j+i-1 after i steps => O(n 2 ) time to compute all these values C min (n,1)=the minimum aggregate cost

11 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 11 Time Constrained Path using a Minimum Cost Rechargeable Resource (un)directed graph G: each edge (u,v) => rc(u,v) and t(u,v) set of rechargeable resources: cap(i), cost(i) (cap(i) cost(i)<cost(j)) find a path from s to t with: –minimum cost rechargeable resource –total distance ≤ T max binary search the smallest index of a feasible resource feasibility test (index i): –(u,w) (0≤w≤cap(i)) : vertices of an expanded graph EG –directed edge between a pair (u 1, w 1 ) and (u 2, w 2 ) in EG edge (u 1,u 2 ) exists in G and w 2 =w 1 -rc(u 1,u 2 ) => length=t(u 1,u 2 ) charging_point(u 1 )=true, u 2 =u 1, w 2 >w 1 => length=tcharge(u,w 1,w 2 ) –shortest path from (s,cap(i)) to (t,*)

12 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 12 (Constrained) Bottleneck Paths (Trees) (un)directed network each edge (u,v): cap(u,v) and t(u,v) find a path P (from s to t), s.t. –total delay of the path≤T max –path capacity = as large as possible binary search the path capacity –ignore edges with cap. < Cap cand –compute shortest path using the remaining edges (check the length agains T max ) tree: source s + set of destinations D –objective: max. capacity + a) longest path ≤ T max b) sum of edge delays ≤ T max case a): the same algorithm; verify that shortest path to every destination ≤ T max case b): binary search + minimum spanning tree (on edges with cap(u,v)≥Cap cand ) can extend the solutions to the case where the capacities are monotonically non-increasing functions over time

13 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 13 Conclusions offline content delivery problems –broadcast in directed (optical) tree networks –multicast in wireless sensor networks –packet routing and ordering –optimal constrained paths and trees efficient algorithms for the discussed problems work – mostly theoretical in nature practical applications –on local parts of a (distributed) system –performance evaluation of online content delivery strategies

14 Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems 14 Thank You !


Download ppt "Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed Systems Mugurel Ionut Andreica, Nicolae Tapus."

Similar presentations


Ads by Google