<figure><img src="image_1.png" /></figure>

HAL
open science

# A Cloud Resource Allocation Mechanism Based on Mean-Variance Optimization and Double Multi-Attribution Auction

Chengxi Gao, Xingwei Wang, Min Huang

► To cite this version:

Chengxi Gao, Xingwei Wang, Min Huang. A Cloud Resource Allocation Mechanism Based on Mean-Variance Optimization and Double Multi-Attribution Auction. 10th International Conference on Network and Parallel Computing (NPC), Sep 2013, Guiyang, China. pp.106-117, 10.1007/978-3-642-40820-5_10 hal-01513771

HAL Id: hal-01513771

https://inria.hal.science/hal-01513771

Submitted on 25 Apr 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# A Cloud Resource Allocation Mechanism Based on Mean-variance Optimization and Double Multi-Attribution Auction

Chengxi Gao, Xingwei Wang, Min Huang

College of Information Science and Technology, Northeastern University
Shenyang, P.R. China
gaocxresearch@gmail.com, {wangxw, mhuang}@mail.neu.edu.cn

**Abstract.** As a new kind of commercial model, cloud computing can integrate various kinds of resources in the network. Resource providers offer these resources to users in the form of service and receive corresponding profits. To make more rational use of the cloud resources, an effective mechanism is necessary for allocating the resources. In this paper, the price attribution and non-price attributions of both traders are analyzed. The support vector machine algorithm is utilized to predict the price, further determining the quote and bid. Then, the BP neural network algorithm is used to transfer the non-price attributions to the quality index. Finally, to maximize the total satisfaction of resource providers and resource consumers, the mean-variance optimization algorithm is adopted to obtain the optimized cloud resource allocation scheme. Simulation results have shown that the proposed mechanism is feasible and effective.

**Keywords.** Cloud resource, Double multi-attribution auction, BP neural network, Support vector machine, Mean-variance optimization

## 1 Introduction

Cloud computing is the development of distributed computing, parallel computing, grid computing and many other technologies [1]. It can integrate various types of resources in the network, so that they can be fully utilized. Therefore, a robust resource allocation mechanism has become the focus of researches about cloud computing which can specify the billing functionalities of the system and efficiently allocate the resources while bringing the most profits.

Contemporarily, auction theory has been successfully used in solving the problem of resource allocation in many cases, which has shown good performance. Danak et al. presented a repeated auction-based allocation protocol and a utility-maximizing bidding algorithm to improve the long-term profits of the grid users [2], but they didn't consider the fraud behavior in the market mechanism. Lan et al. proposed a multi-unit Continuous Double Auction (CDA) and got a reasonable resource allocation scheme to ensure fairness between users [3], but they didn't consider the fraud behavior of the users. Tan et al. proposed a novel Stable Continuous Double Auction (SCDA) mechanism which effectively reduced the instable factors of CDA and brought good economic returns [4], but the mechanism was weak in the consideration of the malicious
bidding behavior of users. Prodan et al. determined the resource allocation model based on the CDA mechanism [5], but they didn't predict the market price.

Besides, game theory is also practical in the area of resource allocation. Teng et al. proposed a resource pricing and allocation policy through game theory which solved the equilibrium allocation problem among different users [6], but they didn't consider the malicious bidding behavior of users. Mutz et al. designed a resource pricing mechanism based on game theory and scheduled jobs and computed payments in pseudo-polynomial time [7], but they didn't consider the Quality of Service (QoS). Wang et al. determined the transaction price through the linear pricing strategy, and used the game-theoretic algorithm to get the optimized bandwidth resource allocation scheme [8], but they didn't consider the information of historical transactions.

To sum up, the majorities of existing researches only care about the price attribution, but ignore the non-price attributions in transactions. Moreover, they lack the careful consideration about the fraud behaviors in the market mechanisms and don't forecast reasonably about the market price based on historical information.

In this paper, according to the Support Vector Machine (SVM) and Back Propagation (BP) neural network, we propose a cloud resource allocation mechanism based on Mean-Variance Optimization (MVO) algorithm and double multi-attribution auction (DMAA) mechanism. The prices of both traders are forecast based on SVM algorithm, and the non-price attributions of resource providers and resource consumers are converted into the quality indexes based on BP neural network algorithm. Combined with the DMAA mechanism, the cloud resource allocation scheme is obtained based on the MVO algorithm which aims to maximize the total satisfaction of both trades while increasing the resource utilization of providers and satisfying more consumers.

