Agile Dynamic Provisioning of Multi-Tier Internet Applications
Journal or Book Title
ACM TRANSACTIONS ON AUTONOMOUS AND ADAPTIVE SYSTEMS
Dynamic capacity provisioning is a useful technique for handling the multi-time-scale variations seen in Internet workloads. In this article, we propose a novel dynamic provisioning technique for multi-tier Internet applications that employs (1) a flexible queuing model to determine how much of the resources to allocate to each tier of the application, and (2) a combination of predictive and reactive methods that determine when to provision these resources, both at large and small time scales. We propose a novel data center architecture based on virtual machine monitors to reduce provisioning overheads. Our experiments on a forty-machine Xen/Linux-based hosting platform demonstrate the responsiveness of our technique in handling dynamic workloads. In one scenario where a flash crowd caused the workload of a three-tier application to double, our technique was able to double the application capacity within five minutes, thus maintaining response-time targets. Our technique also reduced the overhead of switching servers across applications from several minutes to less than a second, while meeting the performance targets of residual sessions.
Urgaonkar, B; Shenoy, P; Chandra, A; Goyal, P; and Wood, T, "Agile Dynamic Provisioning of Multi-Tier Internet Applications" (2008). ACM TRANSACTIONS ON AUTONOMOUS AND ADAPTIVE SYSTEMS. 1011.