donar decentralized server selection for cloud services patrick wendell, princeton university joint...
TRANSCRIPT
![Page 1: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/1.jpg)
DONARDecentralized Server Selection
for Cloud Services
Patrick Wendell, Princeton University
Joint work with Joe Wenjie Jiang, Michael J. Freedman, and Jennifer Rexford
![Page 2: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/2.jpg)
Outline
• Server selection background
• Constraint-based policy interface
• Scalable optimization algorithm
• Production deployment
![Page 3: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/3.jpg)
User Facing Services are Geo-Replicated
![Page 4: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/4.jpg)
Reasoning About Server Selection
ServiceReplicas
Client Requests
MappingNodes
![Page 5: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/5.jpg)
Example: Distributed DNS
Client 1
Client C
DNS 1
DNS 2
DNS 10
ServersAuth. Nameservers
Client 2
Clients Mapping Nodes Service Replicas
DNS Resolvers
![Page 6: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/6.jpg)
Example: HTTP Redir/Proxying
Client 1
Client C
DatacentersHTTP Proxies
Client 2
Clients Mapping Nodes Service Replicas
HTTP Clients
Proxy 1
Proxy 2
Proxy 500
![Page 7: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/7.jpg)
Reasoning About Server Selection
ServiceReplicas
Client Requests
MappingNodes
![Page 8: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/8.jpg)
Reasoning About Server Selection
ServiceReplicas
Client Requests
MappingNodes
Outsource to DONAR
![Page 9: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/9.jpg)
Outline
• Server selection background
• Constraint-based policy interface
• Scalable optimization algorithm
• Production deployment
![Page 10: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/10.jpg)
Naïve Policy ChoicesLoad-Aware: “Round Robin”
ServiceReplicas
Client Requests
MappingNodes
![Page 11: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/11.jpg)
Naïve Policy ChoicesLocation-Aware: “Closest Node”
ServiceReplicas
Client Requests
MappingNodes
Goal: support complex policies
across many nodes.
![Page 12: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/12.jpg)
Policies as Constraints
ReplicasDONAR Nodes
bandwidth_cap = 10,000 req/m
split_ratio = 10%allowed_dev = ± 5%
![Page 13: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/13.jpg)
Eg. 10-Server Deployment
How to describe policy with constraints?
![Page 14: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/14.jpg)
No ConstraintsEquivalent to “Closest Node”
2%6%
10%1% 1%
7%2%
28%
9%
35%Requests per Replica
![Page 15: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/15.jpg)
No ConstraintsEquivalent to “Closest Node”
2%6%
10%1% 1%
7%2%
28%
9%
35%Requests per Replica
Impose 20% Cap
![Page 16: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/16.jpg)
Cap as Overload Protection
2%6%
10%1% 1%
7%14%
20% 20% 20%Requests per Replica
![Page 17: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/17.jpg)
12 Hours Later…
5%
16%
29%
4% 3%
16%
3%10% 12%
3%
Requests per Replica
![Page 18: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/18.jpg)
“Load Balance”(split = 10%, tolerance = 5%)
Requests per Replica
5% 5% 5% 5% 5%
15% 15% 15% 15% 15%
![Page 19: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/19.jpg)
“Load Balance”(split = 10%, tolerance = 5%)
Requests per Replica
5% 5% 5% 5% 5%
15% 15% 15% 15% 15%
Trade-off network proximity & load distribution
![Page 20: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/20.jpg)
12 Hours Later…
Requests per Replica
7%15% 15% 15%
5%13%
5%10% 10%
5%
Large range of policies by varying cap/weight
![Page 21: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/21.jpg)
Outline
• Server selection background
• Constraint-based policy interface
• Scalable optimization algorithm
• Production deployment
![Page 22: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/22.jpg)
Optimization: Policy Realization
• Global LP describing “optimal” pairing
Clients: c C ∈ Nodes: n N∈ Replica Instances: i I∈
Minimize network cost
Server loads within tolerance
Bandwidth caps met
s.t.
![Page 23: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/23.jpg)
Optimization Workflow
MeasureTraffic
TrackReplica Set
CalculateOptimal
Assignment
![Page 24: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/24.jpg)
Optimization Workflow
MeasureTraffic
TrackReplica Set
CalculateOptimal
Assignment
Per-customer!
![Page 25: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/25.jpg)
Optimization Workflow
MeasureTraffic
TrackReplica Set
CalculateOptimal
Assignment
Continuously!
(respond to underlying traffic)
![Page 26: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/26.jpg)
By The Numbers101 102 103 104
DONAR Nodes
Customers
replicas/customer
client groups/ customer
Problem for each customer:102 * 104 = 106
![Page 27: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/27.jpg)
Measure Traffic & Optimize Locally?
ServiceReplicas
MappingNodes
![Page 28: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/28.jpg)
Not Accurate!
ServiceReplicas
MappingNodes
Client Requests
No one node seesentire client population
![Page 29: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/29.jpg)
Aggregate at Central Coordinator?
ServiceReplicas
MappingNodes
![Page 30: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/30.jpg)
Aggregate at Central Coordinator?
ServiceReplicas
MappingNodes
Share TrafficMeasurements
(106)
![Page 31: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/31.jpg)
Aggregate at Central Coordinator?
ServiceReplicas
MappingNodes
Optimize
![Page 32: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/32.jpg)
Aggregate at Central Coordinator?
ServiceReplicas
MappingNodes
Returnassignments
(106)
![Page 33: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/33.jpg)
So FarAccurate Efficient Reliable
Local only No Yes Yes
CentralCoordinator
Yes No No
![Page 34: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/34.jpg)
Decomposing Objective Function
min∑𝑐∈𝐶
∑𝑖 ∈𝐼
α𝒄∙𝑅𝑐𝑖 ∙𝑐𝑜𝑠𝑡 (𝑐 ,𝑖)
∑𝑛∈𝑁
𝑠𝑛 ∑𝑐∈𝐶
∑𝑖∈𝐼
α𝑐𝑛∙𝑅𝑛 𝑐𝑖 ∙𝑐𝑜𝑠𝑡 (𝑐 ,𝑖)
Traffic from c
prob of mapping c to i
cost of mapping c to i
∀ clients∀ instances
=
∀nodesTraffic to this node
We also decompose constraints
(more complicated)
![Page 35: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/35.jpg)
Decomposed Local ProblemFor Some Node (n*)
min
loadi = f(prevailing load on each server + load I will impose on each server)
∀𝑖 𝑙𝑜𝑎𝑑𝑖+𝑠𝑛∗ ∑𝑐∈𝐶
∑𝑖∈𝐼
α𝑐𝑛∗∙𝑅𝑛∗𝑐𝑖
∙𝑐𝑜𝑠𝑡 (𝑐 ,𝑖 )
Local distanceminimization
Global loadinformation
![Page 36: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/36.jpg)
DONAR Algorithm
ServiceReplicas
MappingNodes
Solve local problem
![Page 37: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/37.jpg)
DONAR Algorithm
ServiceReplicas
MappingNodes
Solve local problem
Share summary data
w/ others(102)
![Page 38: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/38.jpg)
DONAR Algorithm
ServiceReplicas
MappingNodes
Solve local problem
![Page 39: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/39.jpg)
DONAR Algorithm
ServiceReplicas
MappingNodes
Share summarydata w/ others
(102)
![Page 40: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/40.jpg)
DONAR Algorithm
• Provably converges to global optimum
• Requires no coordination
• Reduces message passing by 104
ServiceReplicas
MappingNodes
![Page 41: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/41.jpg)
Better!Accurate Efficient Reliable
Local only No Yes Yes
CentralCoordinator
Yes No No
DONAR Yes Yes Yes
![Page 42: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/42.jpg)
Outline
• Server selection background
• Constraint-based policy interface
• Scalable optimization algorithm
• Production deployment
![Page 43: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/43.jpg)
Production and Deployment
• Publicly deployed 24/7 since November 2009
• IP2Geo data from Quova Inc.
• Production use:– All MeasurementLab Services
(incl. FCC Broadband Testing) – CoralCDN
• Services around 1M DNS requests per day
![Page 44: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/44.jpg)
Systems Challenges (See Paper!)
• Network availability Anycast with BGP
• Reliable data storageChain-Replication with Apportioned Queries
• Secure, reliable updatesSelf-Certifying Update Protocol
![Page 45: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/45.jpg)
CoralCDNReplicas
DONAR Nodes
Client Requests
CoralCDN Experimental Setup
split_weight = .1tolerance = .02
![Page 46: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/46.jpg)
Results: DONAR Curbs Volatility
“Closest Node” policy
DONAR “Equal Split” Policy
![Page 47: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/47.jpg)
Results: DONAR Minimizes Distance
1 2 3 4 5 6 7 8 9 10
Minimal (Closest Node)DONARRound-Robin
Ranked Order from Closest
Requ
ests
per
Rep
lica
![Page 48: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/48.jpg)
Conclusions
• Dynamic server selection is difficult– Global constraints– Distributed decision-making
• Services reap benefit of outsourcing to DONAR.– Flexible policies– General: Supports DNS & HTTP Proxying– Efficient distributed constraint optimization
• Interested in using? Contact me or visit http://www.donardns.org.
![Page 49: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/49.jpg)
Questions?
![Page 50: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/50.jpg)
Related Work (Academic and Industry)
• Academic– Improving network measurement
• iPlane: An informationplane for distributed servicesH. V. Madhyastha, T. Isdal, M. Piatek, C. Dixon, T. Anderson,A. Krishnamurthy, and A. Venkataramani, “,” in OSDI, Nov. 2006
– “Application Layer Anycast”• OASIS: Anycast for Any Service
Michael J. Freedman, Karthik Lakshminarayanan, and David MazièresProc. 3rd USENIX/ACM Symposium on Networked Systems Design and Implementation(NSDI '06) San Jose, CA, May 2006.
• Proprietary– Amazon Elastic Load Balancing– UltraDNS– Akamai Global Traffic Management
![Page 51: DONAR Decentralized Server Selection for Cloud Services Patrick Wendell, Princeton University Joint work with Joe Wenjie Jiang, Michael J. Freedman, and](https://reader035.vdocument.in/reader035/viewer/2022062417/5518cd2f550346a61f8b5b06/html5/thumbnails/51.jpg)
Doesn’t [Akamai/UltraDNS/etc] Already Do This?
• Existing approaches use alternative, centralized formulations.
• Often restrict the set of nodes per-service.
• Lose benefit of large number of nodes (proxies/DNS servers/etc).