100 likes | 119 Views
ACDNs serve content for applications, offer replication & distribution frameworks, request distribution & content placement algorithms. Explore the CDN value for deploying and updating replicas efficiently.
E N D
ACDN: A CDN for Applications Pradnya Karbhari Michael Rabinovich Zhen Xiao Fred Douglis AT&T Labs -- Research
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
ACDN Components • Replication framework • Dynamically install and uninstall applications based on demand • Maintain replica consistency • Content placement algorithms • Request distribution algorithms
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
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
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
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
Algorithmic Challenges • Convergence • Moving replicas around • Load oscillations • Responsiveness and stability • Distributed vs. Centralized Algorithms • Interplay between request distribution and content placement
Load Balancing Algorithm Initial 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
Overview of the Prototype Server2 Primary Server Replicator Replicator Internet Central Replicator DNS Redirector Server3 Replicator Client