The rest of this paper is organized as follows. We introduce the system framework in Sect. 2, and the auction model is discussed in Sect. 3. We talk about how to predict the price using SVM algorithm in Sect. 4 and multi-attribution processing is specified based on BP neural network algorithm in Sect. 5. We design a resource allocation scheme based on MVO algorithm in Sect. 6. The proposed mechanism is simulated and evaluated in Sect. 7 and we conclude the paper in Sect. 8.

## 2 System Framework

The cloud system mainly involves three roles including resource provider (RP), resource consumer (RC) and auction organizer (AO). The system framework is presented in Fig. 1.

<figure><img src="image_3.png" /><figcaption>Fig. 1 System framework</figcaption></figure>
As is shown in Fig. 1, the process of the system is specified as follows:

Step1: RP and RC submit their own information to AO to confirm the identity;

Step2: RP and RC use SVM algorithm to predict the prices and submit them to AO ;

Step3: If there is a matching transaction, then go to Step4.Otherwise RP and RC are notified to confirm whether or not they are willing to stay in the auction. If they are, they need to re-determine the price according to SVM algorithm and then submit the new tenders to AO . Otherwise they will quit the auction or wait for the next auction considering their own situation;

Step4: According to the matching results of the transaction, AO uses BP neural network algorithm to transfer the non-price attributions to the quality index and adopts the MVO algorithm to solve the cloud resource allocation scheme;

Step5: AO notifies RP and RC to update the quote and bid respectively to participate in the new round of the auction until the end;

Step6: RC who receives the resources pays for the service to the corresponding RP , and they assess each other for his performance after the transaction. AO updates the corresponding information.

3 Auction Model

3.1 Resource Provider

Multi-Attributions of Resource Provider. When analyzing RP ’s trading behavior, we put forward three non-price attributions including RP ’s quality of service ( QoS$_{S}$ ), level of delivery ( LoD$_{S}$ ) and level of spiteful quote ( LoSQ$_{S}$ ).

Quality of Service. QoS$_{S}$ is used to measure the quality of the resources that RP pro- vides. g$_{i}$ ∈ { 1 , 2 , 3 , · · · , M } represents the grade that the i-th resource consumer ( RC$_{i}$ ) gives to RP where M is the total amount of RCs . RP ’s quality of service in this trans- action ( QoS S this ) is defined as in Eqn.(1) .

$$
QoS_{S}^{this} = \frac{1}{M} \sum_{i=1}^{M} g_{i} \qquad (1)
$$

Devote RP ’s quality of service for the last H transactions by QoS S old , so after this transaction, QoS$_{S}$ is defined as in Eqn. (2).

$$
QoS_S = \frac{H \cdot QoS_S^{old} + QoS_S^{this}}{H + 1} \qquad (2)
$$

Level of Delivery. LoD$_{S}$ is used to check whether or not RP delivers the usage rights of the resources to RC on time. TEFT$_{B}^{i}$ , TLFT$_{B}^{i}$ , TL$_{B}^{i}$ and DT i respectively repre- sent RC$_{i}$ ’s task expected finished time, task latest finished time, task length and deal time. RP ’s level of delivery for RC$_{i}$ is devoted by LoD$_{i}$ which is specified in Eqn. (3).
$$LoD_i = \begin{cases} 0, & DT^i < TEFT_B^i - TL_B^i \text{ or } DT^i > TLFT_B^i - TL_B^i \\ \frac{(1-\alpha)(DT^i - TLFT_B^i + TL_B^i)^2}{(TEFT_B^i - TLFT_B^i)^2} + \alpha, & TEFT_B^i - TL_B^i \le DT^i \le TLFT_B^i - TL_B^i \end{cases} \quad (3)$$

Where $TEFT_B^i \neq TLFT_B^i$ and $\alpha$ is constant which is used to adjust the value of $LoD_i$.

So $LoD_s$ is defined as in Eqn. (4).

$$LoD_s = \frac{1}{M} \sum_{i=1}^{M} LoD_i \quad (4)$$

**Level of Spiteful Quote.** $LoSQ_s$ is used to check whether or not $RP$ has the behavior of spiteful quote or disrupting the auction market. $p$ is the price of the resources that $RP$ provides, top and bottom represent the upper and lower limits of the resource price that AO sets, most and least devote the highest and lowest trading price of the resources. So $LoSQ_s$ is specified in Eqn. (5).

