Abstract
We present a theoretical and empirical study on a recently introduced combinatorial optimization problem, namely core group placement problem. The problem arises from real-world business requirements as part of resource allocation in cloud management. In particular, it focuses on the allocation and provisioning of a set of heterogeneous resources serving multiple customers each with different service-level agreements. There exist certain business rules that govern the application stemming from privacy, performance, and capacity requirements. From a theoretical point of view, we prove that the problem is intrinsically hard, yet, from a practical point of view, we show how to formulate it as a constrained optimization program using constraint programming (CP), and alternatively, using mathematical programming (MP). Our experimental results demonstrate that the CP solution outperforms its MP counterpart. We then move toward a dynamic setting where the problem manifests itself in the real world. We show that CP model not only addresses the resource allocation problem but it also enables resource provisioning to take future considerations and system growth into account when making decisions. Overall, the CP solution stands out as a high-level, declarative solution that is efficient, easy to maintain and can address multiple scenarios.
Similar content being viewed by others
Notes
We would like to thank our anonymous reviewers for this suggestion.
References
Ábrahám E, Corzilius F, Johnsen EB, Kremer G, Mauro J (2016) Zephyrus2: on the fly deployment optimization using SMT and CP technologies. In: International symposium on dependable software engineering: theories, tools, and applications. Springer, New York, pp 229–245
Ahuja RK, Magnanti TL, Orlin JB (1993) Network flows: theory, algorithms, and applications. Prentice-Hall, Inc., Upper Saddle River
Apache (2016) Lucene core. https://lucene.apache.org/. Accessed 16 Aug 2017
Apt K (2003) Principles of constraint programming. Cambridge University Press, Cambridge
Boussemart F, Hemery F, Lecoutre C, Sais L (2004) Boosting systematic search by weighting constraints. In: ECAI, vol. 16
Cambazard H, Mehta D, OSullivan B, Simonis H (2013) Bin packing with linear usage costs–an application to energy management in data centres. In: International conference on principles and practice of constraint programming. Springer, New York, pp 47–62
De Cauwer M, Mehta D, O’Sullivan B (2016) The temporal bin packing problem: an application to workload management in data centres. In: IEEE 28th international conference on tools with artificial intelligence (ICTAI), 2016, pp 157–164
Dupont C, Hermenier F, Schulze T, Basmadjian R, Somov A, Giuliani G (2015) Plug4green: a flexible energy-aware vm manager to fit data centre particularities. Ad Hoc Netw 25:505–519
Endo PT, de Almeida Palhares AV, Pereira NCVN, Gonçalves GE, Sadok D, Kelner J, Melander B, Mångs J (2011) Resource allocation for distributed cloud: concepts and research challenges. IEEE Netw 25(4):42–46. https://doi.org/10.1109/MNET.2011.5958007
Hazewinkel M (2001) Minimax principle. Encyclopedia of Mathematica. Springer
Hermenier F, Lawall J, Muller G (2013) Btrplace: a flexible consolidation manager for highly available applications. IEEE Trans Dependable Secure Comput 10(5):273–286
Hermenier F, Demassey S, Lorca X (2011) Bin repacking scheduling in virtualized datacenters. In: Principles and practice of constraint programming–CP 2011. Springer, New York pp 27–41
Hermenier F, Lorca X, Menaud JM, Muller G, Lawall J (2009) Entropy: a consolidation manager for clusters. In: Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments. ACM, pp 41–50
IBM (2015) IBM ILOG CPLEX Optimization Studio 12.5
Kadioglu S, Colena M, Sebbah S (2016) Heterogeneous resource allocation in cloud management. In: 15th IEEE international symposium on network computing and applications, NCA 2016, Cambridge, Boston, 2016, pp 35–38. https://doi.org/10.1109/NCA.2016.7778589
Kant K (2009) Data center evolution: a tutorial on state of the art, issues, and challenges. Comput Netw 53(17):2939–2965
Katriel I, Thiel S (2005) Complete bound consistency for the global cardinality constraint. Constraints 10(3):191–217
Laurière J (1978) A language and a program for stating and solving combinatorial problems. Artif Intell 10(1):29–127. https://doi.org/10.1016/0004-3702(78)90029-2
Lim N, Majumdar S, Ashwood-Smith P (2015) A constraint programming based Hadoop scheduler for handling MapReduce jobs with deadlines on clouds. In: Proceedings of the 6th ACM/SPEC international conference on performance engineering, ICPE ’15. ACM, New York, pp 111–122. https://doi.org/10.1145/2668930.2688058
Lombardi M, Milano M (2012) Optimal methods for resource allocation and scheduling: a cross-disciplinary survey. Constraints 17(1):51–85
Mitten L (1970) Branch-and-bound methods: general formulation and properties. Oper Res 18:24–34
Nemhauser G, Wolsey L (1988) Integer and combinatorial optimization. Wiley-Interscience, New York
Oplobedu A, Marcovitch J, Tourbier Y (1989) Charme: un langage industriel de programmation par contraintes, illustré par une application chez renault. In: Proceedings of the ninth international workshop on expert systems and their applications: general conferencehnical, pp 55–70
Padberg M, Rinaldi G (1991) A branch-and-cut algorithm for the resolution of large scale traveling salesman problems. SIAM Rev 33:66–100
Rai A, Bhagwan R, Guha S (2012) Generalized resource allocation for the cloud. In: Proceedings of the third ACM symposium on cloud computing. ACM
Rardin RL (2016) Optimization in operations research. Pearson, Delhi
Reale A, Bellavista P, Corradi A, Milano M (2014) Evaluating cp techniques to plan dynamic resource provisioning in distributed stream processing. In: Integration of AI and OR techniques in constraint programming. Springer, New York, pp 193–209
Refalo P (2004) Impact-based search strategies for constraint programming. In: Principles and practice of constraint programming–CP 2004. Springer, pp 557–571
Régin JC (1994) A filtering algorithm for constraints of difference in CSPS. In: Proceedings of the twelfth national conference on artificial intelligence, vol 1, AAAI ’94. American Association for Artificial Intelligence, Menlo Park, pp 362–367. http://dl.acm.org/citation.cfm?id=199288.178024
Régin JC, Rezgui M (2011) Discussion about constraint programming bin packing models. AI for data center management and cloud computing, vol 11
Schaus P (2009) Solving balancing and bin-packing problems with constraint programming. PhD Dissertation, Universit catholique de Louvain-la-Neuve
Sebbah S, Bagley C, Colena M, Kadioglu S (2016) Availability optimization in cloud-based in-memory data grids. In: Proceedings of 22nd international conference principles and practice of constraint programming, CP 2016, Toulouse, 2016, pp 666–679. https://doi.org/10.1007/978-3-319-44953-1_42
Shaw P (2004) A constraint for bin packing. In: Principles and practice of constraint programming–CP 2004, Springer, New York, pp 648–662
Smiley D, Pugh E, Parisa K (2014) Apache Solr 4 enterprise search server. Packt Publishing, Birmingham
Team Gecode (2016) Gecode: generic constraint development environment. http://www.gecode.org/. Accessed 16 Aug 2017
Van Hentenryck P, Carillon JP (1988) Generality versus specificity: an experience with AI and OR techniques. In: Proceedings of the seventh national conference on artificial intelligence, pp 660–664
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kadıoğlu, S. Core group placement: allocation and provisioning of heterogeneous resources. EURO J Comput Optim 7, 243–264 (2019). https://doi.org/10.1007/s13675-018-0095-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13675-018-0095-9
Keywords
- Cloud management
- Heterogeneous resource allocation
- Resource provisioning
- Constraint programming
- Mathematical programming