application-layer anycasting: a server selection architecture and use in a replicated web service

30
Application-Layer Application-Layer Anycasting: A Server Anycasting: A Server Selection Architecture Selection Architecture and Use in a and Use in a Replicated Web Service Replicated Web Service IEEE/ACM Transactions on IEEE/ACM Transactions on Networking Networking Vol.8, No. 4, August 2000 Vol.8, No. 4, August 2000 Ellen W. Zegura, Member, IEEE, Ellen W. Zegura, Member, IEEE, Mostafa H. Ammar, Senior Member, Mostafa H. Ammar, Senior Member, IEEE, IEEE, Zongming Fei, and Samrat Zongming Fei, and Samrat Bhattacharjee Bhattacharjee

Upload: keaton-morin

Post on 01-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service. IEEE/ACM Transactions on Networking Vol.8, No. 4, August 2000 Ellen W. Zegura, Member, IEEE, Mostafa H. Ammar, Senior Member, IEEE, Zongming Fei, and Samrat Bhattacharjee. Abstract. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Application-Layer Anycasting: A Application-Layer Anycasting: A Server Selection Architecture and Server Selection Architecture and Use in a Replicated Web ServiceUse in a Replicated Web Service

IEEE/ACM Transactions on NetworkingIEEE/ACM Transactions on Networking

Vol.8, No. 4, August 2000Vol.8, No. 4, August 2000Ellen W. Zegura, Member, IEEE,Ellen W. Zegura, Member, IEEE,

Mostafa H. Ammar, Senior Member, IEEE,Mostafa H. Ammar, Senior Member, IEEE,

Zongming Fei, and Samrat BhattacharjeeZongming Fei, and Samrat Bhattacharjee

Page 2: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

AbstractAbstract

Server replication improves the ability of a service Server replication improves the ability of a service to handle a large number of clients.to handle a large number of clients.

One of the important factors in the efficient One of the important factors in the efficient utilization of replicated servers is the ability to utilization of replicated servers is the ability to direct client requests to the “best” server.direct client requests to the “best” server.

This paper examines the definition and support of This paper examines the definition and support of the anycasting paradigm at the application layer, the anycasting paradigm at the application layer, providing a service that uses an anycast resolver to providing a service that uses an anycast resolver to map an anycast domain name and a selection map an anycast domain name and a selection criteria into an IP address.criteria into an IP address.

Page 3: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

anycastanycast

The anycast paradigm shares characteristics with The anycast paradigm shares characteristics with both the multicast and unicast paradigms.both the multicast and unicast paradigms.

Similar to multicast, the anycast paradigm consists Similar to multicast, the anycast paradigm consists of groups of destinations, with the semantics that of groups of destinations, with the semantics that each destination in a given anycast group is each destination in a given anycast group is equivalent in some sense.equivalent in some sense.

Similar to unicast, a sender that communicates Similar to unicast, a sender that communicates with an anycast group typically interacts with one with an anycast group typically interacts with one destination, chosen from the anycast group.destination, chosen from the anycast group.

Page 4: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Design goalsDesign goals

It should be flexible in the specification of It should be flexible in the specification of selection criteria.selection criteria.

It should be suitable for wide-area server It should be suitable for wide-area server replication.replication.

It should be deployable in the current It should be deployable in the current internet without modifications to the internet without modifications to the network infrastructure.network infrastructure.

It should be scalable to a large number of It should be scalable to a large number of services, clients, and client requests.services, clients, and client requests.

Page 5: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Methods currently used for server Methods currently used for server selectionselection

Domain name system modificationsDomain name system modifications– To return one IP address from a set of servers when the To return one IP address from a set of servers when the

DNS server is queried.DNS server is queried.– The DNS server typically uses a round-robin The DNS server typically uses a round-robin

mechanism to allocate the servers to clients.mechanism to allocate the servers to clients. Network-layer anycastingNetwork-layer anycasting

– RFC 1546RFC 1546– To associate a common IP anycast address with the To associate a common IP anycast address with the

group of replicated servers.group of replicated servers.– The limitations include lack of flexibility in the The limitations include lack of flexibility in the

selection criteria.selection criteria.

Page 6: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Methods currently used for server Methods currently used for server selection (Cont’d)selection (Cont’d)

Router-assisted server selectionRouter-assisted server selection– Client requests are directed to a DistributedDirector Client requests are directed to a DistributedDirector

(DD). The DD redirects the client to the best server.(DD). The DD redirects the client to the best server.

– It requires significant coordinated deployment of Cisco It requires significant coordinated deployment of Cisco equipment and relies on routing tables to determine hop equipment and relies on routing tables to determine hop counts from a server to a client.counts from a server to a client.

