Elasticity is the ability of a cloud infrastructure to dynamically change theamount of resources allocated to a running service as load changes. We build anautonomous elasticity controller that changes the number of virtual machinesallocated to a service based on both monitored load changes and predictions offuture load. The cloud infrastructure is modeled as a G/G/N queue. This modelis used to construct a hybrid reactive-adaptive controller that quickly reactsto sudden load changes, prevents premature release of resources, takes intoaccount the heterogeneity of the workload, and avoids oscillations. Using simulations with Web and cluster workload traces, we show that our proposed controller lowers the number of delayed requests by a factor of 70 for the Web traces and 3 for the cluster traces when compared to a reactive controller. Ourcontroller also decreases the average number of queued requests by a factor of 3 for both traces, and reduces oscillations by a factor of 7 for the Web traces and 3 for the cluster traces. This comes at the expense of between 20% and 30% over-provisioning, as compared to a few percent for the reactive controller.
NATURVETENSKAP -- Data- och informationsvetenskap -- Datavetenskap (datalogi) (hsv//swe)
NATURAL SCIENCES -- Computer and Information Science -- Computer Science (hsv//eng)