Article Preview
Top1. Introduction
In recent years, with the rise of cloud computing (Armbrust et al., 2009), more and more users use online cloud services (Dikaiakos et al., 2009) through the Internet, and cloud computing has gradually integrated into everyday life. Cloud computing can accelerate the computing speed of large-scale calculations, thereby effectuating instant responses to the client requests. Cloud computing has five essential characteristics: (1) on-demand self-service, (2) broad network access, (3) resource pooling, (4) rapid elasticity and (5) measured service. With the above characteristics, clients can conveniently access various services provided by the cloud service providers through the Internet. Cloud service providers used the cloud servers to build cloud service platform. When users connected to the cloud service platform, they can adjust the number of computing machines or start the cloud servers according to their demands. The characteristic of rapid elasticity enables cloud service providers to dynamically meet the client requests, thus enhancing the widespread of cloud services more and more.
Although cloud computing has many advantages, it also holds some issues that need to be addressed, such as the high rental cost of cloud servers. Hence the utilization of cloud servers becomes very important. Inefficient resource allocation algorithm will cause unnecessary waste. When the rented cloud servers cannot meet the client requests, users tend to rent more cloud servers to satisfy their requests, thus reducing the utilization. In other words, low utilization of cloud servers will result in more cloud servers being started. Therefore, the goal of a resource allocation algorithm is to boost the cloud server utilization, thereby reducing the unnecessary rental cost.
When numerous clients simultaneously request cloud services, cloud service providers rent large amount of cloud servers from cloud data centers to form a cloud service platform to satisfy the client requests. However, the rental of cloud servers from cloud data centers to conduct the cloud service platform entails extremely high rental costs (Amazon EC2 Pricing, 2015). The service providers need to pay substantial expenses for operating the rental servers. The resource utilization rate of cloud servers is an important factor affecting the rent costs of cloud service providers. Cloud service providers desire that every penny of their investments will produce the highest possible benefits, particularly for large investments. Low resource utilization of cloud servers will cause cloud service providers to rent more cloud servers to satisfy the client requests, thus reducing the service providers’ profits. In addition, the cloud service providers also have negative impressions on cloud data centers for low utilization. Thus, an efficient resource allocation method is very important for a cloud data center.
Previous studies have focused on single-resource utilization (Padala et al., 2007; Isard et al., 2009; Zaharia et al., 2010). These studies have provided significant results. However, one-dimension resource allocation algorithm cannot realistically demonstrate the utilization of multiple resources. In recent years, the focus of researchers shifted to the multi-dimensional resource allocation (MRA) problem (Wei et al., 2010; Harada, Ushio, & Nakamoto, 2005; Chen, Ni, & Sun, 2012; Xin et al., 2011). In order to solve the MRA problem, researchers have proposed multi-attribute decision-making methods (Hwang & Yoon, 1981). The MRA problem is a non-deterministic polynomial-time hard (NP-hard) problem (Garey & Johnson, 1990). The MRA problem also involves resource consumption dependency (Singh, Korupolu, & Mohapatra, 2008), and the solution will not get the efficient utilization rate if cannot solve MRA problem.