Combined caching and server selection systemsCombined caching and server selection systems– E.g., Akamai, Sandpiper.E.g., Akamai, Sandpiper.

– They Operate their own system of caches containing They Operate their own system of caches containing content from a large number of servers.content from a large number of servers.

Page 7: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

ArchitectureArchitecture

The anycast query contains the The anycast query contains the anycast domain anycast domain namename (ADN), which identifies the group, and the (ADN), which identifies the group, and the selection criteria to be used in choosing from the selection criteria to be used in choosing from the group.group.

In our scheme, an ADN is of the form <In our scheme, an ADN is of the form <ServiceService>>%<%<DomainNameDomainName>.>.

The The DomainNameDomainName part of the system indicates the part of the system indicates the location of the authoritative anycast resolver for location of the authoritative anycast resolver for this ADN.this ADN.

The The ServiceService part of the ADN identifies the service part of the ADN identifies the service within the authoritative resolver.within the authoritative resolver.

Page 8: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Architecture (Cont’d)Architecture (Cont’d)

Page 9: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Architecture (Cont’d)Architecture (Cont’d)

An anycast client makes its initial anycast query to An anycast client makes its initial anycast query to its local resolver.its local resolver.

If the resolver is authoritative for the ADN in the If the resolver is authoritative for the ADN in the query or if it has cached information about the query or if it has cached information about the ADN, it can process the query immediately and ADN, it can process the query immediately and return the appropriate response.return the appropriate response.

Otherwise, the local resolver determines the Otherwise, the local resolver determines the address of the authoritative resolver for the address of the authoritative resolver for the DomainNameDomainName part of the ADN and obtains the part of the ADN and obtains the anycast group information from this resolver.anycast group information from this resolver.

Page 10: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Architecture (Cont’d)Architecture (Cont’d)

Page 11: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Maintenance of metric Maintenance of metric information in resolversinformation in resolvers

Remote Server Performance ProbingRemote Server Performance Probing– A probing agent periodically queries the servers to A probing agent periodically queries the servers to

estimate the performance that a client would experience.estimate the performance that a client would experience.– This technique measures network path performance and This technique measures network path performance and

does not require server modification.does not require server modification. Server PushServer Push

– The server monitors its performance and pushes this The server monitors its performance and pushes this information to resolvers when interesting changes occur.information to resolvers when interesting changes occur.

– This technique are scalability and accurate server This technique are scalability and accurate server measurements.measurements.

– The servers must be modified and the network path The servers must be modified and the network path performance is not easily measured.performance is not easily measured.

Page 12: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Maintenance of metric Maintenance of metric information in resolvers (Cont’d)information in resolvers (Cont’d)

Probing for Locally Maintained Server Probing for Locally Maintained Server PerformancePerformance– Each server maintains its own locally monitored Each server maintains its own locally monitored

performance metrics in a globally readable file.performance metrics in a globally readable file.– Remote probing locations can then read the information Remote probing locations can then read the information

in the file to obtain the desired information.in the file to obtain the desired information. User ExperienceUser Experience

– Users currently make server access decisions based in Users currently make server access decisions based in part on past experience.part on past experience.

– The primary advantage is that no additional burden is The primary advantage is that no additional burden is placed on the server or the network.placed on the server or the network.

Page 13: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Maintenance of metric Maintenance of metric information in resolvers (Cont’d)information in resolvers (Cont’d)

P: number of probing agents

Tp: the period of probing

Ts: the period of server push

2P/Tp

1/Ts

2P/Tp

None

Page 14: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Case study:Case study:web server response timeweb server response time

Metric collection techniqueMetric collection technique– Server-push algorithmServer-push algorithm– Agent probe mechanismAgent probe mechanism– Hybrid push/probe techniqueHybrid push/probe technique

Page 15: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Metric collection techniqueMetric collection technique

Server-push algorithmServer-push algorithm– To assess its performance, the server measures the time To assess its performance, the server measures the time

from just after assigning the process until just before from just after assigning the process until just before doing the first read.doing the first read.

Agent probe mechanismAgent probe mechanism– The probe is made to a well-known file that is The probe is made to a well-known file that is

maintained at anycast-aware servers specifically to maintained at anycast-aware servers specifically to service probe requests.service probe requests.

– The file contains the most recent measured The file contains the most recent measured performance value by the server.performance value by the server.

– The response time depends on server and path The response time depends on server and path characteristics is probed.characteristics is probed.

Page 16: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Metric collection technique Metric collection technique (Cont’d)(Cont’d)

