Talk: A Scalable Distribution Service for Dynamic Web Content
Paper:
The phenomenal growth of the world wide web has made it the most popular Internet application today. Web caching has been recognized as an important vehicle to mitigate web traffic explosion. Proxy caches reduce the number of web accesses across the network backbones. Unfortunately, the current proxy caching schemes are quickly becoming inadequate for two different reasons.
First, present Internet applications are becoming increasingly diverse in their QoS requirements. The existing caching infrastructure, however, treats all clients and content alike. We propose to investigate QoS-aware caching policies for future web applications with QoS requirements. Such caching policies will be fundamentally different from the ones that exist today. While present caching approaches optimize aggregate metrics such as URL hit rate or byte hit rate, future caches will have per-client-class or per-traffic-class QoS requirements that must be individually met.
Second, an increasing fraction of web traffic today is dynamically generated, and therefore uncacheable using present static approaches. We propose to develop a fundamentally new set of protocols that address the problem of active caching, i.e., replicating server scripts for local execution on the cache. Active caching introduces a myriad of new challenges. Cached scripts consume not only storage space, but also computing power and I/O bandwidth, and may require fetching additional data objects from the origin server. The new caching and replacement policies would have to take these new resource requirements into consideration. Since cached documents are no longer read-only, the consistency problem is exacerbated by potential concurrent updates of cached object replicas. An additional degree of difficulty arises if the active cache is to give customized QoS guarantees. This is in part due to the difficulty in assessing the new computational resource requirements of cached objects as opposed to storage requirements of static files.
In developing an active caching architecture with QoS support, we shall focus on new research aspects and architectural requirements arising from combining active caching and QoS. These include QoS-awareness, scalability, adaptation, and consistency management. Scalability is important since active caches will in general consume more resources than their static counterparts and have more complicated consistency problems. Adaptation will be necessary to deal with the unpredictability in resource requirements; while present caching policies know the exact size of cached content and the exact storage capacity of the cache, in future active caches the bottleneck may be the computing power and the computing requirements of cached objects may be unknown. Finally, in QoS-sensitive active caching, evolvability will become an important consideration. Performance guarantees such as throughput and response time, by necessity, depend on platform resource capacity. Algorithms for performance guarantees are therefore, in part, platform dependent. Evolvable architectures that we propose will abstract away this dependency using online platform parameter estimation techniques borrowed from estimation and feedback control theory.