Abstract :
Web and service applications are generally I/O bound and follow a Zipf-like request distribution, ushering in potential for significant latency reduction by caching and reusing results. However, such web caches require manual resource allocation, and when deployed in the cloud, costs may further complicate the provisioning process. We propose a fully autonomous, self-scaling, and cost-aware cloud cache with the objective of accelerating data-intensive applications. Our system, which is distributed over multiple cloud nodes, intelligently provisions resources at runtime based on user´s cost and performance expectations, while abstracting the various low-level decisions regarding efficient cloud resource management and data placement within the cloud from the user. Our prediction model lends the system the capability to auto-configure the optimal resource requirement to automatically scale itself up (or down) to accommodate demand peaks while staying within certain cost constraints while fulfilling the performance expectations. Our evaluation shows a 5.5 time speedup for a typical web workload, while staying under cost constraints.
Keywords :
cache storage; cloud computing; decision making; resource allocation; service-oriented architecture; I-O bound; Web applications; Web workload; Zipf-like request distribution; cloud resource management; cost reconciling; cost-aware cloud cache; data placement; data-intensive applications; elastic Web caches; latency reduction; manual resource allocation; multiple cloud nodes; optimal resource requirement; performance expectations; performance objectives; provisioning process; self-scaling; service applications; user cloud; users cost based runtime; various low-level decisions; Acceleration; Cloud computing; Linear programming; Optimization; Radio frequency; Resource management; cache modeling; cloud; optimization;