a throttling layer-7 web switch james furness. motivation & goals specification & design...

Post on 05-Jan-2016

218 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

A Throttling Layer-7 Web SwitchJames Furness

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

3 A Throttling Layer-7 Web Switch

Project Goals

• Present a heterogeneous pool of web servers as a single virtual server

• Maximise availability and response times by throttling

• Balance load between servers in pool

• Design as a modular framework to maximise extensibility

4 A Throttling Layer-7 Web Switch

Motivation

• Rapid growth in usage of the world-wide web

• Rapid growth in bandwidth available to end user• Users expect timely responses

Source: Netcraft

5 A Throttling Layer-7 Web Switch

Motivation

• Web sites must continue to provide timely responses to all users under high demand

• Options:

– Slow incoming request rate

– Increase capacity/parallelism

– Increase throughput

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

7 A Throttling Layer-7 Web Switch

System Specification

• Cluster-based Web system

• Layer-7 switching

• Virtual File System allows multiple versions of content to be provided on multiple backend servers

• Aim: Degrade responses from highest quality as load increases

8 A Throttling Layer-7 Web Switch

Control Layer Architecture• VFS performs virtual to

physical mapping and stores Path monitoring data

• Policy engine prioritises alternative versions of content according to load

• Control Layer interface provides façade

• System monitors and dispatching algorithm user-specified

Control Layer Interface

Control Layer

Routing Layer

Virtual Path Mapper

Dispatching Algorithm

Configuration Module

SystemMonitors

Callbacks

Policy Engine

Virtual File System

Monitoring Data

9 A Throttling Layer-7 Web Switch

System Architecture• Two-layer approach

• Separate routing and the logic making routing decisions

• Abstracts routing method from Control Layer

• Control Layer can be retro-fitted to any web switch

• Routing Layer is a minimally modified proxy server

Control Layer

Routing Layer

1. Request

2. Virtual Path

3. Physical Paths

4. Ordered Physical

Paths

5. Rewritten Request

6. Response7. Response

Web Switch

User

DecodeRequest

Virtual to Physical

Translation

LoadBalancing

RewriteRequest

Pool Servers

ForwardResponse

10 A Throttling Layer-7 Web Switch

System Architecture

• Scalable

Content-blind load balancer

(Layer-4)

Web Switches(Layer-7)

Server pool

• Portable (Java)

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

12 A Throttling Layer-7 Web Switch

Default Policy

• Carry alternative pages of varying bandwidth/load

• Switch between versions to prevent flooding of outbound bandwidth and to reduce response times of dynamic pages under high load

• Prioritise physical paths using:– Monitoring data

• System data

• Host data

• Path data

– Metadata

• Load Weighting

• Bandwidth Weighting

13 A Throttling Layer-7 Web Switch

Default Monitoring Data

1. Collect system bandwidth usage2. Collect physical path response times

• Response time provides a platform independent measure of end-to-end system performance

• Calibrate system by including target response time average + standard deviation in metadata

• Normalise monitored response times using metadata

• Collect average of recent normalised response times for path and also for all paths on host using sliding window

14 A Throttling Layer-7 Web Switch

Default Dispatching Algorithm

• Throttle bandwidth back as connection maximum is approached

• Favour paths averaging < 1 s.d

• Reward/punish dynamic pages more than static pages

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0% 20% 40% 60% 80% 100% 120%

Current bandwidth (% of max)

Th

rott

le v

alu

e

-2

-1

0

1

2

3

4

-3 -2 -1 0 1 2 3

Average standardised measured response time (μ)

Pat

h lo

ad r

anki

ng

(W

L)

L=0

L=0.25

L=0.5

L=0.75

L=1

15 A Throttling Layer-7 Web Switch

Default Dispatching Algorithm

• Secondary criteria:

• Favour hosts with low average standardised response time

• Favour hosts with least active connections

16 A Throttling Layer-7 Web Switch

Experimental Results

0.0%

10.0%

20.0%

30.0%

40.0%

50.0%

60.0%

70.0%

80.0%

90.0%

100.0%

0 10 20 30 40 50 60

Maximum number of Concurrent Connections

% o

f re

spo

nse

s

High Load Medium Load Low Load

0.0%

10.0%

20.0%

30.0%

40.0%

50.0%

60.0%

70.0%

80.0%

90.0%

100.0%

0 10 20 30 40 50

Maximum number of Concurrent Connections

% o

f re

spo

nse

s

High Quality Medium Quality Low Quality

17 A Throttling Layer-7 Web Switch

Experimental Results

0

10

20

30

40

50

60

70

80

0 10 20 30 40 50

Maximum number of Concurrent Connections

Rat

e (t

ran

sact

ion

s/se

c)

With Alternatives Without Alternatives

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

20 A Throttling Layer-7 Web Switch

Conclusion

• System designed & implemented conforming to goals

• Scalable

• Testing proves an increase in throughput compared to a system without throttling

Questions?

top related