slides
-
Upload
webhostingguy -
Category
Documents
-
view
203 -
download
0
Transcript of 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
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
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
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 ?
Client
Content Equivlent Servers
Request
??
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
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
Client
Content Equivlent Servers
Request
Reply
Anycast mechanism resolves to one of
possible many
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
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
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
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
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
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
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
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
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
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
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
Performance of Hybrid AlgorithmPerformance of Hybrid Algorithm
Wide-Area ExperimentWide-Area Experiment
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
Performance of Anycast vs Performance of Anycast vs Random SelectionRandom Selection
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
Performance as More Clients Performance as More Clients AnycastAnycast
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
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
Skeletons in the closetSkeletons in the closet
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]
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
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