Characterization and optimization of cloud infrastructures and its application to the development of a flexible cluster manager
Utility computing is a model of provision of computer services in which the supplier makes available to customers and on demand both the resources and the management of the infrastructure, invoicing for the specific use of resources. This is not a new concept, but its first reference was presented by John McCarthy in 1961. Despite the initial skepticism that this approach has generated, the passage of time has made possible the realization of this idea, which has allowed offer all kinds of services, as in the case of the paradigm of cloud computing.
The present work focuses on the characterization and optimization of cloud infrastructures for its application to the development of tools to deploy virtual infrastructures and is articulated on four key points:
1.- Characterization and performance analysis of cloud platforms. 2.- Optimization of cloud platforms.
3.- Application to the development of virtual cloud infrastructures. 4.- Optimization of virtual infrastructures.
1.-Characterization and analysis of the performance of cloud platforms:
At this point, the study focuses on the performance characterization of: i) the CPU usage of KVM virtual machines in the cloud, and ii) the use of cloud storage systems to study their impact on the Input/Output performance of the virtual machines.
2.-Optimization of cloud platforms
At this point, the work focuses on the optimization of cloud platforms, following two research lines: i) optimization of the CPU usage of the virtualized instances through the KVM hypervisor, and ii) optimization of service offerings (elements that allow specifying the computational power of the user virtual machines in cloud) to offer a normalized performance, independent of the workloads of the other virtual machines that could coexist in the same host.
3.-Application to the development of virtual infrastructures
At this point, once the performance of cloud infrastructures has been characterized and optimized, the applicability of these infrastructures has been analyzed, which has allowed to identify two types of recurrent problems arising from their use: i) the management of computing tasks, ii) the deployment of complex virtual infrastructures. The first of the problems has been solved by the implementation and integration in the cloud platform of a system that allows the deployment and management of generic workloads, while the second has been solved by the development of a flexible system to deploy ad-hoc virtual clusters on-demand.
4.-Optimization of virtual infrastructures
One of the most important elements of cloud platforms is the deployment scheduler whose mission is to select which host will run the virtual machine that the user intends to deploy. Typically, the computing resources provided by cloud infrastructures are shared by multiple users who employ them for the most varied purposes. Thus, selecting a particular host to run a new virtual machine may have side effects in relation to the performance of other coexisting virtual machines. Therefore, this work has addressed this issue from two research lines: i) study of paradigmatic deployment cases, and ii) development of mechanisms to optimize the performance of deployed virtual infrastructures.
Keywords: cloud computing, virtualization, virtual clusters, task management