Transcript PPT
Measurement-Based Server Selection
within the Application-Layer Anycasting
Architecture
Mostafa H. Ammar
College of Computing
Georgia Institute of Technology
Atlanta, GA
[email protected]
Contributors
Samrat Bhattacharjee
Zongming Fei
Ellen Zegura
Server Replication
Improves service scalability
Server Selection Problem
How does a client determine which
of the replicated servers to access
Interested in Wide-Area Replication
Server Selection Alternatives
Designated Server (e.g., nearest)
Round robin assignment (e.g., DNS
rotator)
Explicit list with user selection
Server-cluster techniques
(Netdispatcher, Local Director)
Other Interesting Work
DSS -- BU
SPAND -- Berkeley
Mirror Characterization -- CMU
IDMaps -- UMich, UCLA et al ...
Anycasting
Network-Layer Anycasting in RFC 1541
Anycast IP addresses
Network-layer metrics
Per-packet selection
Application-Layer Anycasting
Group of servers identified by
Anycast Name
Clients request service from group
identified by name
Automatic connection to a “good” server
An Architecture
Server y
Go to
server y
Green
Service?
Resolver
Orange Server Group
Green Server Group
Resolver
“Close” to client
Maintains
Anycast group membership
Selection-enabling information
Client may provide filter that tells
resolver how to select
DNS-like hierarchy of resolvers
Web Server Selection
An instantiation of architecture
Criterion: Best Response Time
[client request, last byte received]
includes path and server delays
Problem:
Maintaining response time estimate for
each server in anycast group at resolver
Response Time Estimation
Alternatives
Probe
Push
User-Experience
Overview of Approach
Resolver probes for
path-dependent response time (RT)
Server measures and pushes
path-independent processing time (TUFR)
Lighter-weight push more frequent than
heavier-weight probe
Probe result used to calibrate pushed value
Oscillation prevention measures
Resolvers Probe for RT and
Associated TUFR
SF =
RT/TUFR
RT &
TUFR
Probe for well-known representative “dummy”
file maintained by server.
TUFR written in file by server
Resolver
Orange Server Group
Green Server Group
Servers Push TUFR
TUFR
RT =
SF x TUFR
Resolver
Orange Server Group
Green Server Group
Resolver and Server Interaction
Content Server
Probes
Resolver Probe
Probe
Updates
Performance
Updates
Server
Pushes
Push Daemon
Server
Anycast Resolver
Resolver
Server Push Process
Typical server response cycle
assign process to handle query
parse query
locate requested file
repeat until file is written
read from file
write to network
Measure and smooth
time until first read (TUFR)
Push if significant change
Resolver Probe Process
Request dummy file from server
Measure response time
Hybrid Push/Probe Technique
Resolver: request dummy file from server
Measure response time (RT)
Dummy file contains most recent TUFR
Each probe: compute scaling factor
SF = RT/TUFR
Each Push: estimate response time
RT = SF x TUFR
Evaluation of Hybrid Technique
Resolver: UMD, Server: GT
Probe 1/50 accesses, Push max 1/4 sec
Wide-Area Experiments
WU
3
4
UMD
5
1
5
5
5
3
4
3
UCLA
GT
Servers: UCLA, GTx2, WU,
Clients: UMDx4, GTx16,
Resolvers: UMD, GT
Anycasting VS Random Selection
Summary of Experiments
Algorithm
Random
Nearest
Anycasting
Ave. Resp.
Time (Sec).
2.13
1.12
0.49
Standard
Dev. (Sec.)
6.96
2.47
0.69
50% improvement using nearest server
Another 50% using Anycasting
More predictable Service
What if Anycasting is popular?
Avoiding Oscillations
Indicating “best” server when queried
can result in oscillations
Use set of equivalent best servers
Hysteresis to join and leave set
Choose randomly among set
Effect of Oscillation
Prevention Technique
Server Load
Basic Technique
Basic technique with
oscillation prevention
Worried about Scalability?
Me Too!
Multicast pushed data
Control frequency of push/probe -CMU’s results are encouraging
Resolver can track “most promising”
servers only
Limit number of Anycast Groups
Users pay premium for service
Concluding Remarks
Appropriate guidance of clients to
servers is an important infrastructure
function
Client-perceived as well as global
performance can be improved with the
appropriate selection technology
Emerging services and network
environment makes problem more
challenging and more important