Article Preview
Top1. Introduction
Cloud computing presents to an end-cloud-user the modalities to outsource on-site available services, computational facilities, or data storage to an off-site, location-transparent centralized facility or “Cloud” (Ioannis & Karatza, 2010). A “Cloud” implies a set of machines and web services that implement cloud computing. These machines ideally comprise of a pool of distributed physical compute resources that include the following: processors, memory, network bandwidth and storage, which are potentially distributed physically across network of servers that cut across geographical boundaries. Resources associated with cloud computing are often organized into a dynamically logical entity that are outsourced and leased out on demand. One of the major characteristics of cloud computing is elasticity, which means that cloud resources can grow or shrink in real-time (Sarathy et al., 2010). This transformation in cloud computing is made possible today by the concept of virtualization technology.
Over the past few years, the idea of virtualization technology has become a more common phrase among IT professionals. The main concept behind this technology is to enable the abstraction or decoupling of application payload from the underlying distributed physical host resource (Buyyaa et al., 2009; Popek & Goldberg, 1974). This simply means that the physical resources can be presented in the form of either logical or virtual resources depending on individual choices. Furthermore, some of the advantages of implementing virtualization technology are to assist cloud resource providers to reduce costs through improved machine utilization, reduced administration time and infrastructure costs. By introducing a suitable management mechanism on top of this virtualization functionality (as we have proposed in this paper), the provisioning of the logical resources could be made dynamic that is, the logical resource could be made either bigger or smaller in accordance with cloud user demand (elastic property of the cloud). To enable a truly cloud computing system, each computing resource element should be capable of being dynamically provisioned and managed in real-time based on the concept of dynamic provisioning as it applies to cloud computing. This abstraction actually forms the bases of the proposed conceptual framework as presented in Section 3.
To implement the concept of virtualization cloud developers often adopted and make use of the concept of an open source software framework for cloud computing that implements what is commonly referred to as Infrastructure as a Service (IaaS). This software framework is known as Hypervisor (Nurmi et al., 2009; Chisnall, 2009). A hypervisor, also called virtual machine manager (VMM), is one of many hardware virtualization techniques that allow multiple operating systems, termed guests, to run concurrently on a host machine. However, there are different infrastructures available for implementing virtualization for which we have different virtual infrastructure management software for that (Sotomayor et al., 2009).
This paper proposes a novel simulation framework for the cloud developers. There are two high level components in the proposed architecture which are the Manager process and Worker process. The Manager is assigned the role of cluster controller while the worker is assigned the role of node controller in the new system. The focus of the work however, is to develop a framework model that will allow dynamically the mapping of VMs onto physical hosts depending upon the resource requirements of the VMs and their availability on the physical hosts. The cloud resources to be considered include machines, network, storage, operating systems, application development environments, and application programs.
The remainder of the paper is organized as follows. In Section 2, a survey of related work on cloud and eucalyptus cloud environment is presented. The proposed system architecture and model is described in Section 3, and in Section 4, an in-depth description of VM allocation and rule-based mapping algorithm based on set theoretic concept is presented. Theoretical derivation of performance evaluation metrics for the proposed system is derived in Section 5. Finally, Section 6 offers concluding remarks on the work.