31
Application Layer Anycasting: Application Layer Anycasting: A Server Selection A Server Selection Architecture and Use in Architecture and Use in Replicated Web Service Replicated Web Service Ellen W. Zegura Ellen W. Zegura Mostafa H. Amamr Mostafa H. Amamr Zongming Fei Zongming Fei Networking and Telecommunications Group Networking and Telecommunications Group Georgia Tech, Atlanta, GA Georgia Tech, Atlanta, GA Samrat Battacharjee Samrat Battacharjee Department of Computer Science Department of Computer Science University of Maryland, College Park, MD University of Maryland, College Park, MD Presented by Presented by Anwar M. Haneef Anwar M. Haneef Electrical and Computer Engineering Electrical and Computer Engineering University of Massachusetts, Amherst University of Massachusetts, Amherst

slides

Embed Size (px)

Citation preview

Page 1: slides

Application Layer Anycasting: A Server Application Layer Anycasting: A Server Selection Architecture and Use in Selection Architecture and Use in

Replicated Web ServiceReplicated Web Service

Ellen W. ZeguraEllen W. ZeguraMostafa H. AmamrMostafa H. Amamr

Zongming FeiZongming FeiNetworking and Telecommunications GroupNetworking and Telecommunications Group

Georgia Tech, Atlanta, GAGeorgia Tech, Atlanta, GA

Samrat BattacharjeeSamrat BattacharjeeDepartment of Computer ScienceDepartment of Computer Science

University of Maryland, College Park, MDUniversity of Maryland, College Park, MD

Presented byPresented by

Anwar M. HaneefAnwar M. HaneefElectrical and Computer EngineeringElectrical and Computer EngineeringUniversity of Massachusetts, AmherstUniversity of Massachusetts, Amherst

Page 2: slides

AgendaAgenda

Problem StatementProblem Statement

The Anycasting Communication ParadigmThe Anycasting Communication Paradigm

Some Related WorkSome Related Work

Application Layer AnycastingApplication Layer Anycasting

Experimental ResultsExperimental Results

ConclusionsConclusions

Page 3: slides

Problem StatementProblem Statement

Efficient service provision in wide area Efficient service provision in wide area networksnetworks

Replicated servicesReplicated services

Applications want access to the best Applications want access to the best serverserver

Best may depend on time, performance, Best may depend on time, performance, policypolicy

Page 4: slides

Server ReplicationServer Replication

Standard technique to improve scalability Standard technique to improve scalability of a serviceof a serviceIssues in server replicationIssues in server replication Location of serversLocation of servers Consistency across serversConsistency across servers Server selectionServer selection

Server selection problemServer selection problem How does a client determine which of the How does a client determine which of the

replicated servers to access ?replicated servers to access ?

Page 5: slides

Client

Content Equivlent Servers

Request

??

Page 6: slides

Server SelectionServer Selection

AlternativesAlternatives Designated (e.g. nearest) serverDesignated (e.g. nearest) server Round robin assignment (e.g. DNS rotator)Round robin assignment (e.g. DNS rotator) Explicit list with user selectionExplicit list with user selection Selection architecture (e.g. Cisco DistributedDirector)Selection architecture (e.g. Cisco DistributedDirector)

Application-Layer Anycasting:Application-Layer Anycasting: Client requests connection to anycast groupClient requests connection to anycast group Anycast group consists of replicated (equivalent) Anycast group consists of replicated (equivalent)

serversservers System connects client to any good serverSystem connects client to any good server

Page 7: slides

Anycasting Communication Anycasting Communication ParadigmParadigm

Anycast identifier specifies a group of Anycast identifier specifies a group of equivalent hostsequivalent hosts

Requests are sent to best host in the Requests are sent to best host in the groupgroup

Page 8: slides

Client

Content Equivlent Servers

Request

Reply

Anycast mechanism resolves to one of

possible many

Page 9: slides

Existing Anycast Solutions and Existing Anycast Solutions and LimitationsLimitations

Existing Solutions:Existing Solutions: RFC 1546 Host Anycasting ServiceRFC 1546 Host Anycasting Service

Definition of anycasting communication paradigmDefinition of anycasting communication paradigmImplementation suggestions for the network layerImplementation suggestions for the network layer

IETF Server Location Protocol – Still existing ?IETF Server Location Protocol – Still existing ? AKAMAI and other commercial cache/CDNsAKAMAI and other commercial cache/CDNs Cisco DistributedDirectorCisco DistributedDirector