Hybrid push/probe techniqueHybrid push/probe technique– The idea is to use the probes to get a measurement of The idea is to use the probes to get a measurement of

the response time that includes the network path.the response time that includes the network path.– Let R denote the most recent measurement of response Let R denote the most recent measurement of response

time when probing for the well-known file.time when probing for the well-known file.– Let S denote the server time value reported in the file Let S denote the server time value reported in the file

during the most recent probe.during the most recent probe.– Let S(Let S(ii) denote the ) denote the iith value pushed by the server.th value pushed by the server.– Adjustment factor A = R/S.Adjustment factor A = R/S.– Thus, the resolver estimates the current response time Thus, the resolver estimates the current response time

as R(as R(ii) = A * S() = A * S(ii).).

Page 17: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Evaluation of push-probe Evaluation of push-probe techniquetechnique

Page 18: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

RefinementRefinement

The set of equivalent servers (ES) is defined as the The set of equivalent servers (ES) is defined as the subset of the replicated servers whose measured subset of the replicated servers whose measured performance is within a threshold of best performance is within a threshold of best performance.performance.

Page 19: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Software componentsSoftware components

Page 20: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Experimental setupExperimental setup

Anycast-aware serversAnycast-aware servers– Use a modified Apache http daemon to act as a Use a modified Apache http daemon to act as a

performance-monitoring server.performance-monitoring server.– The modified web server emulates the real server in the The modified web server emulates the real server in the

number of bytes sent for each request, without actually number of bytes sent for each request, without actually maintaining the files of the real server.maintaining the files of the real server.

ClientsClients– Modifying the NCSA Mosaic client to have the desired Modifying the NCSA Mosaic client to have the desired

behavior.behavior.– Intercepting calls to the gethostbyname() library call Intercepting calls to the gethostbyname() library call

and check if the argument is an ADN.and check if the argument is an ADN.

Page 21: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Experimental setup (Cont’d)Experimental setup (Cont’d)

Anycast resolver and probing agentAnycast resolver and probing agent– Use a modified NCSA Mosaic client that periodically Use a modified NCSA Mosaic client that periodically

queries each server in the anycast group for the probing file, queries each server in the anycast group for the probing file, and communicates the end-to-end response time and and communicates the end-to-end response time and performance data to the resolver.performance data to the resolver.

Client and server internet locationsClient and server internet locations– There were four anycast-aware servers, one running at There were four anycast-aware servers, one running at

Washington University, St. Louis, and two running at Washington University, St. Louis, and two running at Georgia Tech.Georgia Tech.

– The anycast resolvers were run at the University of The anycast resolvers were run at the University of Maryland, College Park, and Georgia Tech.Maryland, College Park, and Georgia Tech.

– The anycast-aware clients were located at the University of The anycast-aware clients were located at the University of Maryland and Georgia Tech.Maryland and Georgia Tech.

Page 22: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Experimental topologyExperimental topology

Page 23: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Experimental resultsExperimental results

Page 24: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Experimental results (Cont’d)Experimental results (Cont’d)

We could not control variation in the load of We could not control variation in the load of network paths. Thus the response times for a given network paths. Thus the response times for a given request cannot be directly compared. Instead, the request cannot be directly compared. Instead, the important feature of the plot is the relative values important feature of the plot is the relative values over the complete set of assesses.over the complete set of assesses.

Page 25: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Experimental results (Cont’d)Experimental results (Cont’d)

Page 26: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Experimental results (Cont’d)Experimental results (Cont’d)

Page 27: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Experimental results (Cont’d)Experimental results (Cont’d)

Page 28: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Join and leave thresholdsJoin and leave thresholds

When the leave threshold increases to 1.6, the When the leave threshold increases to 1.6, the response time is almost the same as in the random response time is almost the same as in the random selection case. This is because a server will rarely selection case. This is because a server will rarely leave the equivalent group after joining it. The leave the equivalent group after joining it. The resolvers essentially perform a random selection resolvers essentially perform a random selection among the servers.among the servers.

The relatively poor performance for low values of The relatively poor performance for low values of both join and leave threshold is caused by both join and leave threshold is caused by oscillation in server load. Since the thresholds are oscillation in server load. Since the thresholds are low, the equivalent server set at a resolver will low, the equivalent server set at a resolver will usually contain only server.usually contain only server.

Page 29: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Oscillation in server loadOscillation in server load

Page 30: Application-Layer Anycasting: A Server Selection Architecture and Use in a Replicated Web Service

Oscillation in server load (cont’d)Oscillation in server load (cont’d)