Abstract
Ad hoc grids allow a group of individuals to accomplish a mission that involves computation and communication among the grid components, often without fixed structure. In an ad hoc grid, every node in the network can spontaneously arise as a resource consumer or a resource producer at any time when it needs a resource or it possesses an idle resource. At the same time, the node in ad hoc grid is often energy constrained. The paper proposes an efficient resource allocation scheme for grid computing marketplace where ad hoc grid users can buy usage of memory and CPU from grid resource providers. The ad hoc grid user agents purpose to obtain the optimized quality of service to accomplish their tasks on time with a given budget, and the goal of grid resource providers as profit-maximization. Combining perspectives of both ad hoc grid users and resource providers, the paper present ad hoc grid resource allocation algorithm to maximize the global utility of the ad hoc grid system which are beneficial for both grid users and grid resource providers. Simulations are conducted to compare the performance of the algorithms with related work.
Similar content being viewed by others
References
Abdullah, T., Sokolov, V., Pourebrahimi, B., & Bertels, K. (2008). Self-organizing dynamic Ad Hoc Grids (pp. 202–207). Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops.
Abdullah, T., Mhamdi, L., Pourebrahimi, B., & Bertels, K. (2009). Resource discovery with dynamic matchmakers in ad hoc grid (pp. 138–144). Fourth International Conference on Systems.
Borissov, N., Neumann, D., & Weinhardt, C. (2010). Automated bidding in computational markets: an application in market-based allocation of computing services. Autonomous Agents and Multi-Agent Systems, 21, 115–142.
Buss, G., Lee, K., & Veit, D. (2010). Scalable grid resource allocation for scientific workflows using hybrid metaheuristics. Advances in Grid and Pervasive Computing, 256–267.
Cendron, M. M., & Westphall, C. B. (2008). A price-based task scheduling for grid computing networking (pp. 762–766). Networking 2008(ICN 2008), Seventh International Conference, 13–18 April 2008.
Huraj, L., & Reiser, H. (2009). VO intersection trust in Ad hoc grid environment (pp. 456–461). Fifth International Conference on Networking and Services, 2009 Fifth International Conference on Networking and Services.
Lee, J., & Szymanski, B. (2009). A participation incentive market mechanism for allocating heterogeneous network services. Honolulu: IEEE GLOBECOM.
Li, C., & Li, L. (2007a). Joint QoS optimization for layered computational grid. Information Sciences, 177/15, 3038–3059, Elsevier, August 2007
Li, C., & Li, L. (2007b). Utility based QoS optimisation strategy for multi-criteria scheduling on the grid. Journal of Parallel and Distributed Computing, 67(2), 142–153. Elsevier, USA, February.
Li, D., Cao, J., Lu, X., & Chan, K. C. C. (2009). Efficient range query processing in peer-to-peer systems. IEEE Transactions on Knowledge and Data Engineering, 21(1), 78–91
Lu X., Wang, H., & Wang, J. (2006). Internet-based virtual computing environment (iVCE): concepts and architecture, science in China series F: Information Sciences, 49(6), 681–701
Mihailescu, M., & Teo, Y. M. (2010). On economic and computational-efficient resource pricing in large distributed systems (pp. 838–843), 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.
Moreno-Vozmediano, R. (2009). A hybrid mechanism for resource/service discovery in ad-hoc grids. Future Generation Computer Systems, 25(7), 717–727.
Parsa, S., Shokri, A., & Nourossana, S. (2009). A novel market based grid resource allocation algorithm (pp. 146–152). First International Conference on Networked Digital Technologies, NDT '09.
Pourebrahimi, B., & Bertels, K. (2008). Adaptation to dynamic resource availability in ad hoc grids through a learning mechanism. In CSE’08: Proceedings of the 2008 11th IEEE International Conference on Computational Science and Engineering (pp. 171–178).
Satayapiwat, C., Egawa, R., Takizawa, H., & Kobayashi, H. (2008). A utility-based double auction mechanism for efficient grid resource allocation (pp. 252–260). International Symposium on Parallel and Distributed Processing with Applications, ISPA '08.
Son, S., & Sim, K. M. (2009). Relaxed time slot negotiation for grid resource allocation GDC 2009. CCIS, 63, 25–32.
Varalakshmi, P., Nandini, M., Krithika, K., & Aarthi, R. (2010). An optimal trust based resource allocation mechanism for cross domain grid, information processing and management international conference on recent trends in business administration and information processing, BAIP 2010, Kerala, India, March 26–27. Proceedings, pp. 342–348
Vilajosana, X., Krishnaswamy, R., & Marqu’es, J. M. (2010). Design of a configurable auction server for resource allocation in grid (pp. 396–401). International Conference on Complex, Intelligent and Software Intensive Systems.
Acknowledgements
The authors thank the editor and the anonymous reviewers for their helpful comments and suggestions. The work was partly supported by the National Natural Science Foundation of China (NSF) under grant No. 60970064, National Key Basic Research Program of China (973 Program) under Grant No.2011CB302601,Open Fund of the State Key Laboratory of Software Development Environment under Grant (No. SKLSDE-2011KF-01), Beihang University, Program for New Century Excellent Talents in University, China (NCET-08-0806), Fok Ying Tong Education Foundation, China (Grant No. 121067), and Fundamental Research Funds for the Central Universities (2010-II-003) . Any opinions, findings, and conclusions are those of the authors and do not necessarily reflect the views of the above agencies.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
1.1 Proofs for theorem 1
We assume that each ad hoc grid user agent submits \( \mathop{u}\nolimits_i^j \) to the CPU resource agent and \( v_i^k \) to memory resource agent. Then, \( {u_i} = [u_i^1......u_i^j] \) represents all payments of ad hoc grid user agents for jth CPU resource agent, \( {v_i} = [v_i^1......v_i^k] \) represents all payments of ad hoc grid user agents for kth memory resource agent. Let \( {m_i} = \sum\limits_j {u_i^j} + \sum\limits_k {v_i^k} \), m i is the total payment of the ith ad hoc grid user agent. N ad hoc grid user agents compete for grid resources with finite capacity. The resource is allocated using a market mechanism, where the partitions depend on the relative payments sent by the ad hoc grid user agents. Let \( {\text{p}}{{\text{x}}_{\text{j}}} \),\( {\text{p}}{{\text{y}}_{\text{k}}} \) denote the price of the resource unit of CPU resource agent j and memory resource agent k respectively. Let the pricing policy, \( p{\text{x}} = (p{{\text{x}}_1},p{{\text{x}}_2}, \cdots, p{{\text{x}}_n}) \), denote the set of CPU resource unit prices of all the CPU resource agents in the ad hoc grid, \( p{\text{y}} = (p{{\text{y}}_1},p{{\text{y}}_2}, \cdots, p{{\text{y}}_k}) \) is set of memory resource unit prices. The ith ad hoc grid user agent receives resources proportional to its payment relative to the sum of the grid resource agent’s revenue. Let \( \mathop{x}\nolimits_i^j \), \( \mathop{y}\nolimits_i^k \) be the fraction of resource units allocated to ad hoc grid user agent i by CPU resource agent j and memory resource agent k. The time taken by the ith ad hoc grid user agent to complete nth job is:
Ad hoc grid user agent’s optimization can be reformulated as
The Lagrangian for the ad hoc grid user agent’s utility is as follows.
Where λ is the Lagrangian constant. From Karush-Kuhn-Tucker Theorem we know that the optimal solution is given \( \frac{{\partial {L_{\text{user}}}\left( {u,v} \right)}}{{\partial u}} = 0 \) for λ>0.
Let \( \frac{{\partial {L_{\text{user}}}\left( {\mathop{u}\nolimits_i^j, v_i^k} \right)}}{{\partial \mathop{u}\nolimits_i^j }} = 0 \) to obtain
Using this result in the constraint equation, we can determine \( \chi = \frac{{\phi_i^2 + \lambda }}{{\phi_i^1}} \) as
We substitute χ to obtain \( \mathop{{\mathop{u}\nolimits_i^j }}\nolimits^{ * } \)
\( \mathop{{\mathop{u}\nolimits_i^j }}\nolimits^{ * } \) is the unique optimal solution to the ad hoc grid user agent’s optimization problem. It means that ad hoc grid user agent want to pay\( \mathop{{\mathop{u}\nolimits_i^j }}\nolimits^{ * } \) to CPU resource agent j for needed CPU resource under completion time constraint.
Using the similar method, let \( \frac{{\partial L\left( {\mathop{u}\nolimits_i^j, v_i^k} \right)}}{{\partial \mathop{v}\nolimits_i^k }} = 0 \)
We can get \( \mathop{v}\nolimits_i^k = \mathop{{\left( {\frac{{\left( {\varphi_i^2 + \lambda } \right){d_{{in}}}\mathop{{py}}\nolimits_k }}{{\varphi_i^1{s_k}}}} \right)}}\nolimits^{{1/2}} \)
Using this result in the constraint equation, we can determine \( \rho = \frac{{\varphi_i^2 + \lambda }}{{\varphi_i^1}} \) as
We obtain \( \mathop{{\mathop{v}\nolimits_i^k }}\nolimits^{ * } \)
It means that ad hoc grid user agent want to pay \( \mathop{{\mathop{v}\nolimits_i^k }}\nolimits^{ * } \) to memory resource agent k for needed memory resource under completion time constraint.
1.2 Proofs for theorem 2
We take derivative and second derivative with respect to \( \mathop{x}\nolimits_i \):
\( {U_{\text{provider}}}\prime \prime \left( {x_i^j} \right) < 0 \) is negative due to \( 0 < {\text{x}}_i^{\text{j}} \). The extreme point is the unique value maximizing the utility of CPU resource agents. The Lagrangian for U provider is \( {L_{\text{provider}}}(x_i^j,y_i^k) \) .
Where ξ, ζ are the Lagrangian constants. From Karush-Kuhn-Tucker Theorem we know that the optimal solution is given \( \frac{{\partial {L_{\text{provider}}}\left( {x_i^j,y_i^k} \right)}}{{\partial x_i^j}} = 0 \) for ξ, ζ > 0.
Let \( \frac{{\partial {L_{\text{provider}}}\left( {x_i^j,y_i^k} \right)}}{{\partial x_i^j}} = 0 \) to obtain \( x_i^j = \frac{{u_i^j}}{{\left( {{w_j} + \xi } \right)}} \)
Using this result in the constraint Eq. \( {{\text{c}}_{\text{j}}} \geqslant \sum\limits {{\text{x}}_i^{\text{j}}} \), we can determine θ = wj + ξ as
We substitute θ into \( {\text{x}}_i^{\text{j}} \) to obtain
\( x_i^{{j*}} \) is the unique CPU allocation for maximizing the utility of CPU resource provider j.
Using the similar method, we can solve memory allocation optimization problem.
Let \( \frac{{\partial {L_{{provider}}}\left( {x_i^j,y_i^k} \right)}}{{\partial y_i^k}} = 0 \) to obtain \( y_i^k = \frac{{v_i^k}}{{\left( {{\sigma_k} + \zeta } \right)}} \)
Using this result in the constraint Eq. \( {{\text{s}}_k} \geqslant \sum\limits {y_i^k} \), we can determine \( \tau = {\sigma_{\text{k}}} + \zeta \) as
We substitute τ into \( y_i^k \) to obtain \( \mathop{{y_i^k}}\nolimits^{*} = \frac{{v_i^k{s_k}}}{{\sum\limits_{{k = 1}}^K {v_i^k} }} \)
\( y{_i^{k*}} \) is the unique optimal memory resource allocation for maximizing the utility of memory resource provider k.
Rights and permissions
About this article
Cite this article
Li, C., Li, L. An efficient resource allocation for maximizing benefit of users and resource providers in ad hoc grid environment. Inf Syst Front 14, 987–998 (2012). https://doi.org/10.1007/s10796-011-9310-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10796-011-9310-4