Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Automated Fine-Grained CPU Provisioning for Virtual Machines

Published: 31 July 2014 Publication History
  • Get Citation Alerts
  • Abstract

    Ideally, the pay-as-you-go model of Infrastructure as a Service (IaaS) clouds should enable users to rent just enough resources (e.g., CPU or memory bandwidth) to fulfill their service level objectives (SLOs). Achieving this goal is hard on current IaaS offers, which require users to explicitly specify the amount of resources to reserve; this requirement is nontrivial for users, because estimating the amount of resources needed to attain application-level SLOs is often complex, especially when resources are virtualized and the service provider colocates virtual machines (VMs) on host nodes. For this reason, users who deploy VMs subject to SLOs are usually prone to overprovisioning resources, thus resulting in inflated business costs.
    This article tackles this issue with AutoPro: a runtime system that enhances IaaS clouds with automated and fine-grained resource provisioning based on performance SLOs. Our main contribution with AutoPro is filling the gap between application-level performance SLOs and allocation of a contended resource, without requiring explicit reservations from users. In this article, we focus on CPU bandwidth allocation to throughput-driven, compute-intensive multithreaded applications colocated on a multicore processor; we show that a theoretically sound, yet simple, control strategy can enable automated fine-grained allocation of this contended resource, without the need for offline profiling. Additionally, AutoPro helps service providers optimize infrastructure utilization by provisioning idle resources to best-effort workloads, so as to maximize node-level utilization.
    Our extensive experimental evaluation confirms that AutoPro is able to automatically determine and enforce allocations to meet performance SLOs while maximizing node-level utilization by supporting batch workloads on a best-effort basis.

    References

    [1]
    Orna Agmon Ben-Yehuda, Muli Ben-Yehuda, Assaf Schuster, and Dan Tsafrir. 2012. The resource-as-a-service (RaaS) cloud. In Proceedings of the 4th Workshop on Hot Topics in Cloud Computing (HotCloud'12). USENIX Association, Berkeley, CA.
    [2]
    Karl Johan Åström and Björn Wittenmark. 2008. Adaptive Control. Dover Publications.
    [3]
    Gaurav Banga, Peter Druschel, and Jeffrey C. Mogul. 1999. Resource containers: A new facility for resource management in server systems. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI'99). USENIX Association, Berkeley, CA, 45--58.
    [4]
    Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. 2003. Xen and the art of virtualization. In Proceedings of the 19th Symposium on Operating Systems Principles (SOSP'03). ACM, New York, NY, 164--177.
    [5]
    Davide B. Bartolini, Riccardo Cattaneo, Gianluca C. Durelli, Martina Maggio, Marco D. Santambrogio, and Filippo Sironi. 2013a. The autonomic operating system research project: Achievements and future directions. In Proceedings of the 50th Design Automation Conference (DAC'13). ACM, New York, NY, 77:1--77:10.
    [6]
    Davide B. Bartolini, Filippo Sironi, Martina Maggio, Gianluca C. Durelli, Donatella Sciuto, and Marco D. Santambrogio. 2013b. Towards a performance-as-a-service cloud. In Proceedings of the 4th Symposium on Cloud Computing (SoCC'13). ACM, New York, NY, 26:1--26:2.
    [7]
    Christian Bienia. 2011. Benchmarking Modern Multiprocessors. Ph.D. Dissertation. Princeton University.
    [8]
    Silas Boyd-Wickizer, Austin T. Clements, Yandong Mao, Aleksey Pesterev, M. Frans Kaashoek, Robert Morris, and Nickolai Zeldovich. 2010. An analysis of linux scalability to many cores. In Proceedings of the 9th Symposium on Operating Systems Design and Implementation (OSDI'10). USENIX Association, Berkeley, CA, 1--16.
    [9]
    Alex D. Breslow, Ananta Tiwari, Martin Schulz, Laura Carrington, Lingjia Tang, and Jason Mars. 2013. Enabling fair pricing on HPC systems with node sharing. In Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (SC'13). ACM, New York, NY, 37:1--37:12.
    [10]
    Lydia Y. Chen, Danilo Ansaloni, Evgenia Smirni, Akira Yokokawa, and Walter Binder. 2012. Achieving application-centric performance targets via consolidation on multicores: Myth or reality?. In Proceedings of the 21st International Symposium on High-Performance Parallel and Distributed Computing (HPDC'12). ACM, New York, NY, 37--48.
    [11]
    Henry Cook, Miquel Moreto, Sarah Bird, Khanh Dao, David A. Patterson, and Krste Asanovic. 2013. A hardware evaluation of cache partitioning to improve utilization and energy-efficiency while preserving responsiveness. In Proceedings of the 40th International Symposium on Computer Architecture (ISCA'13). ACM, New York, NY, 308--319.
    [12]
    Jeffrey Dean and Luiz André Barroso. 2013. The tail at scale. Commun. ACM 56, 2 (Feb. 2013), 74--80.
    [13]
    Jeffrey Dean and Sanjay Ghemawat. 2004. MapReduce: Simplified data processing on large clusters. In Proceedings of the 6th Symposium on Operating Systems Design and Implementation (OSDI'04). USENIX Association, Berkeley, CA, 137--149.
    [14]
    Tyler Dwyer, Alexandra Fedorova, Sergey Blagodurov, Mark Roth, Fabien Gaud, and Jian Pei. 2012. A practical method for estimating performance degradation on multicore processors, and its application to HPC workloads. In Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (SC'12). IEEE Computer Society Press, Los Alamitos, CA, 83:1--83:11.
    [15]
    Benjamin Farley, Ari Juels, Venkatanathan Varadarajan, Thomas Ristenpart, Kevin D. Bowers, and Michael M. Swift. 2012. More for your money: Exploiting performance heterogeneity in public clouds. In Proceedings of the 3rd Symposium on Cloud Computing (SoCC'12). ACM, New York, NY, 20:1--20:14.
    [16]
    Alexandra Fedorova, Margo Seltzer, and Michael D. Smith. 2007. Improving performance isolation on chip multiprocessors via an operating system scheduler. In Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques (PACT'07). IEEE Computer Society, Washington, DC, 25--38.
    [17]
    Ali Ghodsi, Matei Zaharia, Benjamin Hindman, Andy Konwinski, Scott Shenker, and Ion Stoica. 2011. Dominant resource fairness: Fair allocation of multiple resource types. In Proceedings of the 8th Symposium on Networked Systems Design and Implementation (NSDI'11). USENIX Association, Berkeley, CA, 323--336.
    [18]
    Daniel Gmach, Jerry Rolia, and Ludmila Cherkasova. 2012. Selling t-shirts and time shares in the cloud. In Proceedings of the 12th International Symposium on Cluster, Cloud and Grid Computing (CCGRID'12). IEEE Computer Society, Washington, DC, 539--546.
    [19]
    Zhenhuan Gong, Xiaohui Gu, and J. Wilkes. 2010. PRESS: PRedictive elastic resource scaling for cloud systems. In Proceedings of the 6th International Conference on Network and Services Management (CNSM'10). International Federation for Information Processing, Laxenburg, Austria, 9--16.
    [20]
    Sriram Govindan, Jie Liu, Aman Kansal, and Anand Sivasubramaniam. 2011. Cuanta: Quantifying effects of shared on-chip resource interference for consolidated virtual machines. In Proceedings of the 2nd Symposium on Cloud Computing (SoCC'11). ACM, New York, NY, 22:1--22:14.
    [21]
    Joseph L. Hellerstein, Yixin Diao, Sujay Parekh, and Dawn M. Tilbury. 2004. Feedback Control of Computing Systems. John Wiley & Sons.
    [22]
    Henry Hoffmann, Jonathan Eastep, Marco D. Santambrogio, Jason E. Miller, and Anant Agarwal. 2010. Application heartbeats: A generic interface for specifying program performance and goals in autonomous computing environments. In Proceedings of the 7th International Conference on Autonomic Computing (ICAC'10). ACM, New York, NY, 79--88.
    [23]
    Henry Hoffmann, Martina Maggio, Marco D. Santambrogio, Alberto Leva, and Anant Agarwal. 2013. A generalized software framework for accurate and efficient management of performance goals. In Proceedings of the 11th International Conference on Embedded Software (EMSOFT'13). IEEE Press, Piscataway, NJ, 19:1--19:10.
    [24]
    Changyeon Jo, Erik Gustafsson, Jeongseok Son, and Bernhard Egger. 2013. Efficient live migration of virtual machines using shared storage. In Proceedings of the 9th International Conference on Virtual Execution Environments (VEE'13). ACM, New York, NY, 41--50.
    [25]
    Harshad Kasture and Daniel Sanchez. 2014. Ubik: Efficient cache sharing with strict Qos for latency-critical workloads. In Proceedings of the 18th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'14). ACM, New York, NY, 729--742.
    [26]
    Avi Kivity, Yaniv Kamay, Dor Laor, Uri Lublin, and Anthony Liguori. 2007. kvm: The Linux virtual machine monitor. In Proceedings of the Linux Symposium. 225--230.
    [27]
    Brian Kocoloski, Jiannan Ouyang, and John Lange. 2012. A case for dual stack virtualization: Consolidating HPC and commodity applications in the cloud. In Proceedings of the 3rd Symposium on Cloud Computing (SoCC'12). ACM, New York, NY, 23:1--23:7.
    [28]
    Jacob Leverich and Christos Kozyrakis. 2014. Reconciling high server utilization and sub-millisecond quality-of-service. In Proceedings of the 9th European Conference on Computer Systems (EuroSys'14). ACM, New York, NY.
    [29]
    Jiang Lin, Qingda Lu, Xiaoning Ding, Zhao Zhang, Xiaodong Zhang, and P. Sadayappan. 2008. Gaining insights into multicore cache partitioning: Bridging the gap between simulation and real systems. In Proceedings of the 14th International Symposium on High Performance Computer Architecture (HPCA'08). IEEE Computer Society, Washington, DC, 367--378.
    [30]
    Jason Mars, Lingjia Tang, Robert Hundt, Kevin Skadron, and Mary Lou Soffa. 2011. Bubble-Up: Increasing utilization in modern warehouse scale computers via sensible co-locations. In Proceedings of the 44th International Symposium on Microarchitecture (MICRO'11). ACM, New York, NY, 248--259.
    [31]
    David Meisner, Brian T. Gold, and Thomas F. Wenisch. 2011. The PowerNap server architecture. ACM Trans. Comput. Syst. 29, 1 (Feb. 2011), 3:1--3:24.
    [32]
    Paul Menage. 2013. CGROUPS. Available at http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt.
    [33]
    Ripal Nathuji, Aman Kansal, and Alireza Ghaffarkhah. 2010. Q-Clouds: Managing performance interference effects for QoS-aware clouds. In Proceedings of the 5th European Conference on Computer Systems (EuroSys'10). ACM, New York, NY, 237--250.
    [34]
    Angeles Navarro, Rafael Asenjo, Siham Tabik, and Calin Cascaval. 2009. Analytical modeling of pipeline parallelism. In Proceedings of the 18th International Conference on Parallel Architectures and Compilation Techniques (PACT'09). IEEE Computer Society, Washington, DC, 281--290.
    [35]
    Kay Ousterhout, Patrick Wendell, Matei Zaharia, and Ion Stoica. 2013. Sparrow: Distributed, low latency scheduling. In Proceedings of the 24th Symposium on Operating Systems Principles (SOSP'13). ACM, New York, NY, 69--84.
    [36]
    Pradeep Padala, Kai-Yuan Hou, Kang G. Shin, Xiaoyun Zhu, Mustafa Uysal, Zhikui Wang, Sharad Singhal, and Arif Merchant. 2009. Automated control of multiple virtualized resources. In Proceedings of the 4th European Conference on Computer Systems (EuroSys'09). ACM, New York, NY, 13--26.
    [37]
    Conrad Sanderson. 2010. Armadillo: An Open Source C++ Linear Algebra Library for Fast Prototyping and Computationally Intensive Experiments. Technical Report. NICTA.
    [38]
    Hiroshi Sasaki, Teruo Tanimoto, Koji Inoue, and Hiroshi Nakamura. 2012. Scalability-Based manycore partitioning. In Proceedings of the 21st International Conference on Parallel Architectures and Compilation Techniques (PACT'12). ACM, New York, NY, 107--116.
    [39]
    Malte Schwarzkopf, Andy Konwinski, Michael Abd-El-Malek, and John Wilkes. 2013. Omega: Flexible, scalable schedulers for large compute clusters. In Proceedings of the 8th European Conference on Computer Systems (EuroSys'13). ACM, New York, NY, 351--364.
    [40]
    Alberto Scolari, Filippo Sironi, Davide B. Bartolini, Donatella Sciuto, and Marco D. Santambrogio. 2013. Coloring the cloud for predictable performance. In Proceedings of the 4th Symposium on Cloud Computing (SoCC'13). ACM, New York, NY, 47:1--47:2.
    [41]
    Akbar Sharifi, Shekhar Srikantaiah, Asit K. Mishra, Mahmut Kandemir, and Chita R. Das. 2011. METE: Meeting end-to-end QoS in multicores through system-wide resource management. In Proceedings of the International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS'11). ACM, New York, NY, 13--24.
    [42]
    Zhiming Shen, Sethuraman Subbiah, Xiaohui Gu, and John Wilkes. 2011. CloudScale: Elastic resource scaling for multi-tenant cloud systems. In Proceedings of the 2nd Symposium on Cloud Computing (SoCC'11). ACM, New York, NY, 5:1--5:14.
    [43]
    Filippo Sironi, Davide B. Bartolini, Simone Campanoni, Fabio Cancare, Henry Hoffmann, Donatella Sciuto, and Marco D. Santambrogio. 2012. Metronome: Operating system level performance management via self-adaptive computing. In Proceedings of the 49th Design Automation Conference (DAC'12). ACM, New York, NY, 856--865.
    [44]
    Filippo Sironi, Donatella Sciuto, and Marco D. Santambrogio. 2014. A performance-aware quality of service-driven scheduler for multicore processors. SIGBED Rev. 11, 1 (Feb. 2014), 50--55.
    [45]
    Standard Performance Evaluation Corporation. 2013. SPECvirt_sc2013. Available at http://www.spec.org/virt_sc2013/. (2013).
    [46]
    Paul Turner, Bharata B. Rao, and Nikhil Rao. 2010. CPU bandwidth control for CFS. In Proceedings of the Linux Symposium. 245--254.
    [47]
    Xen Project. 2013. Credit Scheduler -- Xen. Available at http://wiki.xen.org/wiki/CreditScheduler. (2013).
    [48]
    Heechul Yun, Gang Yao, R. Pellizzoni, M. Caccamo, and Lui Sha. 2013. MemGuard: Memory bandwidth reservation system for efficient performance isolation in multi-core platforms. In Proceedings of the 19th Real-Time and Embedded Technology and Applications Symposium (RTAS'13). IEEE Computer Society, Washington, DC, 55--64.
    [49]
    Ronghua Zhang, Chenyang Lu, Tarek F. Abdelzaher, and John A. Stankovic. 2002. ControlWare: A middleware architecture for feedback control of software performance. In Proceedings of the 22nd International Conference on Distributed Computing Systems (ICDCS'02). IEEE Computer Society, Washington, DC, 301--310.

    Cited By

    View all
    • (2023)Autothrottle: Satisfying Network Performance Requirements for ContainersIEEE Transactions on Cloud Computing10.1109/TCC.2022.318639711:2(2096-2109)Online publication date: 1-Apr-2023
    • (2023)i-NVMe: Isolated NVMe over TCP for a Containerized EnvironmentIEEE INFOCOM 2023 - IEEE Conference on Computer Communications10.1109/INFOCOM53939.2023.10228889(1-10)Online publication date: 17-May-2023
    • (2019)A Case for Performance-Aware Deployment of ContainersProceedings of the 5th International Workshop on Container Technologies and Container Clouds10.1145/3366615.3368355(25-30)Online publication date: 9-Dec-2019
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Architecture and Code Optimization
    ACM Transactions on Architecture and Code Optimization  Volume 11, Issue 3
    October 2014
    298 pages
    ISSN:1544-3566
    EISSN:1544-3973
    DOI:10.1145/2658949
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 31 July 2014
    Accepted: 01 June 2014
    Revised: 01 April 2014
    Received: 01 January 2014
    Published in TACO Volume 11, Issue 3

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Cloud computing
    2. performance management
    3. resource allocation
    4. virtualization

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)55
    • Downloads (Last 6 weeks)5
    Reflects downloads up to 26 Jul 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Autothrottle: Satisfying Network Performance Requirements for ContainersIEEE Transactions on Cloud Computing10.1109/TCC.2022.318639711:2(2096-2109)Online publication date: 1-Apr-2023
    • (2023)i-NVMe: Isolated NVMe over TCP for a Containerized EnvironmentIEEE INFOCOM 2023 - IEEE Conference on Computer Communications10.1109/INFOCOM53939.2023.10228889(1-10)Online publication date: 17-May-2023
    • (2019)A Case for Performance-Aware Deployment of ContainersProceedings of the 5th International Workshop on Container Technologies and Container Clouds10.1145/3366615.3368355(25-30)Online publication date: 9-Dec-2019
    • (2018)IronProceedings of the 15th USENIX Conference on Networked Systems Design and Implementation10.5555/3307441.3307468(313-328)Online publication date: 9-Apr-2018
    • (2018)HPDVProceedings of the 18th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing10.1109/CCGRID.2018.00074(472-481)Online publication date: 1-May-2018
    • (2017)PRMRAP: A Proactive Virtual Resource Management Framework in Cloud2017 IEEE International Conference on Edge Computing (EDGE)10.1109/IEEE.EDGE.2017.24(120-127)Online publication date: Jul-2017
    • (2017)vmBBProfilerComputing10.1007/s00607-017-0552-y99:12(1149-1177)Online publication date: 1-Dec-2017
    • (2016)Autonomic thread scaling library for QoS managementACM SIGBED Review10.1145/2907972.290797813:1(41-47)Online publication date: 25-Mar-2016
    • (2016)User-Centric Power Management for Embedded CPUs Using CPU Bandwidth ControlIEEE Transactions on Mobile Computing10.1109/TMC.2015.249256615:9(2388-2397)Online publication date: 1-Sep-2016
    • (2016)Quality of Service Driven Runtime Resource Allocation in Reconfigurable HPC Architectures2016 IEEE Intl Conference on Computational Science and Engineering (CSE) and IEEE Intl Conference on Embedded and Ubiquitous Computing (EUC) and 15th Intl Symposium on Distributed Computing and Applications for Business Engineering (DCABES)10.1109/CSE-EUC-DCABES.2016.156(16-23)Online publication date: Aug-2016

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media