Date post: | 05-Jan-2016 |
Category: |
Documents |
Upload: | amanda-golden |
View: | 215 times |
Download: | 2 times |
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?