$$LoSQ_s = \begin{cases} 1, & 0 < p < \text{bottom} \\ \frac{(p - \alpha \cdot \text{least})^2}{(\text{bottom} - \alpha \cdot \text{least})^2}, & \text{bottom} \le p < \alpha \cdot \text{least} \\ 0, & \alpha \cdot \text{least} \le p \le \beta \cdot \text{most} \\ \frac{(p - \beta \cdot \text{most})^2}{(\text{top} - \beta \cdot \text{most})^2}, & \beta \cdot \text{most} < p \le \text{top} \\ 1, & p > \text{top} \end{cases} \quad (5)$$

Where $\alpha$ and $\beta$ are constant which are used to adjust the value of $LoSQ_s$.

**Satisfaction of Resource Provider.** $S_s^i$ is the satisfaction of $RP$ when transacting with $RC_i$. $X$ represents a kind of resources that $RP$ sells. $EDP_s^X$ and $RP_s^X$ are the expected deal price and reserve price of this kind of resource respectively that $RP$ wants to sell. $DP_s^{i,X}$ is the deal price and $IoQ_B^{i,X}$ represents the quality index which is calculated in Sect. 5. $S_s^{i,X}$ represents the satisfaction which is specified in Eqn.(6).

$$S_s^{i,X} = \begin{cases} 1, & DP_s^{i,X} \ge EDP_s^X \\ \beta \cdot \left( \frac{DP_s^{i,X}}{EDP_s^X} + \alpha \cdot IoQ_B^{i,X} \right), & RP_s^X \le DP_s^{i,X} < EDP_s^X \\ 0, & DP_s^{i,X} < RP_s^X \end{cases} \quad (6)$$

Where $\alpha$ and $\beta$ are constant which are used to adjust the value of $S_s^{i,X}$.

As is shown in Eqn. (6), when $X$ represents hard disk, CPU, memory or bandwidth, we can accordingly calculate $S_s^{i,harddisk}$, $S_s^{i,cpu}$, $S_s^{i,memory}$ or $S_s^{i,bandwidth}$ which respectively
represents the satisfaction when transacting corresponding kind of resources. If RP and RCᵢ don't trade a kind of resources such as CPU, then Sᵢ,cpu = 0. So Sᵢ is defined as in Eqn. (7).

$$S_s^i = \frac{1}{4} (S_s^{i,cpu} + S_s^{i,memory} + S_s^{i,harddisk} + S_s^{i,bandwidth}) \quad (7)$$

S_s represents the total satisfaction of RP's transactions with RC₁, RC₂, ..., RCₘ and is defined as in Eqn.(8).

$$S_s = \frac{1}{M} \sum_{i=1}^{M} S_s^i \quad (8)$$

## 3.2 Resource Consumer

**Multi-Attributions of Resource Consumer.** When analyzing RC's trading behavior, we put forward two non-price attributions including RC's level of payment (LoP<sub>B</sub>) and level of spiteful bid (LoSB<sub>B</sub>). LoP<sub>B</sub> and LoSB<sub>B</sub> are quantified similarly as LoD<sub>S</sub> and LoSQ<sub>S</sub> which have been defined previously, so we don't repeat the quantification here.

**Satisfaction of Resource Consumer.** S<sub>B</sub><sup>i</sup> is the satisfaction of RC when transacting with RP<sub>i</sub> (the i-th resource provider). It is similar to S<sub>S</sub><sup>i</sup>, so we don't repeat the definition here.

## 3.3 Auction Organizer

When the auction starts, AO submits RP's quote to the quote queue and RC's bid to the bid queue respectively. The quote queue is sorted in ascending order and lowest_quote represents the one at the head of the quote queue. The bid queue is sorted in descending order and highest bid represents the one at the head of the bid queue.

AO has to check whether or not there are transactions that satisfy the condition for matching which is specified as highest\_bid ≥ lowest\_quote.

# 4 Price Prediction

## 4.1 SVM Algorithm

The goal of SVM algorithm [9] is to select a function f(x̄, α) from the regression estimation function set {f(x̄, α)} which can express the mapping relationship between x̄ and ȳ. Then we can adopt f(x̄, α) to predict ȳ when given x̄.
In this paper, we adopt symmetric overrelaxation preprocessing technology [10] to reduce the conditions of the coefficient matrix of the linear equations which can decrease the iteration time of the algorithm, thus speeding up the convergence rate and weakening the influence that rounding errors have on SVM.

