should a load-balancer choose the path as well as the server?

37
Should a load-balancer choose the path as well as the server? Nikhil Handigol Stanford University Joint work with Nick McKeown and Ramesh Johari

Upload: ami

Post on 23-Feb-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Should a load-balancer choose the path as well as the server?. Nikhil Handigol Stanford University Joint work with Nick McKeown and Ramesh Johari. Datacenter. Wide-area. Enterprise. Client. LOAD-BALANCER. Can’t choose path :’(. Servers. Outline and goals. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Should a load-balancer choose the path as well as the server?

Should a load-balancer choose the path

as well as the server?

Nikhil HandigolStanford University

Joint work with Nick McKeown and Ramesh Johari

Page 2: Should a load-balancer choose the path as well as the server?

Datacenter

Wide-area Enterprise

Page 3: Should a load-balancer choose the path as well as the server?

Can’t choose path :’(

LOAD-BALANCER

Client

Servers

Page 4: Should a load-balancer choose the path as well as the server?

Outline and goals A new architecture for

distributed load-balancing joint (server, path) selection

Demonstrate a nation-wide prototype

Interesting preliminary results

Page 5: Should a load-balancer choose the path as well as the server?

Data Path (Hardware)

Control Path OpenFlow

OpenFlow Controller

OpenFlow Protocol (SSL)

Control Path

Page 6: Should a load-balancer choose the path as well as the server?

Custom Hardware

Custom Hardware

Custom Hardware

Custom Hardware

Custom Hardware

OS

OS

OS

OS

OS

Network OS

Feature Feature

Software Defined Networking

Feature Feature

Feature Feature

Feature Feature

Feature Feature

Feature Feature

6

Page 7: Should a load-balancer choose the path as well as the server?

Load Balancing is just

Smart Routing

Page 8: Should a load-balancer choose the path as well as the server?

Custom Hardware

Custom Hardware

Custom Hardware

Custom Hardware

Custom Hardware

Network OS

Load-balancing logic

Load-balancing as a network primitive

Load-balancing decision

Load-balancing decision

Load-balancing decision

Load-balancing decision

Load-balancing decision

8

Page 9: Should a load-balancer choose the path as well as the server?

Aster*x Controller

Page 10: Should a load-balancer choose the path as well as the server?
Page 11: Should a load-balancer choose the path as well as the server?

http://www.openflow.org/videos

Page 12: Should a load-balancer choose the path as well as the server?

So far… A new architecture for distributed

load-balancing joint (server, path) selection

Aster*x – a nation-wide prototype Promising results that joint

(server, path) selection might have great benefits

Page 13: Should a load-balancer choose the path as well as the server?

What next?

Page 14: Should a load-balancer choose the path as well as the server?

How big is the pie?

Characterizing and quantifying the performance of joint (server, path) selection

Page 15: Should a load-balancer choose the path as well as the server?

Load-balancing Controller

MININET-RT

Page 16: Should a load-balancer choose the path as well as the server?

Load-balancing Controller

Page 17: Should a load-balancer choose the path as well as the server?

Clients CDNISP

Model

Page 18: Should a load-balancer choose the path as well as the server?

ParametersTopology

Intra-AS topologies

BRITE (2000 topologies)

CAIDA (1000 topologies)

Rocketfuel (~100 topos.)

20-50 nodesUniform link capacity

Page 19: Should a load-balancer choose the path as well as the server?

ParametersServers

5-10 serversRandom placement

ServiceSimple HTTP serviceServing 1 MB fileAdditional server-side computation

Page 20: Should a load-balancer choose the path as well as the server?

ParametersClients

3-5 client locationsRandom placement

Request patternPoisson process

Mean rate: 5-10 req/sec

Page 21: Should a load-balancer choose the path as well as the server?

Load-balancing strategies?

Page 22: Should a load-balancer choose the path as well as the server?

Simple but suboptimal

Complex but optimal

Design spaceDisjoint-Shortest-Path

Joint

Disjoint-Traffic-Engineering

Page 23: Should a load-balancer choose the path as well as the server?

Anatomy of a request-response

Client Load-Balancer ServerRe

spon

se T

ime

Deliver

Retrieve

Choose

Request

Response 1st byte

Response last byte

Last byte ack

Page 24: Should a load-balancer choose the path as well as the server?

Disjoint-Shortest-Path

CDN selects the least loaded server

Load = retrieve + deliverISP independently selects the shortest path

Page 25: Should a load-balancer choose the path as well as the server?

Disjoint-Traffic-Engineering

CDN selects the least loaded server

Load = retrieve + deliverISP independently selects path to minimize max load

Max bandwidth headroom

Page 26: Should a load-balancer choose the path as well as the server?

Joint

Single controller jointly selects the best (server, path) pair

Total latency = retrieve + estimated deliver

Page 27: Should a load-balancer choose the path as well as the server?

Disjoint-Shortest-Path vs Joint

Disjoint-Shortest-Path performs ~2x worse than Joint

Page 28: Should a load-balancer choose the path as well as the server?

Disjoint-Traffic-Engg. vs Joint

Disjoint-Traffic-Engineering performs almost as well as Joint

Page 29: Should a load-balancer choose the path as well as the server?

Is Disjoint truly disjoint?Client Load-Balancer Server

Resp

onse

Tim

e

Deliver

Retrieve

Choose

Request

Response 1st byte

Response last byte

Last byte ack

Server response time contains network information

Page 30: Should a load-balancer choose the path as well as the server?

The bottleneck effect

A single bottleneck resource along the path determines the performance.

Page 31: Should a load-balancer choose the path as well as the server?

Clients CDNISP

The CDN-ISP game

Page 32: Should a load-balancer choose the path as well as the server?

The CDN-ISP game System load monotonically

decreases Both push system in the same

direction

Page 33: Should a load-balancer choose the path as well as the server?

Summary of observations

Disjoint-SP is ~2x worse than Joint Disjoint-TE performs almost as well

as Joint (despite decoupling of server selection

and traffic engineering) Game theoretic analysis supports

the empirical observation

Page 34: Should a load-balancer choose the path as well as the server?

Conclusion A new architecture for

distributed load-balancing joint (server, path) selection

Aster*x - a nation-wide prototype Interesting preliminary results Future – application to other

contexts and applications

Page 35: Should a load-balancer choose the path as well as the server?

Let’s chat more!

Page 36: Should a load-balancer choose the path as well as the server?

Extra slides…

Page 37: Should a load-balancer choose the path as well as the server?

Sample topologies

BRITE CAIDA