Decision Optimization Techniques for Efficient Delivery of Multimedia Streams Mugurel Ionut Andreica , Nicolae Tapus Politehnica University of Bucharest, Computer Science & Engineering Department
Jan 15, 2016
Decision Optimization Techniques for Efficient Delivery of Multimedia
Streams
Mugurel Ionut Andreica, Nicolae Tapus
Politehnica University of Bucharest,
Computer Science & Engineering Department
2
Summary
• Motivation
• Context
• Improving Heuristics based on Conflict Graphs
• Online Analysis of Traffic (Self-) Similarity
• Kth Best Resource Selection
• Conclusions & Future Work
3
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)
4
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)
5
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)
6
Context - Data Transfer Scheduling Framework
• multiple (interconnected) modules
7
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
8
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.)
9
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
10
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
11
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
12
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
13
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
14
Thank You !