Load Shedding Algorithm
• Evaluation Step
– When to shed load?
• Load Shedding Road Map (LSRM)
– Where to shed load?
– How much load to shed?
1
Load Evaluation
• Load Coefficients (L)
– the number of processor cycles required to push
a single tuple through the network to the
outputs
• n operators n j i 1
• ci = cost L = ( s )*c
i 1 j 1
j i
• si = selectivity
c1 c2 cn
I s1 s2 … sn O
2
Load Evaluation
Load Coefficient
L2 = 14 L3 = 5
2 3
c2 = 10 cn = 5 O1
s2 = 0.8 sn = 1.0
L1 = 22
1
I c1 = 10 L4 = 10
L(I) = 22 s1 = 0.5 4
c2 = 10 O2
s2 = 0.9
L1 = 10 + (0.5 * 10) + (0.5 * 0.8 * 5) + (0.5 * 10) = 22
L2 = 10 + (0.8 * 5) = 14 3
Load Evaluation
• Stream Load (S)
– load created by the current stream rates
• m input streams m
• Li = load coefficient S = L *r
i 1
i i
• ri = input rate
4
Load Evaluation
Stream Load
L2 = 14 L3 = 5
2 3
c2 = 10 cn = 5 O1
s2 = 0.8 sn = 1.0
L1 = 22
1
I c1 = 10 L4 = 10
L(I) = 22 s1 = 0.5 4
r = 10 c2 = 10 O2
s2 = 0.9
S = 22 * 10 = 220
5
Load Evaluation
• Queue Load (Q)
– load due to any queues that may have built up
since the last load evaluation step
• MELT_RATE = how fast to shrink the queues
(queue length reduction per unit time)
• Li = load coefficient
• qi = queue length
Q = MELT_RATE * Li * qi
6
Load Evaluation
Queue Load
L2 = 14 L3 = 5
q = 100
2 3
c2 = 10 cn = 5 O1
s2 = 0.8 sn = 1.0
L1 = 22
1
I c1 = 10 L4 = 10
L(I) = 22 s1 = 0.5 4
r = 10 c2 = 10 O2
s2 = 0.9
MELT_RATE = 0.1
Q = 0.1 * 5 * 100 = 50
7
Load Evaluation
Total Load
•Total Load (T) = S + Q
L2 = 14 L3 = 5
q = 100
2 3
c2 = 10 cn = 5 O1
s2 = 0.8 sn = 1.0
L1 = 22
1
I c1 = 10 L4 = 10
L(I) = 22 s1 = 0.5 4
r = 10 c2 = 10 O2
s2 = 0.9
T = 220 + 50 = 270
8
Load Evaluation
• The system is overloaded when
T > H * C
headroom factor processing capacity
9
Load Shedding Algorithm
• Evaluation Step
– When to drop?
• Load Shedding Road Map (LSRM)
– How much to drop?
– Where to drop?
10
Load Shedding Road Map
(LSRM)
how many cycles will be saved
where the system will be running
when the DIP is adopted
ENTRY 1 … … … ENTRY n
CSC max savings
DIP …
PDC (0,0,0,…,0)
11
less load shedding cursor more load shedding
LSRM Construction
set Drop Locations
compute & sort Loss/Gain ratios
Drop-Based LS Filter-Based LS
take the least ratio take the least ratio
how much to drop? how much to drop?
insert Drop determine predicate
create LSRM entry insert Filter
create LSRM entry 12
Drop Locations
set Drop Locations
Single Query
compute & sort Loss/Gain ratios
Drop-Based LS Filter-Based LS
L1 = 17 L2 = 14 L3 = 5
1 2 3
I A c1 = 10 B c2 = 10 C cn = 5 D O
s1 = 0.5 s2 = 0.8 sn = 1.0
13
Drop Locations
set Drop Locations
Single Query
compute & sort Loss/Gain ratios
Drop-Based LS Filter-Based LS
L1 = 17 L2 = 14 L3 = 5
1 2 3
I A c1 = 10 c2 = 10 cn = 5 O
s1 = 0.5 s2 = 0.8 sn = 1.0
14
Drop Locations
set Drop Locations
Shared Query
compute & sort Loss/Gain ratios
Drop-Based LS Filter-Based LS
L2 = 14 L3 = 5
2 3
c2 = 10 D cn = 5 E O1
s2 = 0.8 sn = 1.0
L1 = 22 B
1
I A c1 = 10 L4 = 10
s1 = 0.5 C 4
c2 = 10 F O2
s2 =
0.9
15
Drop Locations
set Drop Locations
Shared Query
compute & sort Loss/Gain ratios
Drop-Based LS Filter-Based LS
L2 = 14 L3 = 5
2 3
c2 = 10 cn = 5 O1
s2 = 0.8 sn = 1.0
L1 = 22 B
1
I A c1 = 10 L4 = 10
s1 = 0.5 C 4
c2 = 10 O2
s2 =
0.9
16
Loss/Gain Ratio
set Drop Locations
Loss
compute & sort Loss/Gain ratios
Drop-Based LS Filter-Based LS
• Loss – utility loss as tuples are dropped
– determined using loss-tolerance QoS
graph
utility
1 Loss for first piece of graph
0.7
= (1 – 0.7) / 50
0
100 50 0
% tuples = 0.006
17
Loss/Gain Ratio
set Drop Locations
Gain
compute & sort Loss/Gain ratios
Drop-Based LS Filter-Based LS
• Gain – processor cycles gained
R * ( x * L D) if x 0
Gain G(x) =
0 otherwise
• R = input rate into drop operator
• L = load coefficient
• x = drop percentage
• D = cost of drop operator
• STEP_SIZE = increments for x to find G(x) 18
Drop-Based Load Shedding Drop-Based LS
how much to drop? take the least ratio
how much to drop?
insert Drop
create LSRM entry
• Take the least Loss/Gain ratio
• Determine the drop percentage p
19
Drop-Based Load Shedding Drop-Based LS
where to drop? take the least ratio
how much to drop?
insert Drop
create LSRM entry
L1 = 17 L2 = 14 L3 = 5
1 2 3
I A
drop c1 = 10 drop c2 = 10 drop cn = 5 drop O
s1 = 0.5 s2 = 0.8 sn = 1.0
If there are other drops in the network,
modify their drop percentages.
20
Drop-Based Load Shedding Drop-Based LS
make LSRM entry take the least ratio
how much to drop?
insert Drop
• All drop operators with the modified create LSRM entry
percentages form the DIP
• Compute CSC
• Advance QoS cursors and store in PDC
LSRM Entry
Filter-Based Load Shedding Filter-Based LS
how much to drop? take the least ratio
predicate for filter how much to drop?
determine predicate
• Start dropping from the interval insert Filter
create LSRM entry
with the lowest utility.
• Keep a sorted list of intervals according to
their utility and relative frequency.
• Find out how much to drop and what
intervals are needed to .
• Determine the predicate for filter. 22
Filter-Based Load Shedding Filter-Based LS
place the filter take the least ratio
how much to drop?
determine predicate
insert Filter
create LSRM entry
L1 = 17 L2 = 14 L3 = 5
1 2 3
I A
filter c1 = 10 filter c2 = 10 filter cn = 5 filter O
s1 = 0.5 s2 = 0.8 sn = 1.0
If there are other filters in the network,
modify their selectivities.
23