## 4.2 Price Prediction Method Based on SVM Algorithm

In this paper, we use exponential smoothing method to predict the relationship between supply and demand. $sd_j$ represents the j-th relationship between supply and demand in previous transactions, $SA_0$ represents the initial predicted value and $SA_j$ represents the j-th predicted value which is defined in Eqn.(9).

$$SA_j = \alpha \cdot \sum_{i=0}^{j-2} (1-\alpha)^i \cdot sd_{j-1-i} + (1-\alpha)^j \cdot SA_0 \quad (9)$$

Where $1 \le j \le n+1$, $\alpha$ is the smoothing coefficient and $0 \le \alpha \le 1$.

The structure of RP's training samples is consisted of RP's quality index ($IoQ_s$), reserve price ($RP_s$), the relationship between supply and demand ($SD$), remaining sale amount ($RSA_s$) and predicted sale price ($PSP$).

The structure of RC's training samples is consisted of RC's quality index ($IoQ_B$), reserve price ($RP_B$), $SD$, task urgency degree ($TUD$) and predicted buying price ($PBP$).

The process of predicting the price based on SVM algorithm is as follows:

Step1: If there is a trained SVM, then go to Step 3. Otherwise, initialize the training sample set and determine the parameters of SVM algorithm such as the error threshold and maximum iteration time;

Step2: Train SVM using the training samples and update the weights. Then save the trained SVM;

Step3: Utilize the trained SVM to predict the price and generate the sample corresponding to this price prediction as the training sample which is then added to the training sample set;

Step4: If the maximum iteration time is not reached, then go to Step 2; otherwise, output the prices and the algorithm ends.

# 5 Multi-Attribution Processing

## 5.1 BP Neural Network Algorithm

The structure of BP neural network [11] is consisted of input layer, hidden layer and output layer where input layer and output layer are single layers while hidden layer can be a single layer or multiple layers. The learning process of BP neural network [12-14] includes the forward propagation and the error back propagation of the signal. These two processes are carried out circularly until the output error of BP neural network is less than the minimum error or the preset training time is reached.
In this paper, Sigmoid function [15] is utilized as the activation function to train the samples. The weights of the BP neural network are updated after training for W times where W is constant. Variable learning rate is adopted to adjust the decline rate of errors dynamically in the process of training. Inertia factor is used to measure the impact that the weight increments of previous trainings have on the weights of current training. Chaos noise [16] is introduced into the process of weight updating so as to improve the error back-propagation process and the ability of jumping out of a local minimum point, thus enhancing the learning ability of BP neural network algorithm.

## 5.2 Multi-Attribution Processing Method Based on BP Neural Network Algorithm

The structure of *RP* 's training samples is consisted of $QoS_s$, $LoD_s$, $LoSQ_s$ and $IoQ_s$

The structure of *RC* 's training samples is consisted of $LoP_B$, $LoSB_B$ and $IoQ_B$.

The process of applying BP neural network algorithm to multi-attribution processing method is as follows:

Step1: If there is a trained BP neural network, then go to Step 3. Otherwise, initialize the training sample set and determine the parameters of BP neural network algorithm such as the error threshold and maximum iteration time;

Step2: Train the BP neural network using training samples and adjust the weights. Then save the trained BP neural network;

Step3: Utilize the trained BP neural network to transfer the non-price attributions to the quality index and generate the sample corresponding to this multi-attribution processing as the training sample which is then added to the training sample set;

Step4: If the maximum iteration time is not reached, then go to Step 2; otherwise, output the quality index and the algorithm ends.

# 6 Resource Allocation

In this paper, the total satisfaction of *RC* and *RP* is used as the fitness function in order to determine whether or not the allocation scheme is good.

## 6.1 MVO Algorithm

MVO algorithm [17] is a kind of intelligent optimization algorithms. The basic idea is to use the mean and variance of the components of the solution vectors to evolve the solution set and find the optimal solution by iteration.

## 6.2 Resource Allocation Based on MVO Algorithm

Step1: Determine the amount of resources of this transaction namely *TA* and initialize the related parameters of MVO algorithm such as the maximum iteration time and the dimension of variation which is devoted by *c*. Generate a random initial solution *X* according to *TA*;

