Measurement-Based Server Selection within the Application-Layer Anycasting Architecture Mostafa H. Ammar College of Computing Georgia Institute of Technology Atlanta, GA
Contributors zSamrat Bhattacharjee zZongming Fei zEllen Zegura
Server Replication zImproves service scalability zServer Selection Problem How does a client determine which of the replicated servers to access zInterested in Wide-Area Replication
Server Selection Alternatives zDesignated Server (e.g., nearest) zRound robin assignment (e.g., DNS rotator) zExplicit list with user selection zServer-cluster techniques (Netdispatcher, Local Director)
Other Interesting Work zDSS -- BU zSPAND -- Berkeley zMirror Characterization -- CMU zIDMaps -- UMich, UCLA et al...
Anycasting zNetwork-Layer Anycasting in RFC 1541 yAnycast IP addresses yNetwork-layer metrics yPer-packet selection
Application-Layer Anycasting zGroup of servers identified by Anycast Name zClients request service from group identified by name zAutomatic connection to a “good” server
An Architecture Resolver Orange Server Group Green Server Group Green Service? Go to server y Server y
Resolver z“Close” to client zMaintains yAnycast group membership ySelection-enabling information zClient may provide filter that tells resolver how to select zDNS-like hierarchy of resolvers
Web Server Selection zAn instantiation of architecture zCriterion: Best Response Time y[client request, last byte received] yincludes path and server delays zProblem: Maintaining response time estimate for each server in anycast group at resolver
Response Time Estimation Alternatives zProbe zPush zUser-Experience
Overview of Approach zResolver probes for path-dependent response time (RT) zServer measures and pushes path-independent processing time (TUFR) zLighter-weight push more frequent than heavier-weight probe zProbe result used to calibrate pushed value zOscillation prevention measures
Resolvers Probe for RT and Associated TUFR Resolver Orange Server Group Green Server Group SF = RT/TUFR RT & TUFR Probe for well-known representative “dummy” file maintained by server. TUFR written in file by server
Servers Push TUFR Resolver Orange Server Group Green Server Group RT = SF x TUFR TUFR
Resolver and Server Interaction Content Server Push Daemon Resolver Probe Anycast Resolver ServerResolver Performance Updates Probes Server Pushes Probe Updates
Server Push Process zTypical server response cycle assign process to handle query parse query locate requested file repeat until file is written read from file write to network zMeasure and smooth time until first read (TUFR) zPush if significant change
Resolver Probe Process zRequest dummy file from server zMeasure response time
Hybrid Push/Probe Technique zResolver: request dummy file from server zMeasure response time (RT) zDummy file contains most recent TUFR zEach probe: compute scaling factor SF = RT/TUFR zEach 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 UCLA WU UMD GT Servers: UCLA, GTx2, WU, Clients: UMDx4, GTx16, Resolvers: UMD, GT
Anycasting VS Random Selection
Summary of Experiments z 50% improvement using nearest server z Another 50% using Anycasting z More predictable Service
What if Anycasting is popular?
Avoiding Oscillations zIndicating “best” server when queried can result in oscillations zUse set of equivalent best servers zHysteresis to join and leave set zChoose randomly among set
Effect of Oscillation Prevention Technique Server Load Basic Technique Basic technique with oscillation prevention
Worried about Scalability? zMe Too! yMulticast pushed data yControl frequency of push/probe -- CMU’s results are encouraging yResolver can track “most promising” servers only yLimit number of Anycast Groups yUsers pay premium for service
Concluding Remarks zAppropriate guidance of clients to servers is an important infrastructure function zClient-perceived as well as global performance can be improved with the appropriate selection technology zEmerging services and network environment makes problem more challenging and more important