Upload
bonnie-gilbert
View
213
Download
1
Embed Size (px)
Citation preview
ACDN: A CDN for Applications
Pradnya KarbhariMichael Rabinovich
Zhen XiaoFred Douglis
AT&T Labs -- Research
2
Content Distribution Networks Comprise surrogate servers that serve
content on behalf of origin servers Can serve static pages, streaming
content, applications Static pages can be served by client-side
caches as well [Gadde et al. 2000] Same for streaming content
Unique CDN value: Distributing applications Retaining control over content
3
ACDN Components
Replication framework Dynamically install and uninstall
applications based on demand Maintain replica consistency
Content placement algorithms Request distribution algorithms
4
Replication Framework Inspired by work on software distribution (e.g.,
Marimba) Metafile for each application containing:
A list of time-stamped files (data and executable files)
An initialization script (or a pointer to it)
FILE /home/applications/mapping/query_engine.cgi 1999.apr.14.08:46:12 FILE /home/applications/mapping/map_database 2000.oct.15.13:15:59 FILE /home/applications/mapping/user_preferences 2001.jan.30.18:00:05
SCRIPT mkdir /home/applications/mapping/access_stats setenv ACCESS_DIRECTORY /home/applications/mapping/access_stats
ENDSCRIPT
5
Application Metafile
A metafile is a simple static Web page Having a metafile is sufficient to deploy
the application Having the current metafile is sufficient
to bring the application replica up-to-date.
Consistency of application replicas => consistency of cached copies of the metafile
6
Framework Tasks Creating a replica
Obtaining a metafile Obtaining a tar file with all files listed in the metafile Running the initialization script
Updating a replica Obtaining the diff of metafiles Obtaining files that are new
Deleting a replica Retaining the deleted replica for some time to
process residual requests before physical deletion
7
Algorithms
Request distribution algorithm Load balancing among servers that have
the requested application Proximity of servers to requesting clients
Content placement algorithm Distributed decision - at each CDN server
Total load on the server Percentage of requests from other regions Prediction of load after replication or migration Placement costs: bytes transferred during
replication vs. bytes transferred during responses
8
Algorithmic Challenges
Convergence Moving replicas around Load oscillations
Responsiveness and stability Distributed vs. Centralized
Algorithms Interplay between request
distribution and content placement
9
Load Balancing AlgorithmInitial probabilities: Loop through the replicas in order of decreasing proximity if load(i) < LW prob(i) =1.0 else if LW <= load(i) < HW prob(i) = (HW – load(i)) / (HW – LW) else prob(i) = 0.0
Adjustments: remainder = 1.0 Loop through the replicas in order of decreasing proximity prob(i) = prob(i) * remainder remainder = remainder – prob(i)
Final probabilities: prob(i) = prob(i) / sum of all
10
Overview of the Prototype
Internet
Client
DNS Redirector
Primary Server
Server2
Server3
Central Replicator
Replicator
Replicator
Replicator