Step2: Calculate the fitness function value. If the termination condition is satisfied, then go to Step 5;

Step3: Create the *n*-best population where *n*-best population represents the set of the top *n* best solutions when all of the solutions are sorted in descending order
according to the fitness function value. Then calculate the mean and variance of the components of the solution vectors. Choose the solution with the largest fitness function value as the father solution $X_{father}$;

Step4: Randomly select *c* components from $X_{father}$ and evolve and update the selected components to get the child solutions, and then go to Step2;

Step5: Output the optimal resource allocation scheme and the algorithm ends.

# 7 Simulation and Evaluation

The resource allocation mechanism is implemented and evaluated based on JDK and Cloudsim on the Eclipse platform. There are 200 RPs and 150 RCs participating in the auction. The parameters of the proposed algorithms are detailed in Table 1, Table 2 and Table 3. A set of cloud resource prices is selected from Amazon as is shown in Table 4, which acts as the reference of RP's quote and RC's bid.

<table><caption>**Table 1.** Relative Parameters to BP Neural Network Algorithm</caption><thead><tr><td>Relative parameter</td><td>Value</td></tr></thead><tbody><tr><td>Input layer node number</td><td>1</td></tr><tr><td>Hidden layer node number</td><td>20</td></tr><tr><td>Output layer node number</td><td>1</td></tr><tr><td>Error threshold</td><td>0.01</td></tr><tr><td>Number of training samples</td><td>400</td></tr><tr><td>Maximum iteration time</td><td>1000</td></tr></tbody></table>

<table><caption>**Table 2.** Relative Parameters to SVM Algorithm</caption><thead><tr><td>Relative parameter</td><td>Value</td></tr></thead><tbody><tr><td>Error threshold</td><td>0.01</td></tr><tr><td>Penalty coefficient</td><td>100</td></tr><tr><td>Regularization parameter</td><td>100</td></tr><tr><td>Maximum iteration time</td><td>1000</td></tr></tbody></table>

<table><caption>**Table 3.** Relative Parameters to MVO Algorithm</caption><thead><tr><td>Relative parameter</td><td>Value</td></tr></thead><tbody><tr><td>Scale of n-best population</td><td>10</td></tr><tr><td>Dimension of the solutions</td><td>4</td></tr><tr><td>Dimension of variation</td><td>3</td></tr><tr><td>Asymmetry factor</td><td>0.1</td></tr><tr><td>Maximum iteration time</td><td>1000</td></tr></tbody></table>
<table><caption>**Table 4.** Prices of Cloud Servers</caption><thead><tr><th colspan="3">Server Size</th><th colspan="2">Linux</th><th colspan="2">Windows</th></tr><tr><th>RAM</th><th>Disk</th><th>Network Bandwidth</th><th>Hourly</th><th>Estimated Monthly</th><th>Hourly</th><th>Estimated Monthly</th></tr></thead><tbody><tr><td>256MB</td><td>10GB</td><td>10Mbps</td><td>$0.010</td><td>$7.30</td><td>-</td><td>-</td></tr><tr><td>512MB</td><td>20GB</td><td>20Mbps</td><td>$0.020</td><td>$14.60</td><td>-</td><td>-</td></tr><tr><td>1024MB</td><td>40GB</td><td>30Mbps</td><td>$0.040</td><td>$29.20</td><td>$0.053</td><td>$37.96</td></tr><tr><td>2048MB</td><td>80GB</td><td>40Mbps</td><td>$0.080</td><td>$58.40</td><td>$0.106</td><td>$75.92</td></tr><tr><td>4096MB</td><td>160GB</td><td>50Mbps</td><td>$0.160</td><td>$116.80</td><td>$0.212</td><td>$151.84</td></tr><tr><td>8192MB</td><td>320GB</td><td>60Mbps</td><td>$0.320</td><td>$233.60</td><td>$0.424</td><td>$303.68</td></tr><tr><td>15872MB</td><td>620GB</td><td>70Mbps</td><td>$0.640</td><td>$467.20</td><td>$0.848</td><td>$607.36</td></tr><tr><td>30720MB</td><td>1200GB</td><td>80Mbps</td><td>$1.217</td><td>$876.00</td><td>$1.606</td><td>$1156.30</td></tr></tbody></table>

