Skip to main content
Log in

Automated QoS-oriented cloud resource optimization using containers

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Berkey, J., Wang, P.: Two-dimensional finite bin-packing algorithms. J. Oper. Res. Soc. 38(5), 423–429 (1987)

    Article  MATH  Google Scholar 

  • 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)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

    Google Scholar 

  • Corradi, A., Fanelli, M., Foschini, L.: Vm consolidation: a real case based on openstack cloud. Future Gener. Comput. Syst. 32, 118–127 (2014)

    Article  Google Scholar 

  • 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)

    Article  MATH  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Merkel, D.: Docker: lightweight linux containers for consistent development and deployment. Linux J. 2014(239), 2 (2014)

    Google Scholar 

  • 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)

    Google Scholar 

  • 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)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yu Sun.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-016-0191-0

Keywords

Navigation