LimitationsLimitations Global router supportGlobal router support Per diagram destination selectionPer diagram destination selection Limited set of metricsLimited set of metrics No option for user input in server selectionNo option for user input in server selection Allocation of IP address space for anycast addressAllocation of IP address space for anycast address

Page 10: slides

Application-Layer AnycastingApplication-Layer Anycasting

Application

Client filters

Anycast group table

Resolver filters

Anycast-aware client Anycast Resolver

Anycast query

(truncated) list of servers

List of serversBest

server

Page 11: slides

FiltersFilters

Content-independent filtersContent-independent filters E.g. Round-robinE.g. Round-robin

Metric-based filtersMetric-based filters E.g. Minimum response timeE.g. Minimum response time

Policy-based filtersPolicy-based filters E.g. Minimum costE.g. Minimum cost

Filter Specification – Meteric Qualified ADN:Filter Specification – Meteric Qualified ADN: <Meteric_Service>%<Domain Name><Meteric_Service>%<Domain Name> ServerLoad.Daily_News%cc.gatech.eduServerLoad.Daily_News%cc.gatech.edu

Page 12: slides

Application-layer Anycasting Application-layer Anycasting ArchitectureArchitecture

Client-Server Communication

Push Daemon

Content Server

Anycast Resolver

Resolver Probe

Anycast aware Client

Client

Server Resolver

Probes

Server Pushes

Anycast Query/ Response

Probe Updates

Performance Updates

Page 13: slides

Anycast GroupsAnycast Groups

Anycast groups consist of collection of IP Anycast groups consist of collection of IP addresses, domain names or aliasesaddresses, domain names or aliasesGroup members provide equivalent Group members provide equivalent service, e.g., mirrored FTP servers or web service, e.g., mirrored FTP servers or web search enginessearch enginesAnycast groups identified by Anycast Anycast groups identified by Anycast Domain NamesDomain NamesGroup membership an orthogonal issue Group membership an orthogonal issue architecture aliasesarchitecture aliases

Page 14: slides

Anycast Domain NamesAnycast Domain Names

Structure: <Service>%<Domain Name>Structure: <Service>%<Domain Name>

Example:Example: Daily-News%cc.gatech.eduDaily-News%cc.gatech.edu

Local anycast resolverAuthoritative anycast resolver for AND X

Anycast client

1. Request ADN X

2. Determine auth. resolver

3. Request members, metrics for ADN X

4. Members and metrics for ADN X5. Cache ADN X

6. Anycast response

Page 15: slides

ImplementationImplementation

Implementation using Metric Qualified Implementation using Metric Qualified ADNsADNs

Intercept calls to Intercept calls to gethostbynamegethostbyname

Transparent access to anycasting without Transparent access to anycasting without modifying existing applicationsmodifying existing applications

gethostbyname

Anycast Resolver

DNS

Filters

ADN Domain Names

other

IP Address

Page 16: slides

Response Time Determination Response Time Determination for Web Serversfor Web Servers

Response time:Response time: Measured from time client issues request until Measured from time client issues request until

receives last byte of file of networkreceives last byte of file of network Round trip path delays + server processing delaysRound trip path delays + server processing delays

Overview of technique:Overview of technique: Resolver probes for path-dependent response timeResolver probes for path-dependent response time Server measures and pushes path-independent Server measures and pushes path-independent

processing timeprocessing time Lighter-weight push more frequent than heavier-Lighter-weight push more frequent than heavier-

weght probeweght probe Probe result used to calibrate pushed valueProbe result used to calibrate pushed value

Page 17: slides

Performance Metric DeterminationPerformance Metric Determination

Metric collection techniquesMetric collection techniques Server push algorithmServer push algorithm Agent probe mechanismAgent probe mechanism Hybrid push/probe techniqueHybrid push/probe technique

Page 18: slides

Server Push ProcessServer Push Process

Typical server response cycle:Typical server response cycle:assign process to handle queryassign process to handle queryparse queryparse querylocate requested filelocate requested filerepeat until file is writtenrepeat until file is written

read from fileread from filewrite to networkwrite to network

Process:Process: Measure and smooth time until first read Measure and smooth time until first read

(TUFR)(TUFR) Push if significant changePush if significant change

Page 19: slides

Resolver Process and Hybrid Resolver Process and Hybrid TechniqueTechnique

Resolver probe process:Resolver probe process: Request dummy file from serverRequest dummy file from server Measure response time (RT)Measure response time (RT)

Hybrid push-probe techniqueHybrid push-probe technique Dummy file contains most recent TUFRDummy file contains most recent TUFR Each probe: compute scaling factor SF = Each probe: compute scaling factor SF =

