mugurel ionut andreica, nicolae tapus politehnica university of bucharest

Click here to load reader

Post on 01-Jan-2016




2 download

Embed Size (px)


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. Summary. Motivation - PowerPoint PPT Presentation


  • Offline Algorithmic Techniques for Several Content Delivery Problems in Some Restricted Types of Distributed SystemsMugurel Ionut Andreica, Nicolae TapusPolitehnica University of BucharestComputer Science Department

  • SummaryMotivationMinimum Broadcast Time Strategy in Directed Tree NetworksMinimizing Frequency Conversion Costs in Wireless Sensor Networks MulticastsPacket Scheduling and OrderingOutgoing Packet Scheduling over Multiple TCP StreamsMinimum Cost Packet ReorderingTime Constrained Path using a Minimum Cost Rechargeable Resource(Constrained) Bottleneck Paths (Trees)Conclusions

  • Motivationefficient communication important in many domains (scientific computing, multimedia streaming, Grid file transfers)efficient content distribution (broadcast) strategies + communication scheduling techniques => important for efficient communicationoptimal offline techniquesof great theoretical interestnot applicable directly in a practical settingfirst step towards efficient online (real-time) techniquesuseful for performance evaluation of online techniques

  • Minimum Broadcast Time Strategy in Directed Tree Networks (1/4)directed treeroot node -> need to broadcast content to the other nodesat each time stepeach 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-disjointapplications to optical tree networks

  • Minimum Broadcast Time Strategy in Directed Tree Networks (2/4)

  • Minimum Broadcast Time Strategy in Directed Tree Networks (3/4)dynamic programming solutionTmin(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 usnd(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 Tmin(u,0)T=remaining time counter (initialized to the candidate value)each son s(u,j) -> a state state(s(u,j)) (initially 0)

  • 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. Tmin(s(u,x), state(s(u,x)) (if several, the one with the lexicographically max. sequence Tmin(s(u,x), jstate(s(u,x)))if (T>Tmin(s(u,x), state(s(u,x)))send content to s(u,x)desconsider s(u,x) from now inelse if (T=Tmin(s(u,x), state(s(u,x)))send message to snd(s(u,x), state(s(u,x)))state(s(u,x)) += 1else => the candidate value is too smallT--step>0 (vertex=u)send the message to snd(u,j) (1jstep) => set state(s(u,x)) accordingly (or ignore s(u,x), if it received a message from u previously)binary search Tmin(u,step) (only difference=different initial states for the sons s(u,*) + some sons ignored)

  • Minimizing Frequency Conversion Costs in Wireless Sensor Networks Multicastsmulticast treesource 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. foutcan choose the sending frequencyfixed sourcedynamic programming: Cmin(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(nk2)source can be selected arbitrarilyselect any source : then run the algorithm above => O(n2k2)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(nk2) overall (for all the sources)

  • Outgoing Packet Scheduling over Multiple TCP Streamsm (identical) data packetsn parallel TCP steams (sender -> destination)stream i: Ai packets per time unit + Bi time units back-off (waiting time)objective: minimize time after which all the packets are sentwhen all parameters are (small) integers: dynamic programming solutionTmin(k, c0, , cBM-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 ci (0iBM-1) BM=max{Bi}2 (types of) options for each state (k, c0, ..., cBM-1)wait: update Tmin(k, c0=0, c1=c0, , ci+1=ci, , cBM-1=cBM-2)use an available TCP stream i to send more packets: update Tmin( min{k+Ai,m}, c0=i, c1=c0, c2=c1, , cBM-1=cBM-2 comparison against the natural greedy strategyat 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, Ai=0 to 4, Bi=0 to 710,227 cases (out of 42,875) => DP better than greedy32,648 cases (out of 42,875) => DP = greedy

  • Minimum Cost Packet Reorderingn 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 performedobjective: minimize aggregate costaggregation function=sum or maxCmin(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(n2) time to compute all these valuesCmin(n,1)=the minimum aggregate cost

  • 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) length=t(u1,u2)charging_point(u1)=true, u2=u1, w2>w1 => length=tcharge(u,w1,w2)shortest path from (s,cap(i)) to (t,*)

  • (Constrained) Bottleneck Paths (Trees)(un)directed networkeach edge (u,v): cap(u,v) and t(u,v)find a path P (from s to t), delay of the pathTmaxpath capacity = as large as possiblebinary search the path capacityignore edges with cap. < Capcandcompute shortest path using the remaining edges (check the length agains Tmax)tree: source s + set of destinations Dobjective: max. capacity +a) longest path Tmaxb) sum of edge delays Tmaxcase a): the same algorithm; verify that shortest path to every destination Tmaxcase b): binary search + minimum spanning tree (on edges with cap(u,v)Capcand)can extend the solutions to the case where the capacities are monotonically non-increasing functions over time

  • Conclusionsoffline content delivery problemsbroadcast in directed (optical) tree networksmulticast in wireless sensor networkspacket routing and orderingoptimal constrained paths and treesefficient algorithms for the discussed problemswork mostly theoretical in naturepractical applicationson local parts of a (distributed) systemperformance evaluation of online content delivery strategies

  • Thank You !