In this paper, SCDA mechanism [4] is used as the benchmark double auction mechanism which acts as the reference of the performance compared with the proposed DMAA mechanism. SCDA adds a compulsory bidding adjustment layer (CBAL) based on the traditional CDA mechanism. When *RP* and *RC* submit the prices to *AO*, CBAL will delete the unreasonable prices according to the historical trading prices and the supply and demand of resources. Meanwhile, SCDA sets the task queue to save the tasks to be finished and the task queue is sorted in descending order according to the bids. All of the *RPs* calculate the price needed to complete the first task in the task queue. If there exists *RP* whose quote is less than the price, then the *RP* with the lowest quote can transact with the *RC* corresponding to the first task of the task queue.

## 7.1 The Comparison of Resource Utilization Rate of Resource Providers

We compare the resource utilization rate of *RP* between the two auction mechanisms in three cases when the supply exceeds the demand, the supply equals the demand and the supply is less than the demand. The results are presented in Fig.2.

<figure><img src="image_4.png" /><figcaption>**Fig. 2** The comparison of resource utilization rate</figcaption></figure>

As is shown in Fig.2, at the beginning of the auction, the resource utilization rate of DMAA mechanism is slightly lower than that of SCDA mechanism. With the auction going on, the resource utilization rate of DMAA mechanism is higher than that of SCDA mechanism. This is because that the price prediction method used in the DMAA mechanism requires a process of collecting the training samples and learning, and at the
beginning of the auction, the price prediction method is still in the process of learning, so the excellent performance of the method seems vague, thus the resource utilization rate of DMAA mechanism is lower than that of SCDA mechanism. With the auction going on, the performance of the price prediction method is gradually stabilized, so the resource utilization rate of DMAA mechanism is higher than that of SCDA mechanism.

## 7.2 The Comparison of the Amount of Resource Consumers Whose Demands Are Satisfied

We compare the amount of resource consumers whose demands are satisfied between the two auction mechanisms in three cases when the supply exceeds the demand, the supply equals the demand and the supply is less than the demand. The results are presented in Fig.3.

<figure><img src="image_5.png" /><figcaption>**Fig. 3** The comparison of the amount of resource consumers whose demands are satisfied</figcaption></figure>

As is shown in Fig.3, at the beginning of the auction, the amount calculated from DMAA mechanism is slightly lower than that from SCDA mechanism. With the auction going on, the amount calculated from DMAA mechanism is higher than that from SCDA mechanism. The reason is similar to that in the previous section.

## 7.3 The Comparison of the Execution Time

We compare the execution time of the two mechanisms when the amount of *RCs* is 30, 50, 70, 90, 110, 130 and 150 respectively, and the results are presented in Fig.4.

<figure><img src="image_6.png" /><figcaption>**Fig. 4.** The comparison of the *execution time*</figcaption></figure>

As is shown in Fig.4, the execution time of the DMAA mechanism is higher than that of SCDA mechanism in all these seven conditions, and with the amount of *RCs* increasing, the gap of the execution time between the two mechanisms be-
comes larger. This is because in DMAA mechanism, the multi-attribution processing method based on BP neural network algorithm, the price prediction method based on SVM algorithm and the resource allocation scheme based on MVO algorithm will take large amounts of time for learning and iteration, but the time consumed is less than 20s in most cases. If the hardware is greatly improved, the execution time of the proposed mechanism can be reduced to within the acceptable range.

# 8 Conclusion

Cloud computing can integrate the distributed resources in the network and provide service to users. So a resource allocation mechanism is needed to reasonably allocate the idle resources. In this paper, MVO algorithm and DMAA mechanism are adopted to design and simulate a cloud resource allocation mechanism. In the proposed mechanism, RP and RC use SVM algorithm to predict the price and submit the tenders to AO. AO comprehensively analyzes the price attribution and non-price attributions of both traders and uses the BP neural network algorithm to transfer the non-price attributions to the quality index. To effectively allocate the resources and maximize the total satisfaction of both traders, the problem of optimal cloud resource allocation is transformed into the optimization problem of maximizing the total satisfaction. And MVO algorithm is utilized to obtain the optimized cloud resource allocation scheme. Simulation results have shown that the proposed mechanism is feasible and effective for increasing the resource utilization rate and satisfying the demands of users. It constitutes our future work to implement and test the mechanism in the actual system so as to further improve the practicality of the model and the algorithm.

