Upload
henry-hughes
View
14
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Adaptive QoS Control Based on Benefit Optimization for Video Servers Providing Differential Services Ing-Ray Chen, Sheng-Yun Li, I-Ling Yen Presented by YunXian Zhou Yili Zhang. Introduction. Issue: video streaming over Internet the deployment of broadband technologies and services. - PowerPoint PPT Presentation
Citation preview
Adaptive QoS Control Based on Benefit Optimization for Video Servers
Providing Differential Services
Ing-Ray Chen, Sheng-Yun Li, I-Ling Yen
Presented by
YunXian ZhouYili Zhang
Introduction
Issue: video streaming over Internet
the deployment of broadband technologies and services
Introduction (cont)
Goal: use efficient QoS control schemes explore multiplexing benefits in bandwidth
management deal with the exponential growth of users
demanding streaming services over Internet
Introduction (cont)
Focus on the server end: optimize disk bandwidth allocations by means of admission control and data
placement schemes Goal reduce the overall cost per request maximize the maximum number of
concurrent requests with QoS guarantees
Introduction (cont)
Other research efforts: deal with mixed workloads by means of admission control and disk
scheduling mechanisms
Literature Review Lee and Sabata: benefit functions and resource demand functions
associated with application requests each application has a dimension of QoS
requirements and its "benefit" values use benefit optimization to design QoS admission
control Key design: a portion of the resources is reserved
to serve requests with degraded QoS.
Literature Review (cont)
Shortcoming: no dynamic resource reservation scheme for a
maximized system benefit require each application to supply a benefit
function based on QoS levels of the system.
Literature Review (cont)Cheng et al.: priority-based admission control algorithms benefit value associated with each user based on
QoS offered by server introduce "penalty" for rejections high priority requests served with highest QoS
level low priority requests can have a range of QoS
levels for flexibility.
This paper A new periodic greedy reservation
algorithm
Goal: optimize benefit throughput
benefit throughput: amount of benefit values earned per time unit
Contributions of this paper
true QoS characteristics of a video server with real data support
benefit throughput is theoretically derived from algorithms, given the benefit/penalty and input traffic information of requests
Contributions of this paper (cont) Algorithms are executed at run time utilizing the
theoretical results obtained at static time
adjust the resource allocation greedily and periodically to optimize benefit throughput dynamically
a full disk simulation model for a video server to evaluate the merit of various algorithms
Background and System Model
Assumptions:1. Single disk with multiple video titles such as Star Wars, each
video title has 3 QoS versions: MPEG, H.263, H.261 Generally, the more bandwidth a video coding scheme consumes, the better
video quality users can get. MPEG-1: 1.5Mbps; Better quality because its DCT coefficients are kept,
quantization step is small so fidelity is larger H.263 & H.261: support real time video coding; H.263 supports more
format sizes (88*72) than H.261 and it can use half pixel resolution for motion prediction. H.263 operates at a transmission rate <64Kbps while H.261 at 64K*P bps (for ISDN) where 1 <= P <= 32
Basic coding theory: DCT + motion compensation (I-P-B or Intra/Inter frame)
2. We can use CTL/CDL/Hybrid to store and transmit VBR video data• VBR: Variable Bit Rate and it mainly comes from the elimination of time
redundancy and spatial redundancy of video coding• CTL: Constant Time Length and stored block size is proportional to
playback bit rate. • CDL: Constant Data Length and stored block size is constant• Hybrid: Data written in CDL blocks, but different numbers of blocks are
read in each service round according to user playback rate
3. Video service request arrival rate is (change dynamically) and departure rate is (normally a constant)
Background and System Model
Background and System Model4. The disk service cycle time is Tsr, it is larger than or equals to the total disk seek time plus disk read time. Then we get maximum disk blocks allowed for a Tsr
Under statistical admission control, convolve single user pdf curve of
into U users pdf curve of
Find the maximum number of users U
so that the intersection value of u users
pdf curve value and the maximum disk
blocks requested is less than disk overload ratio
When a user departs, resource is released or distributed to other users.
Blocks amount requested by user u in a service round Tsr
Disk seek time per block
Disk read time per block
Background and System Model
5. Baseline QoS control algorithm: QoS level granted to a user is never changed during the service lifetime.
6. Greedy QoS control algorithm: QoS level granted to a user can be raised, but not degraded, during the service lifetime.
7. All video titles stored in the server have same number of QoS levels. Each video title has three file versions stored
8. Each QoS level i is associated with a benefit value . The higher the QoS level, the larger the benefit value. Level 1 is the highest QoS level
Background and System Model
9. The assignment of benefit values to QoS levels is done by service provider
10. The benefit each admitted user brings to the system depends on the QoS received by the user during its service period.
For example:
11. Use a penalty value q to model the effect of rejection
Reservation Algorithms for QoS control
The algorithms are based on resource reservations ni * bi = Bi
We can first partition the resources into multiple parts Bi, one for each QoS level and then compute the benefit throughput for that resource allocation method
The system always admits users into highest QoS region; if resources there are used up, it will admit users into the next QoS region and so on
The benefit throughput value is dictated by the user arrival/departure rate and benefit/penalty functions
Baseline Algorithm
1. For a video title, there are M video versions corresponding to M QoS levels
2. Each QoS level i can admits up to ni users
3. The system behaves as if it contains M queue with size ni, one for each QoS level.
4. Free slots due to user departure are filled with new arrivals only in decreasing order of QoS
5. If free slot can’t be found in any of the queues, the user will be rejected by the server
6. The input arrival rate to QoS level i+1 is spill-over rate from queue i when queue i is full
Baseline Algorithm
i
i
i
i
i
i
i
i
i
i
i
i
i
n
j
j
n
ii
ni
n
ni
n
i
ni
n
iiii
ni
n
i
iiniii
iniinii
j
n
n
n
npppp
np
pppp
pp
12
2
02
2
000
0
2101
)(!
11
)(!
1
!...
!21
!
!...
!2!1
!
...
Baseline Algorithm
M
j
jM
nM
MM
M
in
j
ji
kin
ki
M
in
j
ji
ini
niii
i
M
in
j
jii
ini
ni
ii
ii
i
i
M
i inii
iiniii
M
iiiniii
M
ii
j
nq
j
kkv
q
j
nn
v
q
jp
nn
ppp
v
qppp
npppv
qnpppv
qv
BT
M
i
i
i
i
i
i
i
i
i
i
i
1
1
1
1
1rej
1
2
2
1rej
10
02
2
00
1rej
10
21
1rej21
1rej
)(!
11
)(!
1
)
)(!
11
)(!
1
)
)(!
11
)!
...2!2
((
)
))(!
11(
)!
...2!2
((
)...
)...2((
))...2((
)i level QoS of throughput(
penaltyrejection users -benefit departure users
How to get best partition set (n1*,n2*,..nM*) that maximizes system benefit
throughput?
Ni is the maximum number of requests at QoS level i that the system is able
to admit statistically when all Tsr is allocated to service requests at this QoS
level only.
ni is the maximum number of slots in QoS level i
Bi is the bandwidth allocated to QoS level i and
bi is the bandwidth of QoS level i allocated to each user request
Baseline Algorithm
Baseline Algorithm
MM
M
i
M
ii
i
MM
i
iM
M
i i
i
MM
MMM
i
ii
MM
M
i
iiM
ii
M
iii
NnnN
NN
N
nN
N
n
bN
bn
bN
bn
bN
bn
B
bn
BbNbNbN
B
bnBBbn
1
1
11
22
22
1 11
11
2211
111
1
1...
...
1)(
Baseline Algorithm
Procedures:
1. Given Tsr, disk seek latency and disk read/write rate, get the maximum data blocks requested for a Tsr cycle
2. Get the pdf of data blocks requested over one Tsr by observation for a single user when accessing a specific version of video data (Assume we are only using baseline algorithm)
3. Convolving the single user pdf into u users pdf curve
Baseline Algorithm
4. Search a maximum value of Ni so that the intersection value of the pdf curve for Ni users with the maximum data blocks value is less than the disk overload ratio. Then we get (N1, N2, N3)
5. Based on the equation (2) in P7, get multiple (n1, n2, n3) and input them as parameters to the Benefit Throughput equation in P6, get the BT value
6. Extract the (n1*, n2*, n3*) under which the BT value is the maximum one
Baseline Algorithm
7. Multiply ni* by the bandwidth requirement of the video version in level i and get the optimal disk bandwidth for that level, then divide it by the total disk bandwidth to get the optimal bandwidth distribution percentage for QoS level i
Baseline Algorithm
QoS level Allocation: i, i+1, i+2
Accommodated users:
n1=3 n2=4 n3=4 total =11
i
i+1
i+2
Bandwidth required for each request: bi = 2*bi+1 = 4*bi+2
Accommodated users:
n1=1 n2=4 n3=12 total=17
For both cases, = total disk bandwidth
22 i
ikk
i
ikkk Bnb
Baseline Algorithm
SPNP model: T_arrival is the arrival event of
user request P_i (i=1,2,3) is the queue for QoS
level i to handle user requests T_departure_i (i=1,2,3) is the
departure event of different QoS levels
P_ti (i=1,2,3) is the transitional place to decide where an incoming request flows to based on the status of current QoS level queue
T_ij (i,j=1,2,3) is the immediate transition
T_rejection is the immediate transition of rejection
Greedy QoS-Control Algorithm
User in lower QoS level is raised to higher level upon a departure in higher QoS level
A departure of a user at level i can trigger a ripple-promotion effect and potentially M-i users can have their QoS levels promoted by one level
Adopt the longest time first policy for fairness The benefit throughput based on baseline QoS control scheme
will become a lower bound for the greedy algorithm
Greedy QoS-Control Algorithm
Petri Net model: To record the elapsed time for each user request, each token should
have additional attributes such as the percentage time spent in each P_i
Add T_21 and T_32 to indicate the QoS adjustment upon a higher QoS level departure. It also take fairness into consideration when selecting a lower level token
The rate for T_departure_i is proportional to the different tokens in P_i with their different departure rate based on their history
It seems not possible to switch to another video format in the middle of video session, instead, some coding scheme such as H.261 can offer different QoS levels automatically by adjusting some parameters such as quantization step, window size, etc.
Periodic and Dynamic Resource Reservation
Procedures:• Assume we are only using baseline algorithm
• Given Tsr, disk seek latency and disk read/write rate, get the maximum data blocks requested for a Tsr cycle
• Get the pdf of data blocks requested over one Tsr by observation for a single user when accessing a specific format/version of video data
Periodic and Dynamic Resource Reservation
• Convolving the single user pdf into u users pdf curve
• Search a maximum value of Ni • the intersection value of the pdf curve for
Ni users with the maximum data blocks value is less than the disk overload ratio.
• get (N1, N2, N3)
Periodic and Dynamic Resource Reservation
• get multiple (n1, n2, n3) sets
• input them as parameters to the Benefit Throughput equation to get the BT values
• Extract the (n1*, n2*, n3*) under which the BT value is the maximum one
Periodic and Dynamic Resource Reservation
• Multiply n1* by the bandwidth requirement of QoS level 1 and get the total disk blocks requested by users at QoS level 1
• divided by Tsr and the total disk bandwidth to get the optimal bandwidth distribution percentage for users at QoS level 1, the same with QoS level 2 and 3 .
Periodic and Dynamic Resource Reservation
• Get the value (n1*, n2*, n3*) for different arrival rate, calculate the corresponding BT based on the equation discussed and get the table.
• Arrival rate can be monitored by observing the number of users arriving at the system over an observation period.
• Periodically query the table to select new value for (n1*, n2*…)
Periodic and Dynamic Resource Reservation
The time complexity to compute (n1*,n2*,……nM*) will be upper bounded by the number of ways to divide NM into M sets subject to equation 2---O((NM)^(M-1))
Periodic and Dynamic Resource Reservation
M is decided by acceptable lowest QoS level i
"time-differentiated" services
in "business" time periods, less QoS levels to guarantee QoS
in "couch" time periods, more QoS levels to accommodate more users
Modeling and Analysis
5 algorithms for comparison Higest-QoS-only (N1,0,0..0) (HQO); Lowest-QoS-only (0,0,..,NM) (LQO); Equal-Share (N1/M,N2/M...NM/M) (ES) Baseline (n1*,n2*,……nM*) Greedy (n1*,n2*,……nM*)
Modeling and Analysis
Disk characteristics: Make: Seagate Capacity: 20G = 512 bytes/sector * 64
sectors/track * 4096 tracks/side * 160 sides Disk seek time and rotational latency :
16.5 msec Read/write rate: 33Mbps
Modeling and Analysis
Disk characteristics and data model:
video title: "Star Wars"; different movie titles are simulated by using different group of picture entry points into the trace files
video formats: MPEG-1, H.263, H.261 for each video title
Modeling and Analysis The disk is filled with video titles randomly
A mapping table to map the data physical location with playback cycles to eliminate extra seek time for video data
Modeling and AnalysisOptimal (n1*, n2*, ... , nM*) under the Baseline Algorithm
Based on (N1, N2, N3), consider arrival rate at [10, 60], given values for mu, v1,v2,v3, and q, build the table for (n1*, n2*, n3*) and corresponding benefit throughput
Modeling and Analysis The benefit throughput obtained at the
optimal setting (n1*, n2*, ... , nM*) increases as input arrival rate increases
as input arrival rate exceeds a threshold, the benefit throughput deteriorates because many users are rejected
Part of SPNP program for baseline algorithm
enabling_type en_t_12() { if (mark("P_1") >= n1) return 1; else return 0;}
enabling_type en_t_rejection() { if (mark("P_3") >= n3) return 1; else return 0;}
rate_type dep_rate_1() { return (mark("P_1") * mu);}
enabling_type en_t_11() { if (mark("P_1") < n1) return 1; else return 0;}
Part of SPNP program for baseline algorithm
reward_type X_1(){ return(rate("T_departure_1")); }
reward_type X_rejection() { if ((mark("P_1") == n1) && (mark("P_2") == n2) && (mark("P_3") == n3) ) return lamb1; else return 0.0;}
reward_type X_12() { if ((mark("P_1") == n1)) return lamb1; else return 0.0;}
reward_type X_23() { if ((mark("P_1") == n1) && (mark("P_2") == n2)) return lamb1; else return 0.0;}
Part of SPNP program for baseline algorithm
ac_final() {
pr_expected("departure 1 is ", X_1);
pr_expected("departure 2 is ", X_2);
pr_expected("departure 3 is ", X_3);
pr_expected("rejection is ", X_rejection);
pr_expected("T_12 rate is ", X_12);
pr_expected("T_23 rate is ", X_23);}
Modeling and Analysis The benefit throughput obtained by the
baseline QoS control algorithm is much better than HQO, LQO, ES.
HQO results in a heavy loss of benefit in all cases except when the system is very lightly loaded.
Modeling and Analysis LQO can perform well only when heavily
loaded
ES falls within HQO, LQO with the benefit throughput obtainable being modest all the time
Simulation validation All admitted requests are arranged in a
scheduled queue in every cycle based on the disk locations of data blocks to be accessed
the disk read/write heads only need to scan the disk in one direction once to collect all the data needed for all streams
Simulation result Greedy algorithm is able to serve more
clients at the highest or medium QoS compared with the baseline algorithm
Simulation result There are fewer clients being served at the lowest
QoS level under the greedy algorithm than the baseline algorithm
The greedy algorithm uses the same optimal (n1*, n2*, n3*) set for QoS control
Baseline and greedy algorithm yield same rejection rate, total number of users, and system throughput
Conclusion Baseline and greedy QoS control algorithms
are based on the concept of resource reservation
Conclusion dynamically re-allocate resources reserved
to requests at different QoS levels to maximize benefit throughput.
Conclusion The greedy algorithm allows the QoS level
to be raised during the service lifetime of users.
The greedy algorithm outperforms other algorithms in terms of the benefit throughput, without sacrificing the performance of the system