140 likes | 232 Views
Decision Optimization Techniques for Efficient Delivery of Multimedia Streams. Mugurel Ionut Andreica , Nicolae Tapus Politehnica University of Bucharest, Computer Science & Engineering Department. Summary. Motivation Context Improving Heuristics based on Conflict Graphs
E N D
Decision Optimization Techniques for Efficient Delivery of Multimedia Streams Mugurel Ionut Andreica, Nicolae Tapus Politehnica University of Bucharest, Computer Science & Engineering Department
Summary • Motivation • Context • Improving Heuristics based on Conflict Graphs • Online Analysis of Traffic (Self-) Similarity • Kth Best Resource Selection • Conclusions & Future Work
Motivation • QoS guarantees for multimedia streams – strictly necessary • minimum required bandwidth • (more or less) constant latency • reduced jitter • well-established QoS improvement solution • bandwidth reservation mechanism • requires: • new business model from ISPs • lease network links for short(er) durations, but providing guaranteed end-to-end bandwidths • (currently: flat fee lease of constant upload/download bandwidth links; not end-to-end)
Context - Data Transfer Scheduling Model (1/2) • one (centralized) data transfer manager • knows the network topology (structure) • has full control over the network • many data transfer requests • duration (D) (non-preemptive = a contiguous time interval) • earliest start time (ES) • latest finish time (LF) • minimum required bandwidth (Bmin) • source (src) • destination (dst) • profit (pr)
Context - Data Transfer Scheduling Model (2/2) • request handling modes • batch mode (multiple requests at a time) • conflicts between the requests in the same batch are modeled by using conflict (hyper-)graphs • heuristic algorithms are used in order to (repeatedly) compute maximum weight (profit) independent sets • online mode (1 request at a time) • handle the requests in the order of arrival • verify if the request can be granted (satisfying the request’s constraints/parameters) • grant the request (resource allocation/reservation) or reject it • interpretation of time: time slot-based (discrete) or event-based (continuous) • low response times • a complex strategy would take too long • even a simple strategy may take too long! => need some efficient techniques (data structures)
Context - Data Transfer Scheduling Framework • multiple (interconnected) modules
Improving Heuristics based on Conflict Graphs (1/2) • pairs of data transfer requests may be in conflict • they require exclusive access to the same network resources, during overlapping time intervals • construct a conflict graph CG • compute a maximum weight independent set (MWIS) in CG • i.e. select a set of non-conflicting requests with maximum total weight
Improving Heuristics based on Conflict Graphs (2/2) • computing MWIS : NP-hard • heuristics based on repeated vertex extraction • in case of unit weights: as long as CG contains any more edges (conflicts): • extract (remove) from CG the vertex with the largest degree • algorithm for implementing the above heuristic in O(N+M) time • N=number of vertices in CG • M=number of edges in CG • extensions to other types of repeated vertex extraction heuristics (e.g. minimum degree, maximum number of already extracted neighbors, etc.)
Online Analysis of Traffic(Self-) Similarity (1/3) • 2 arrays tr1 and tr2 of T values (one value per time slot) • a function eval(x,y) (e.g. |x-y|) • an aggregate function aggf (e.g. +,max) • answer efficiently the following types of queries: • Q(a,b,len)=aggf(eval(tr1(a+i), tr2(b+i))) (0≤i≤len-1) • self-similarity queries when tr1=tr2 • such queries: useful for traffic analysis & traffic pattern detection
Online Analysis of Traffic(Self-) Similarity (2/3) • we divide the T time slots into T/k groups of k time slots each (the last group may be shorter) • group j: time slot interval [left(j),right(j)] • nslots(j)=right(j)-left(j)+1 • compute Tagg(i,j)=eval(tr(1)(i+q), tr(2)(left(j)+q)) (0≤q≤nslots(j)-1; 1≤i≤T-nslots(j)+1) => O(T2) preprocessing
Online Analysis of Traffic(Self-) Similarity (3/3) • Q(a,b,len): can answer in O(1) time for an interval of approx. k slots => O(k+T/k) • can also allow updates: change the value of tr1(i) (tr2(i)) to v • O(T·k) per update (if aggf is not invertible) • O(T) time if aggf has an inverse
Kth Best Resource Selection • each resource (e.g. network path) has d features (e.g. bandwidth, latency, etc.) => modelled as a d-dimensional point • plus a weight (e.g. how valuable it is) • select the Kth largest weight among all the resources whose d features belong to an orthogonal range • we do not want to always allocate the best resource • use a multi-dimensional data structure (for efficient ortogonal range counting queries) + binary search the Kth weight
Conclusions & Future Work • introduced • data transfer scheduling model • data transfer scheduling framework • developed techniques for • improving heuristics based on clonflic graphs • online analysis of traffic data • resource selection (and allocation) • future work • large-scale testing of the proposed techniques • the data transfer scheduling framework is already implemented • develop new algorithms for scheduling multimedia streams