Abstract
Optimizing the deployment of software in a cloud environment is one approach for maximizing system Quality-of-Service (QoS) and minimizing total cost. A traditional challenge to this optimization is the large amount of benchmarking required to optimize even simplistic cloud systems. This paper introduces \(\hbox {C}^2\)RAM, an new approach to enable rapid, optimized deployment of software onto a cloud environment by substantially reducing the number of benchmarks required. \(\hbox {C}^2\)RAM continues to perform some benchmarking, and therefore its predictions of application QoS metrics, such as throughput and latency, are very accurate. Our results show a maximum difference of 1.06 % between \(\hbox {C}^2\)RAM predicted QoS and empirically measured QoS. Moreover, \(\hbox {C}^2\)RAM can be provided with QoS requirements for each software in the system, and will ensure that each requirement is met before presenting a deployment plan.











Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Almeida Morais, F.J., Vilar Brasileiro, F., Vigolvino Lopes, R., Araujo Santos, R., Satterfield, W., Rosa, L.: Autoflex: service agnostic auto-scaling framework for iaas deployment models. In: 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), 2013, pp. 42–49. IEEE (2013)
Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A., Stoica, I., et al.: A view of cloud computing. Commun. ACM 53(4), 50–58 (2010)
Beloglazov, A., Abawajy, J., Buyya, R.: Energy-aware resource allocation heuristics for efficient management of data centers for cloud computing. Future Gener. Comput. Syst. 28(5), 755–768 (2012)
Berkey, J., Wang, P.: Two-dimensional finite bin-packing algorithms. J. Oper. Res. Soc. 38(5), 423–429 (1987)
Bobroff, N., Kochut, A., Beaty, K.: Dynamic placement of virtual machines for managing sla violations. In: 10th IFIP/IEEE International Symposium on Integrated Network Management, 2007. IM’07, pp. 119–128. IEEE (2007)
Bodik, P., Goldszmidt, M., Fox, A., Woodard, D.B., Andersen, H.: Fingerprinting the datacenter: automated classification of performance crises. In: Proceedings of the 5th European Conference on Computer Systems, pp. 111–124. ACM (2010)
Caron, E., Desprez, F., Muresan, A., et al.: Forecasting for cloud computing on-demand resources based on pattern matching (2010)
Coffman Jr., E.G., Garey, M.R., Johnson, D.S.: Bin packing with divisible item sizes. J. Complex. 3(4), 406–428 (1987)
Coffman Jr., E.G., Garey, M.R., Johnson, D.S.: Approximation algorithms for bin packing: a survey. In: Approximation Algorithms for NP-Hard Problems, pp. 46–93. PWS Publishing Co., Boston (1996)
Cohen, I., Chase, J.S., Goldszmidt, M., Kelly, T., Symons, J.: Correlating instrumentation data to system states: a building block for automated diagnosis and control. OSDI 4, 16–16 (2004)
Corradi, A., Fanelli, M., Foschini, L.: Vm consolidation: a real case based on openstack cloud. Future Gener. Comput. Syst. 32, 118–127 (2014)
Custom Plugins for Apache JMeter. http://jmeter-plugins.org/ (2014)
Docker. https://www.docker.io (2014)
Dósa, G., Sgall, J.: First fit bin packing: a tight analysis. In: STACS, pp. 538–549. Citeseer (2013)
Elastic Load Balancing (ELB). https://aws.amazon.com/elasticloadbalancing/ (2014)
Friesen, D.K., Langston, M.A.: Variable sized bin packing. SIAM J. Comput. 15(1), 222–230 (1986)
Google Compute Engine (GCE). https://cloud.google.com/products/compute-engine/ (2014)
Halili, E.H.: Apache JMeter: a practical beginner’s guide to automated testing and performance measurement for your websites. Packt Publishing Ltd, Birmingham (2008)
Huang, J., Li, C., Yu, J.: Resource prediction based on double exponential smoothing in cloud computing. In: 2nd International Conference on Consumer Electronics, Communications and Networks (CECNet), 2012, pp. 2056–2060. IEEE (2012)
Johnson, D.S.: Near-optimal bin packing algorithms. PhD thesis, Massachusetts Institute of Technology (1973)
Karmarkar, N., Karp, R.M.: An efficient approximation scheme for the one-dimensional bin-packing problem. In: 23rd Annual Symposium on Foundations of Computer Science, 1982. SFCS’08, pp. 312–320. IEEE (1982)
Kenyon, C.: Best-fit bin-packing with random order. In: Proceedings of the Seventh Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 359–364. Society for Industrial and Applied Mathematics (1996)
Kundu, S., Rangaswami, R., Dutta, K., Zhao, M.: Application performance modeling in a virtualized environment. In: IEEE 16th International Symposium on High Performance Computer Architecture (HPCA), 2010, pp. 1–10. IEEE (2010)
Lakew, E.B., Klein, C., Hernandez-Rodriguez, F., Elmroth, E.: Towards faster response time models for vertical elasticity. In: Proceedings of the 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, pp. 560–565. IEEE Computer Society (2014)
Lee, S., Panigrahy, R., Prabhakaran, V., Ramasubramanian, V., Talwar, K., Uyeda, L., Wieder, U.: Validating heuristics for virtual machines consolidation. In: Microsoft Research, MSRTR-2011-9 (2011)
Lili, S., Shoubao, Y., Liangmin, G., Bin, W.: A markov chain based resource prediction in computational grid. In: Fourth International Conference on Frontier of Computer Science and Technology, 2009. FCST’09, pp. 119–124. IEEE (2009)
Lim, H.C., Babu, S., Chase, J.S., Parekh, S.S.: Automated control in cloud computing: challenges and opportunities. In: Proceedings of the 1st Workshop on Automated Control for Datacenters and Clouds, pp. 13–18. ACM, New York (2009)
LXC Linux Containers. https://linuxcontainers.org/ (2014)
Manley, S., Seltzer, M., Courage, M.: A self-scaling and self-configuring benchmark for web servers. In: ACM SIGMETRICS Performance Evaluation Review, vol. 26, pp. 270–271. ACM, New York (1998)
Mao, M., Humphrey, M.: Auto-scaling to minimize cost and meet application deadlines in cloud workflows. In: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, p. 49. ACM, New York (2011)
McCullough, J.C., Agarwal, Y., Chandrashekar, J., Kuppuswamy, S., Snoeren, A.C., Gupta, R.K.: Evaluating the effectiveness of model-based power characterization. In: USENIX Annual Technical Conference (2011)
Meijering, E.: A chronology of interpolation: from ancient astronomy to modern signal and image processing. Proc. IEEE 90(3), 319–342 (2002)
Merkel, D.: Docker: lightweight linux containers for consistent development and deployment. Linux J. 2014(239), 2 (2014)
Mickulicz, N.D., Narasimhan, P., Gandhi, R., Mickulicz, N.D., Narasimhan, P., Gandhi, R.: To auto scale or not to auto scale. In: ICAC, pp. 145–151 (2013)
Modi, P.J., Jung, H., Tambe, M., Shen, W.M., Kulkarni, S.: A dynamic distributed constraint satisfaction approach to resource allocation. In: Principles and Practice of Constraint Programming CP 2001, pp. 685–700. Springer, Berlin (2001)
Neter, J., Kutner, M.H., Nachtsheim, C.J., Wasserman, W.: Applied Linear Statistical Models, vol. 4. Irwin, Chicago (1996)
Nguyen, H., Shen, Z., Gu, X., Subbiah, S., Wilkes, J.: Agile: elastic distributed resource scaling for infrastructure-as-a-service. In: Proceedings of the USENIX International Conference on Automated Computing (ICAC13), San Jose, CA (2013)
OLoughlin, J., Gillam, L.: Performance evaluation for cost-efficient public infrastructure cloud use. In: Economics of Grids, Clouds, Systems, and Services, pp. 133–145 (2014)
Pisinger, D., Sigurd, M.: The two-dimensional bin packing problem with variable bin sizes and costs. Discret. Optim. 2(2), 154–167 (2005)
Rao, J., Bu, X., Xu, C.Z., Wang, L., Yin, G.: Vconf: a reinforcement learning approach to virtual machines auto-configuration. In: Proceedings of the 6th International Conference on Autonomic computing, pp. 137–146. ACM, New York (2009)
Saha, D., Mitra, R., Basu, A.: Hardware software partitioning using genetic algorithm. In: Proceedings of the Tenth International Conference on VLSI Design, 1997, pp. 155–160. IEEE (1997)
Seiden, S.S.: On the online bin packing problem. J. ACM (JACM) 49(5), 640–671 (2002)
Sherman, Y., Hare, U., Kinreich, I.: Method of load testing web applications based on performance goal (2002). US Patent 6,434,513
Silva, J.N., Veiga, L., Ferreira, P.: Heuristic for resources allocation on utility computing infrastructures. In: Proceedings of the 6th International Workshop on Middleware for Grid Computing, p. 9. ACM, New York (2008)
Sobel, W., Subramanyam, S., Sucharitakul, A., Nguyen, J., Wong, H., Klepchukov, A., Patil, S., Fox, A., Patterson, D.: Cloudstone: multi-platform, multi-language benchmark and measurement tools for web 2.0. In: Proceedings of CCA, vol. 8 (2008)
Srikantaiah, S., Kansal, A., Zhao, F.: Energy aware consolidation for cloud computing. In: Proceedings of the 2008 Conference on Power Aware Computing and Systems, HotPower’08, pp. 10–10. USENIX Association, Berkeley (2008). http://dl.acm.org/citation.cfm?id=1855610.1855620
Sun, Y., White, J., Eade, S.: A model-based system to automate cloud resource allocation and optimization. In: Model-Driven Engineering Languages and Systems, pp. 18–34. Springer (2014)
Tang, C., Steinder, M., Spreitzer, M., Pacifici, G.: A scalable application placement controller for enterprise data centers. In: Proceedings of the 16th International Conference on World Wide Web, WWW ’07, pp. 331–340. ACM, New York (2007). doi:10.1145/1242572.1242618
Tolosana-Calasanz, R., Diaz-Montes, J., Rana, O., Parashar, M.: Extending cometcloud to process dynamic data streams on heterogeneous infrastructures. In: International Conference on Cloud and Autonomic Computing (ICCAC), 2014, pp. 196–205. IEEE (2014)
Tsoumakos, D., Konstantinou, I., Boumpouka, C., Sioutas, S., Koziris, N.: Automated, elastic resource provisioning for nosql clusters using tiramola. In: 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid), 2013, pp. 34–41. IEEE (2013)
Uttamchandani, S., Yin, L., Alvarez, G.A., Palmer, J., Agha, G.A.: Chameleon: a self-evolving, fully-adaptive resource arbitrator for storage systems. In: USENIX Annual Technical Conference, General Track, pp. 75–88 (2005)
Van, H.N., Tran, F.D., Menaud, J.M.: Sla-aware virtual resource management for cloud infrastructures. In: Ninth IEEE International Conference on Computer and Information Technology, 2009. CIT’09, vol. 1, pp. 357–362. IEEE (2009)
Vanderster, D., Dimopoulos, N., Sobie, R.: Metascheduling multiple resource types using the mmkp. In: Proceedings of the 7th IEEE/ACM International Conference on Grid Computing, pp. 231–237. IEEE Computer Society (2006)
Wang, M., Meng, X., Zhang, L.: Consolidating virtual machines with dynamic bandwidth demand in data centers. In: Proceedings of the IEEE on INFOCOM, 2011, pp. 71–75. IEEE (2011)
Web Framework Benchmarks. http://www.techempower.com/benchmarks/ (2014)
White, J., Doughtery, B., Schmidt, D.C.: Ascent: an algorithmic technique for designing hardware and software in tandem. IEEE Trans. Softw. Eng. 36(6), 838–851 (2010)
Williams, L.B.C.: Model driven engineering languages and systems (2005)
Wood, T., Cherkasova, L., Ozonat, K., Shenoy, P.: Profiling and modeling resource usage of virtualized applications. In: Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware, pp. 366–387. Springer, New York (2008)
Wood, T., Shenoy, P., Venkataramani, A., Yousif, M.: Black-box and gray-box strategies for virtual machine migration. In: Proceedings of the 4th USENIX Conference on Networked Systems Design & #38; Implementation, NSDI’07, pp. 17–17. USENIX Association, Berkeley (2007). http://dl.acm.org/citation.cfm?id=1973430.1973447
Xiao, Z., Song, W., Chen, Q.: Dynamic resource allocation using virtual machines for cloud computing environment. IEEE Trans. Parallel Distrib. Syst. 24(6), 1107–1117 (2013)
Xu, J., Zhao, M., Fortes, J., Carpenter, R., Yousif, M.: Autonomic resource management in virtualized data centers using fuzzy logic-based approaches. Clust. Comput. 11(3), 213–227 (2008)
Yue, M., Zhang, L.: A simple proof of the inequality mffd (l) 71/60 opt (l)+ 1, l for the mffd bin-packing algorithm. Acta Math. Appl. Sin. 11(3), 318–330 (1995)
Zhu, L., Liu, Y., Bui, N.B., Gorton, I.: Revel8or: model driven capacity planning tool suite. In: 29th International Conference on Software Engineering, 2007, ICSE 2007, pp. 797–800. IEEE (2007)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Sun, Y., White, J., Li, B. et al. Automated QoS-oriented cloud resource optimization using containers. Autom Softw Eng 24, 101–137 (2017). https://doi.org/10.1007/s10515-016-0191-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-016-0191-0