Network Adaptability under Resource CrunchRafael Braz Rebouças LourençoNetworks Lab - UC DavisFriday Lab Meeting - April 7th, 2017
Outline
• What is Resource Crunch• Problem Statement• Example 1• Connection Adjacency Graph (CAG)• Splitting the problem• Example 2• Algorithm• Results
2
Resource Crunch
• Different from occasional request blocking, consists of a situation in which offered demand cannot possibly be carried by the network• May be caused by:
1. Failure arrivals (disasters) ➔ decrease transmission capacity2. Traffic demand arrivals ➔ increase offered load
➔ How can we deal with Resource Crunch on layer 2.5 (MPLS/SDN flows)?
3
FOCUS: Resource Crunch due to Failures or Unexpected Traffic Surges (Flash Crowd)• Unpredicted (or underestimated)
spikes in the traffic
4
[1]Ali-Eldin,etal."Anadaptivehybridelasticitycontrollerforcloudinfrastructures." NetworkOperationsandManagementSymposium(NOMS),2012IEEE.[2]https://cloudplatform.googleblog.com/2016/09/bringing-Pokemon-GO-to-life-on-Google-Cloud.html[3]Tang,etal."Dynamicrequestredirectionandelasticservicescalingincloud-centricmedianetworks." IEEETransactionsonMultimedia 16.5(2014)
• In cloud services environments, is commonly dealt with by spreading computation and/or redirecting traffic
[2]Pokemon Go:PredictedXObservedtraffic
[1]RapiddemandchangefortheFIFAworldcupwebsite
[3]AverageYoutube trafficthroughout24h.Abnormalitiesbetweenredlines
But also… Long Term Traffic Growth
• Traffic continually grows, Cisco VNI estimates general internet traffic growth at an average of 22% a year for the next 5 years
• Network engineering activities are cyclically performed to install new network capacity and avoid bottlenecks in the system
• Several networks are already operating well above traditional occupancy levels (intra-datacenter networks, specially)
5
0
50
100
150
200
250
300
350
400
1 13 25 37 49 61 73 85 97 109
121
133
145
157
169
181
193
205
217
229
241
253
265
277
TotalBandw
idth(G
bps)
Weeks
NetworkCapacityandOffered/BlockedTrafficEvolution
Capacity Demand CarriedTraffic BlockedTraffic
10%5%
15%
40%peryear
Building Block: Flexible Service Level Objectives for different Service ClassesService Real
TimeDegradable Ratio of
alltrafficRequested
GbpsMinimumGbps
DegradableCapacity
Price perGbps perLink
BlockingCost
ControlTraffic(SCADA,etc)
Y N 10% 2 2 0 $5 $10
BigDataTransfer(Backups, etc)
N Y 20% 10 5 upto5 $2 $5
SmallDataTransfers
N Y 20% 5 4 upto1 $3 $5
VideoonDemand(Youtube Netflix)
N Y 30% 3 1 upto2 $1 $1
HD Real-TimeVideo(HDTV)
Y Y 14% 4 2 upto2 $2 $1
Non-HD Real-TimeVideo(RegularTV)
Y Y 6% 2 1 upto1 $1 $0
6
*DifferentSLOs(suchasDegradability,Capacity,orAvailability,Latency,andothersnotshownhere)yieldindifferentprices
Network Adaptability Under Resource Crunch
If an incoming demand cannot be placed due to Resource Crunch…
7
…can it somehow be served? (by degrading other already allocated demands)
If so, can we maximize the operator’s revenue while serving the demand?
➔ Attheexpenseofdegradingwhichotherdemands?
➔ Usingwhatthroughput?
➔ Throughwhichpath?
Problem Statement
• Given:• Network topology• Potentially flexible SLOs for different Service Classes• Set of currently allocated demands (respective paths, flexible SLOs, prices/priorities)• An incoming demand (and its SLO) that cannot be placed due to Resource Crunch
• Output:• A decision of whether or not to serve that demand, and if so, through what path, at what
throughput, and by degrading which other demands• Goal:
• Maximize the overall revenue of the network operator• Constraints:
• Link rates, SLOs, network topology
8
SimplifiedProblemStatement:IfanincomingdemandcannotbenormallyservedduetoResourceCrunch:whichotherconnectionsshouldwedegradeinordertoservethisdemand
(orshouldwenotserveitatall)?
Illustrative Example - 1
9
E
D
G
B
A
F
C
CAP=20
CAP=20
CAP=20
CAP=20
Allconnectionshavethesameminimumandmaximumrequiredthroughputs:Min(C1)=Min(C2)=Min(C3)=Min(C4)=Min(C5)=10GbpsMax(C1)=Max(C2)=Max(C3)=Max(C4)=Max(C5)=20Gbps
Thus,alllinkarebeingfullyutilized.
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Connection1,Cost$1/Gbps
Illustrative Example - 1
10
E
D
G
B
A
F
C
CAP=20
CAP=20
CAP=20
CAP=20
Anewrequestof10GbpsarrivesfromAtoFandcannotbenormallyservedduetoResourceCrunch.Thisnewrequestofferstopay$4/Gbps.
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Connection1,Cost$1/Gbps
One Idea: Shortest path routing…
11
E
D
G
B
A
F
C
CAP=20
CAP=20
CAP=20
CAP=20
DegradeConnections5and4,andplacethenewrequestontheshortestpath.Thedegradationwoulddecreasetherevenuein$(5x10+4x10)andthenewrequestwouldincreaseitin$40.
Totalrevenuedecreasedby$50.
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Connection1,Cost$1/Gbps
One Idea: Shortest path routing on prices…
12
E
D
G
B
A
F
C
CAP=20
CAP=20
CAP=20
CAP=20
Doesnotwork➔ Onceyoupaythefirstcost,thefollowingedgesoftheconnectionshouldbe”free”…
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Connection1,Cost$1/Gbps
So,shortest-pathroutingapproachesmightnotbebestoptioninaResourceCrunchscenario…
However…
13
E
D
G
B
A
F
C
CAP=20
CAP=20
CAP=20
CAP=20
Noticehoweverytimeaconnectionisdegradeditfrees-upcapacitythroughoutitsentirepath…Wouldn’ttherebeamoreefficientwaytoutilizethecapacitythatwasliberated?
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Connection1,Cost$1/Gbps
Another Idea: Connection Adjacency Graph (CAG)
14
Connection1[A,B,D,E]
Connection2[B,C,D,F]
Connection3[D,E,F]
Connection4[G,F,E]
Connection5[A,G,B]
First,createsuper-verticesrepresentingeachconnection.Annotateineachsuper-vertexthesetofphysicalnodesthatconnectiontouches.
15
Connection1[A,B,D]
Connection2[B,C,D,F]
Connection3[D,E,F]
Connection4[G,F,E]
Connection5[A,G,B]
Then,addedgesconnectingeachsuper-vertextoallothersuper-verticesthatcontainatleastonephysicalnodeincommon.Add2edges,oneineachdirection.
Another Idea: Connection Adjacency Graph (CAG)
Another Idea: Connection Adjacency Graph (CAG)
Connection1[A,B,D]
Connection2[B,C,D,F]
Connection3[D,E,F]
Connection4[G,F,E]
Connection5[A,G,B]
Addtwodummynodes.Dummy-SourcerepresentingthesourceofthenewrequestandDummy-Target,forthetarget.Connecteachofthemtoallsuper-verticesthatcontaineitherthesourceorthetarget.
Dummy-Source[A]
Dummy-Target[F]
Connection1[A,B,D]
Connection2[B,C,D,F]
Connection3[D,E,F]
Connection4[G,F,E]
Connection5[A,G,B]
Associatewitheachedgeacost(aka,weight).Foranyedge,exceptthoseincomingtotheDummy-Target(whosecostareall0),thecostofthisedgeisthecostofdegradinginonethroughput-unittheconnectionthesuper-vertexthatedgepointstorepresents.
Dummy-Source[A]
Dummy-Target[F]
Connection4,Cost$4/Gbps
Connection3,Cost$3/Gbps
Connection2,Cost$2/Gbps
Connection5,Cost$5/Gbps
Connection1,Cost$1/Gbps
Cost=5
Cost=5
Cost=2
Cost=3
Cost=2
Cost=0*Or,possibly,thecostperbandwidthunitdividedbythenumberoflinksutilizedbytheconnection,oramortizedbytheremainingdurationoftheconnection…
Another Idea: Connection Adjacency Graph (CAG)
Connection1[A,B,D]
Connection2[B,C,D,F]
Connection3[D,E,F]
Connection4[G,F,E]
Connection5[A,G,B]
Finally,calculatetheshortest(cheapest)pathfromDummy-SourcetoDummy-Target.Inthiscase,becausethetotalcostoftheshortestpathislessthenthepricethenewrequestisofferingtopay,degradeConnection1andConnection2andallocatethenewrequest…
Dummy-Source[A]
Dummy-Target[F]
Cost=5
Cost=5
Cost=2
Cost=3
Cost=2
Cost=0Shortestpath.Totalcost=3.
E
D
G
B
A
F
C
CAP=20
CAP=20
CAP=20
CAP=20
DegradeConnection1andConnection2totheirminimum(i.e.,10Gbps)….
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Connection1,Cost$1/Gbps
20
E
D
G
B
A
F
C
CAP=10
CAP=10
CAP=0
CAP=0
Theresidualgraphaftercapacityisfreed-upduetothedegradationofConnections1and2.
21
E
D
G
B
A
F
C
CAP=10
CAP=10
CAP=0
CAP=0
Now,twopaths(of10Gbpscapacity)areavailable.Choosetheshortestone.
E
D
G
B
A
F
C
CAP=20
CAP=20
CAP=20
CAP=20
Connection4,Cost$4/Gbps
Connection2(DEGRADED– 10Gbps),Cost$2/Gbps
Totalrevenue➔ - (10x1)- (10x2)+(10x4)➔ Requestnotblockedandrevenueincreasedin$10
Connection1(DEGRADED– 10Gbps),Cost$1/Gbps
NEWConnection-10Gbps,Cost$4/Gbps
Proof of Correctness
• CAG contains all possible combinations of connection degradations that one can perform in any feasible path through the network • CAG precisely describes the cost of degrading a connection (since edges
weights are the costs of degrading their target super-vertex connection)• There is a one-to-one mapping from any path in the physical network to a
path in the CAG. There is a one-to-many relationship between one path in the CAG to many paths in the physical network
ØThus, a shortest (cheapest) S-T path in the CAG necessarily maps to a cheapest set of connection degradations that create room for a path to be routed from source to destination
23
However…• Note that in the example, the purple request only asked for 10 Gbps• Note how every initially allocated connection had a degradable capacity of 10 Gbps
24
SimplifiedProblemStatement:IfanincomingdemandcannotbenormallyservedduetoResourceCrunch:whichotherconnectionsshouldwedegradeinordertoservethisdemand
(orshouldwenotserveitatall)?
➔ (…)giventhattheincomingdemandfitsineachandeverydegradablecapacityofeachalreadyallocatedconnection?
➔ (…)giventhattheincomingdemanddoesnotnecessarilyfitineachandeverydegradable
capacityofeachalreadyallocatedconnection?
P NotinP
Illustrative Example - 2
25
E
D
G
B
A
F
C
CAP=40
CAP=40
CAP=40
CAP=40
Connection6,Cost$1/Gbps
Connection7,Cost$10/Gbps
AllLinksnowhave40Gbpscapacities.Allconnectionshavethesameminimumandmaximumrequiredthroughputs:Min(C1)=Min(C2)=Min(C3)=Min(C4)=Min(C5)=Min(C6)=10GbpsMax(C1)=Max(C2)=Max(C3)=Max(C4)=Max(C5)=Max(C6)=20Gbps
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Connection1,Cost$1/Gbps
Illustrative Example - 2
26
E
D
G
B
A
F
C
CAP=40
CAP=40
CAP=40
CAP=40
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Anewrequestof20GbpsarrivesfromAtoFandcannotbenormallyservedduetoResourceCrunch.Thisnewrequestofferstopay$11/Gbps.
Connection6,Cost$1/Gbps
Connection7,Cost$10/Gbps
Connection1,Cost$1/Gbps
Illustrative Example - 2
27
E
D
G
B
A
F
C
CAP=40
CAP=40
CAP=40
CAP=40
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Connection6,Cost$1/Gbps
Connection7,Cost$10/Gbps
Connection1,Cost$1/Gbps
Oneoption:DegradeConnections1,2and7.Thedegradationwoulddecreasetherevenuein $(1x10+2x10+10x10)=$130andthenewrequestwouldincreaseitin$110.
Totalrevenuedecreasedby$20.
Illustrative Example - 2
28
E
D
G
B
A
F
C
CAP=40
CAP=40
CAP=40
CAP=40
Connection4,Cost$4/Gbps
Connection2,Cost$2/Gbps
Connection6,Cost$1/Gbps
Connection7,Cost$10/Gbps
Connection1,Cost$1/Gbps
Anotheroption:DegradeConnections4,5,and6.Thedegradationwoulddecreasetherevenuein $(5x10+6x10+4x10)=$100andthenewrequestwouldincreaseitin$110.
Totalrevenueincreasedin$10.
Demands that don’t fit in every single Degradable Capacity• Splittable demand ➔ find CAG cheapest path, allocate (same
procedure as before), repeat…• Non-splittable demand ➔ since the CAG contains all possible
degradations, the solution to this problem can be found within one of the possible combinations of CAG paths
29
ØFinding all simple paths in a graph: NP hardØAll combinations: Exponential
Dealing with Intractability
1. Instead of calculating all CAG paths➔ only calculate the ”K-cheapest”
2. Instead of calculating all combinations➔ (with the help of a bipartite Degradation Oriented Graph…) only analyze the ”K- shortest” combinations of paths that share physical links
3. If no solution is found ➔ use the CAG paths of #1 to guide the search of a cheap (non-optimum) degradation
30
Algorithm
31
1.FindcheapestS-TpathintheCAG
Resourcecrunchnot-servedS-Tdemand(SLOs,price)
Demandfitafter
degradation?
2.FindKcheapestS-TpathintheCAG
3.FindKcheapestCAGpathcombinations
Demandfitafter
degradation?
4.UseKpathsfrom2toinducefreespaceinpaths
5.FindcheapestpossibleoptionamongtheK
Demandfitafter
degradation?
Isdegradationprofitable?
Isdegradationprofitable?
Isdegradationprofitable?
N N
YY Y
Y Y Y
Degradeotherconnectionsandallocatethedemand
PotentiallyOptimum?(DependingonK) Non-optimumHeuristic
*KeeptheCAGupdatedinmemory
Simulation• Use traffic mixture from the previous table (slide 6)• Statically occupy network up to average link utilization = 60%• Generate X random demands that would otherwise be blocked• Compare with a greedy approach [based on 1 and Journal submission]
32
FindK=5shortestpathsinthephysicalnetwork
Resourcecrunchnot-servedS-Tdemand(SLOs,price)
Degradefromthecheapesttothemostexpensiveconnectionsinpath
Demandfitafter
degradation?
Isdegradationprofitable?
Allocate
Y
Trynext
Y
NN
[1]Roy,Abhishek,M.FarhanHabib,andBiswanath Mukherjee."Networkadaptabilityunderresourcecrunch." AdvancedNetworksandTelecommuncations Systems(ANTS),2014IEEEInternationalConferenceon.IEEE,2014.
Results
33
00.050.10.150.20.250.30.350.40.45
30 60 90 120 150 180
DemandsInitiallyHinderedByResourceCrunch
IncreaseoverInitialRevenue(%)
Greedy CAG
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
30 60 90 120 150 180
DemandsInitiallyHinderedByResourceCrunch
RevenueIncreaseMinusBlockingCosts(%)
Greedy CAG0
0.01
0.02
0.03
0.04
0.05
30 60 90 120 150 180
DemandsInitiallyHinderedByResourceCrunch
TotalBlockingCostoverInitialRevenue(%)
Greedy CAG
47%
55%
61%
Results – Cont.
34
0.58
0.6
0.62
0.64
0.66
0.68
0.7
0.72
0.74
0.76
0.78
30 60 90 120 150 180
DemandsInitiallyHinderedByResourceCrunch
AverageLinkUtilizationAfterExecution(%)
Greedy CAG
0
1
2
3
4
5
6
7
30 60 90 120 150 180
DemandsInitiallyHinderedByResourceCrunch
AverageLengthOfPaths(#oflinks)
Greedy CAG
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
30 60 90 120 150 180
DemandsInitiallyHinderedByResourceCrunch
SuccessfullyAllocated(afterdegrading)(%)
Greedy AllCAG CAG(OptimallyAllocated?)
38%5%