A Game Theoretic Method for Resource Allocation in Scientific Cloud

A Game Theoretic Method for Resource Allocation in Scientific Cloud

Amin Nezarat (Payame Noor University, Yazd, Iran) and Gh Dastghaibifard (Shiraz University, Shiraz, Iran)
Copyright: © 2016 |Pages: 27
DOI: 10.4018/IJCAC.2016010102
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Due to the widespread use of cloud services, the need for proper and dynamic distribution will redouble the resources. One of the most complex problems in cloud environments is resource allocation such that on one hand the resource provider should obtain maximum utilization and on the other hand users want to lease best resources based on his time and budget constraints. Many studies which presented new methods for solving this NP-complete problem have used heuristic algorithm. Based on economic aspects of cloud environments, using market oriented model for solving allocation problem can decrease the complexity and converge it to the best solution in minimum time. In this paper a method has been proposed based on auction theory that it has used a non-cooperative game theory mechanism in an incomplete information environment. This game try to select best bidder for selling resource to it. At the end of the paper, the proposed algorithm was experienced in cloudsim and the simulated results showed that the authors' suggested model converge to the best response at Nash equilibrium point.
Article Preview

1. Introduction

Cloud computing is a model for enabling ubiquitous, comfortable, and demand-oriented network access to a set of sharing and configurable computing resources, such as networks, servers, storage space, application services and other services, which can be supplied quickly and can be finalized with minimum effort (Armbrust, Fox, & Griffith., 2009; Buyya, Abramson, Giddy, & Stockinger, 2002). The approach that is followed by cloud computing services, is paying a specific amount for the demand and the availability of the resources for the agreed period. Therefore, the well-known cloud servers, such as Amazon EC2, are in the form of using the computation of the resource in hourly use of CPU (Armbrust, Fox, & Griffith., 2009). Although this method is one of the most basic methods of selling goods or services, prevents the complex interaction between buyer and cloud servers. A typical criticism on this method is that during the high workload of the system, a job that is requested by a customer, should wait for long until the workload becomes less and the needed resources be allocated for the job. The current methods of resource allocation such as FIFO, Round-Robin, etc. which are used in clouds, perform an unfair allocation regardless of the priority between the jobs. In most cloud services, scheduling tasks with respect to these conditions is a complex task taking into account the requirements mentioned in the Service Level Agreement. Typically, while assigning resources to the customers, cloud servers agree on some issues as their commitments to provide high quality services, any allocation of resources to tasks, or shifting the tasks from one source to another must be agreed considering the quality of the service. For example, if a resource available for a task, no other task with a higher bid can take over that source until executing the allocated source and also at the time of investigating the applicant's task proposals to allocate to resources, considering these parameters for quality assurance seems to be required. Concepts such as dead line and maximizing the customers’ budget are among these issues. Other issues can also be included in this discussion regarding that Network bandwidth for those jobs requires input file or tasks that are composed of several sub-task (Workflow).

For example, a user has to travel to a city and uses an integrating service that simultaneously performs buying plane tickets, hotel reservations and etc. The cloud service provider that is responsible for executing this task, can simultaneously schedule several subtasks that are correlated, using the scheduler. This scheduler should schedule the mentioned subtasks in a way that their deadline and allocated resources be simultaneous and additionally the required bandwidth to communicate the subtasks is properly provided (Bandwidth). For example, a user has intended to travel to a city or in another example we can name the scientific workflows which are carried out simultaneously and in parallel on the resources needed. In this type of workflow, in addition to considering the implementation time of the original work, the relationship of the subtasks with each other and their required bandwidth must also be considered. Customers are interested to get their tasks done in the least possible time and with minimum cost that the cloud server must receive it. On the other hand, the cloud server also tends to maximize the utilization of its resources and also increase the amount of gain and theses two are in conflict with each other and are not usually consistent with the traditional methods of resource allocation and the existing scheduling mechanisms. Since providing service in the clouds is a kind of product in the supply chain cycle, scheduling the service can be divided into two general categories:

  • 1.

    User-level

  • 2.

    System-level

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 7: 4 Issues (2017)
Volume 6: 4 Issues (2016)
Volume 5: 4 Issues (2015)
Volume 4: 4 Issues (2014)
Volume 3: 4 Issues (2013)
Volume 2: 4 Issues (2012)
Volume 1: 4 Issues (2011)
View Complete Journal Contents Listing