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

21
A Throttling Layer-7 Web Switch James Furness

Upload: amanda-golden

Post on 05-Jan-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

A Throttling Layer-7 Web SwitchJames Furness

Page 2: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

Page 3: A Throttling Layer-7 Web Switch James 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

Page 4: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

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

Page 5: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

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

Page 6: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

Page 7: A Throttling Layer-7 Web Switch James Furness. 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

Page 8: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

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

Page 9: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

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

Page 10: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

10 A Throttling Layer-7 Web Switch

System Architecture

• Scalable

Content-blind load balancer

(Layer-4)

Web Switches(Layer-7)

Server pool

• Portable (Java)

Page 11: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

Page 12: A Throttling Layer-7 Web Switch James Furness. 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

Page 13: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

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

Page 14: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

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

Page 15: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

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

Page 16: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

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

Page 17: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

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

Page 18: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

Page 19: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

•Motivation & Goals

•Specification & Design

•Design detail

•Demonstration

•Conclusion

Page 20: A Throttling Layer-7 Web Switch James Furness. 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

Page 21: A Throttling Layer-7 Web Switch James Furness. Motivation & Goals Specification & Design Design detail Demonstration Conclusion

Questions?