**Acknowledgements.** This work is supported by the National Science Foundation for Distinguished Young Scholars of China under Grant No. 61225012; the National Natural Science Foundation of China under Grant No. 61070162, No. 71071028 and No. 70931001; the Specialized Research Fund of the Doctoral Program of Higher Education for the Priority Development Areas under Grant No. 20120042130003; the Specialized Research Fund for the Doctoral Program of Higher Education under Grant No. 20100042110025 and No. 20110042110024; the Specialized Development Fund for the Internet of Things from the ministry of industry and information technology of the P.R. China; the Fundamental Research Funds for the Central Universities under Grant No. N110204003 and No. N120104001.

# References

1. Dikaiakos, M.D., Katsaros, D., Mehra, P., Pallis, G., Vakali, A.: Cloud Computing: Distributed Internet Computing for IT and Scientific Research. IEEE Interneting. 13, 10-13 (2009)

2. Danak, A., Mannor, S.: Efficient bidding in dynamic grid markets. IEEE Transactions on Parallel and Distributed Systems. 22, 1483-1496 (2011)
3. Lan, Y., Tong, W., Liu, Z., Hou, Y.: Multi-unit continuous double auction based resource allocation method. In: 2012 Third International Conference on Intelligent Control and Information Processing, pp. 773-777. IEEE Press, Dalian (2012)

4. Tan, Z., Gurd, J.R.: Market-based grid resource allocation using a stable continuous double auction. In: 8th IEEE/ACM International Conference on Grid Computing, pp. 283-290. IEEE Computer Society, Washington, DC, USA (2007)

5. Prodan, R., Wieczorek, M., Frad, H.M.: Double auction-based scheduling of scientific applications in distributed grid and cloud environment. Journal of Grid Computing, 9, 531-548(2011)

6. Teng, F., Magoules, F.: Resource pricing and equilibrium allocation policy in cloud computing. In: 10th International Conference on Computer and Information Technology, pp. 195-202. IEEE Press, Bradford (2010)

7. Mutz, A., Wolski, R.: Efficient auction-based grid reservations using dynamic programming. In: 2008 ACM/IEEE conference on Supercomputing, pp. 1-8. IEEE Press, Piscataway, NJ, USA (2008)

8. Wang, L.J., Meng, M.Q.H.: A Game Theoretical Bandwidth Allocation Mechanism for Cloud Robotics. In: 10th World Congress on Intelligent Control and Automation, pp. 3828-3833. IEEE Press, Beijing, China (2012)

9. Rajasegarar, S., Leckie, C., Bezdek, J.C., Palaniswami, M.: Centered hyperspherical and hyperellipsoidal one-class support vector machines for anomaly detection in sensor networks. IEEE Transactions on Information Forensics and Security, 5, 518-533(2010)

10. Xing, Y.Z.: On Issues and Applications for Least Squares Support Vector Machine. Nanjing University of Science and Technology (2009) (in Chinese)

11. Zweiri, Y.H., Seneviratne, L.D., Althoefer, K.: Stability analysis of a three-term backpropagation algorithm. Neural Networks, 18, 1341-1347(2005)

12. Suresh, S., Omkar, S.N., Mani, V.: Parallel implementation of back-propagation algorithm in networks of workstations. IEEE Transactions on Parallel and Distributed Systems. 16, 24-34(2005)

13. Zhang, F., Chang H.Y.: Employing BP Neural Networks to Alleviate the Sparsity Issue in Collaborative Filtering Recommendation Algorithms. Journal of Computer Research and Development, 43, 667-672(2006) (in Chinese)

14. Li L.: The Research of Intrusion Detection Technology Based on Artificial Neural Network. National University of Defense Technology (2008) (in Chinese)

15. Richard O.D., Peter E.H., David G.S.: Pattern Classification. China Machine Press, Beijing (2009) (in Chinese)

16. Azamimi, A., Uwate, Y., Nishio, Y.: Effect of chaos noise on the learning ability of backpropagation algorithm in feed forward neural network. In: 6th International Colloquium on Signal Processing and Its Applications, pp. 1-4. IEEE Press, Mallaca City (2010)

17. Erlich, I., Venayagamoorthy, G. K., Worawat, N.: A Mean-Variance Optimization Algorithm. In: 2010 IEEE Congress on Evolutionary Computation, pp.1-6. IEEE Press, Barcelona, Spain (2010)