Automated Control of Elasticity for a Cloud-Based Key-Value Store
Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
“Pay-as-you-go” is one of the basic properties of Cloud computing. It means that people pay for the resources or services that they use. Moreover, the concept of load balancing has been a controversial issue in recent years. It is a method that is used to split a task to some smaller tasks and allocate them fairly to different resources resulting in a better performance. Considering these two concepts, the idea of “Elasticity” comes to attention. An Elastic system is one which adds or releases the resources based on the changes of the system variables. In this thesis, we extended a distributed storage called Voldemort by adding a controller to provide elasticity.
Control theory was used to design this controller. In addition, we used Yahoo! Cloud Service Benchmark (YCSB) which is an open source framework that can be used to provide several load scenarios, as well as evaluating the controller. Automatic control is accomplished by adding or removing nodes in Voldemort by considering changes in the system such as the average service time in our case. We will show that when the service time increases due to increasing the load, as generated by YCSB tool, the controller senses this change and adds appropriate number of nodes to the storage. The number of nodes added is based on the controller parameters to decrease the service time and meet Service Level Objectives (SLO). Similarly, when the average service time decreases, the controller removes some nodes to reduce the cost of using the resources and meet “pay-as-you-go” property.
Place, publisher, year, edition, pages
2012. , 98 p.
Cloud Computing, Elastic Computing, Control Theory, Voldemort, YCSB, Key-Value Store
Engineering and Technology
IdentifiersURN: urn:nbn:se:kth:diva-90336OAI: oai:DiVA.org:kth-90336DiVA: diva2:504952
Subject / course
Information and Software Systems
Master of Science - Software Engineering of Distributed Systems
Vlassov, Vladimir, Univ. lektor