RT/TUFRRT/TUFR Each push: estimate RT = SF x TUFREach push: estimate RT = SF x TUFR

Page 20: slides

Performance of Hybrid AlgorithmPerformance of Hybrid Algorithm

Page 21: slides

Wide-Area ExperimentWide-Area Experiment

Page 22: slides

RefinementRefinement

Problem of oscillation among serversProblem of oscillation among servers

Set of Equivalent Servers (ES)Set of Equivalent Servers (ES) Subset of the replicated servers whose Subset of the replicated servers whose

measured performance is within a threshold of measured performance is within a threshold of best performancebest performance

Page 23: slides

Performance of Anycast vs Performance of Anycast vs Random SelectionRandom Selection

Page 24: slides

Performance of Server Location Performance of Server Location SchemesSchemes

Server Location Server Location AlgorithmAlgorithm

Average Response Average Response Time (sec.)Time (sec.)

Standard Deviation Standard Deviation (sec.)(sec.)

AnycastingAnycasting 0.490.49 0.690.69

Nearest ServerNearest Server 1.121.12 2.472.47

RandomRandom 2.132.13 6.966.96

50% improvement using Nearest Server50% improvement using Nearest Server

Another 50% improvement using AnycastingAnother 50% improvement using Anycasting

More predictable serviceMore predictable service

Page 25: slides

Performance as More Clients Performance as More Clients AnycastAnycast

Page 26: slides

Avoid Oscillations Among Avoid Oscillations Among ServersServers

Basic technique:Basic technique: Estimate response time for each serverEstimate response time for each server Indicate the best server when queriedIndicate the best server when queried

Identifying one best server can result in Identifying one best server can result in oscillationsoscillations

Use set of equivalent serversUse set of equivalent servers

Choose randomly among equivalent Choose randomly among equivalent serversservers

Page 27: slides

ConclusionsConclusions

SummarySummary Server replication increasingly important – web Server replication increasingly important – web

services etc. services etc. Application layer architecture that is scalable using Application layer architecture that is scalable using

replicated resolvers organized in a DNS like hierarchyreplicated resolvers organized in a DNS like hierarchy Web server performance can be tracked with Web server performance can be tracked with

reasonable relative accuracy. Techniques used can reasonable relative accuracy. Techniques used can be generalized to other serversbe generalized to other servers

A hybrid push-probe technique provides scalable A hybrid push-probe technique provides scalable monitoring. May be useful in other contextsmonitoring. May be useful in other contexts

Application-layer anycasting gives significant Application-layer anycasting gives significant improvement over other server selection techniquesimprovement over other server selection techniques

Page 28: slides

Skeletons in the closetSkeletons in the closet

Page 29: slides

Skeletons in the closetSkeletons in the closet

DiscussionsDiscussions Was the study extensive enough ?Was the study extensive enough ?

4 Anycast-aware servers – UCLA (1), WUStL(1), Gatech (2)4 Anycast-aware servers – UCLA (1), WUStL(1), Gatech (2)Anycast resolvers – UMD, GatechAnycast resolvers – UMD, Gatech20 Anycast-aware clients – UMD (4), Gatech (16)20 Anycast-aware clients – UMD (4), Gatech (16)

Study of anycast vs random selectionStudy of anycast vs random selection Experiments done one after another – any Experiments done one after another – any

performance difference due to cached content ?performance difference due to cached content ?

Would performance improve if network-support Would performance improve if network-support for path performance metrics included ?for path performance metrics included ? Global IP-anycast [SIGCOMM00]Global IP-anycast [SIGCOMM00]

Page 30: slides

LAST_ACKLAST_ACK

Prof. Jim Kurose, UMASS, AmherstProf. Jim Kurose, UMASS, Amherst

Prof. Brian Levine, UMASS, AmherstProf. Brian Levine, UMASS, Amherst

Prof. Don Towsley, UMASS, AmherstProf. Don Towsley, UMASS, Amherst

Prof. Bobby Prof. Bobby BhattacharjeeBhattacharjee, UMCP, UMCP

Dr. Ellen SeguraDr. Ellen Segura, Gatech, Gatech

Janhavi Rajagopal, UMASS, AmherstJanhavi Rajagopal, UMASS, Amherst

Sharad Jaiswal, UMASS, AmherstSharad Jaiswal, UMASS, Amherst

Page 31: slides

Thank You !!!Thank You !!!Anwar M. HaneefAnwar M. [email protected]@ieee.org

http://www-unix.ecs.umass.edu/~ahaneefhttp://www-unix.ecs.umass.edu/~ahaneef