A Joint resource allocation system for cloud computing /

Dikbayır, Hüseyin Seçkin
Cloud computing is a new trend in computing, where resources such as servers, storage devices and software applications are provided to customers over the Internet. It is typically based on a pay-per-use model similar to renting a car or taking a taxi in our daily life. The primary purpose of a cloud system is to utilize available resources effectively to provide an economic benefit to customers. To succeed in this, jobs initiated by consumers are allocated to a set of virtual machines (VM) that run in big datacenters. These VMs, which differ in their features such as number of processors (CPUs), amount of main memory and storage capacity, are created by cloud providers. Depending on actual demand, some jobs may be rejected due to over-crowding on VMs, which may result in business loss. Effective resource management processes are needed to prevent such losses and to avoid under-utilization or over-utilization of resources. In this thesis, we propose a joint optimization model that aims to satisfy both cloud consumers and cloud providers, simultaneously. We first analyze the requirements of cloud providers to improve their services and the requirements of cloud consumers to increase their use of cloud services and to protect their rights. Our literature survey 2 includes related work that focuses mainly on improving cloud efficiency. We identify the main parameters in describing cloud providers’ and cloud consumers’ needs and the cloud topology. Afterwards, a novel joint resource optimization model, which combines provider and customers perspectives, formed. The problem is formulated as a simple generalized assignment problem and is solved by employing a suitable heuristic algorithm. All in all, an alternative allocation system for cloud computing is created. Our approach is then evaluated and demonstrated to be able to achieve effective allocations satisfying both cloud providers and cloud consumers’ needs, simultaneously.