[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article
Public Access

Optimizing N-Tier Application Scalability in the Cloud: A Study of Soft Resource Allocation

Published: 13 June 2019 Publication History

Abstract

An effective cloud computing environment requires both good performance and high efficiency of computing resources. Through extensive experiments using a representative n-tier benchmark application (Rice University Bulletin Board System (RUBBoS)), we show that the soft resource allocation (e.g., thread pool size and database connection pool size) in component servers has a significant impact on the overall system performance, especially at high system utilization scenarios. Concretely, the same software resource allocation can be a good setting in one hardware configuration and then becomes an either under- or over-allocation in a slightly different hardware configuration, causing a significant performance drop. We have also observed some interesting phenomena that were caused by the non-trivial dependencies between the soft resources of servers in different tiers. For instance, the thread pool size in an Apache web server can limit the total number of concurrent requests to the downstream servers, which surprisingly decreases the Central Processing Unit (CPU) utilization of the Clustered Java Database Connectivity (C-JDBC) clustering middleware as the workload increases. To provide a globally optimal (or near-optimal) soft resource allocation of each tier in the system, we propose a practical iterative solution approach by combining a soft resource aware queuing network model and the fine-grained measurement data of every component server. Our results show that to truly scale complex distributed systems such as n-tier web applications with expected performance in the cloud, we need to carefully manage soft resource allocation in the system.

References

[1]
K. Aberer, T. Risse, and A. Wombacher. 2001. Configuration of distributed message converter systems using performance modeling. In Conference Proceedings of the 2001 IEEE International Performance, Computing, and Communications Conference (Cat. No.01CH37210). 57--67.
[2]
Stephen Adler. 1999. The slashdot effect: An analysis of three Internet publications. Linux Gazette 38, 2 (1999).
[3]
Ahsan Ali, Riccardo Pinciroli, Feng Yan, and Evgenia Smirni. 2018. CEDULE: A scheduling framework for burstable performance in cloud computing. In 2018 IEEE International Conference on Autonomic Computing (ICAC). IEEE, 141--150.
[4]
Ayoub Alsarhan, Awni Itradat, Ahmed Y. Al-Dubai, Albert Y. Zomaya, and Geyong Min. 2018. Adaptive resource allocation and provisioning in multi-service cloud environments. IEEE Trans. Parallel Distrib. Syst. 29, 1 (2018), 31--42.
[5]
Amazon Web Services. 2017. Amazon Auto Scaling. Retrieved August 8, 2018 from https://aws.amazon.com/documentation/autoscaling.
[6]
Amazon Web Services. 2018. Amazon CloudWatch. Retrieved August 8, 2018 from https://aws.amazon.com/cloudwatch/.
[7]
Amazon Web Services. 2019. Amazon EC2 Dedicated Hosts Pricing. Retrieved February 8, 2019 from https://aws.amazon.com/ec2/dedicated-hosts/pricing/.
[8]
Danilo Ardagna, Giuliano Casale, Michele Ciavotta, Juan F. Pérez, and Weikun Wang. 2014. Quality-of-service in cloud computing: Modeling techniques and their applications. J. Internet Serv. Appl. 5, 1 (2014), 11.
[9]
Berk Atikoglu, Yuehai Xu, Eitan Frachtenberg, Song Jiang, and Mike Paleczny. 2012. Workload analysis of a large-scale key-value store. In ACM SIGMETRICS Performance Evaluation Review, Vol. 40. ACM, 53--64.
[10]
Vicenç Beltran, Jordi Torres, and Eduard Ayguadé. 2008. Understanding tuning complexity in multithreaded and hybrid web servers. In IEEE International Symposium on Parallel and Distributed Processing (IPDPS’08). IEEE, 1--12.
[11]
Daniel S. Berger, Benjamin Berg, Timothy Zhu, Siddhartha Sen, and Mor Harchol-Balter. 2018. RobinHood: Tail latency aware caching--dynamic reallocation from cache-rich to cache-poor. In 13th {USENIX} Symposium on Operating Systems Design and Implementation (OSDI'18). 195--212.
[12]
Janki Bhimani, Ningfang Mi, Miriam Leeser, and Zhengyu Yang. 2017. FIM: Performance prediction for parallel computation in iterative data processing applications. In IEEE 10th International Conference on Cloud Computing (CLOUD’17). IEEE, 359--366.
[13]
Eric Boutin, Jaliya Ekanayake, Wei Lin, Bing Shi, Jingren Zhou, Zhengping Qian, Ming Wu, and Lidong Zhou. 2014. Apollo: Scalable and coordinated scheduling for cloud-scale computing. In OSDI, Vol. 14. 285--300.
[14]
Silas Boyd-Wickizer, Austin T. Clements, Yandong Mao, Aleksey Pesterev, M. Frans Kaashoek, Robert Morris, Nickolai Zeldovich, et al. 2010. An analysis of Linux scalability to many cores. In OSDI, Vol. 10. 86--93.
[15]
Rodrigo N. Calheiros, Enayat Masoumi, Rajiv Ranjan, and Rajkumar Buyya. 2015. Workload prediction using ARIMA model and its impact on cloud applications’ QoS. IEEE Trans. Cloud Comput. 3, 4 (2015), 449--458.
[16]
Emmanuel Cecchet, Anupam Chanda, Sameh Elnikety, Julie Marguerite, and Willy Zwaenepoel. 2003. Performance comparison of middleware architectures for generating dynamic web content. In ACM/IFIP/USENIX International Conference on Distributed Systems Platforms and Open Distributed Processing. Springer, 242--261.
[17]
Emmanuel Cecchet, Julie Marguerite, and Willy Zwaenepole. 2004. C-JDBC: Flexible database clustering middleware. In Proceedings of the Annual Conference on USENIX Annual Technical Conference (ATEC’04). USENIX Association, Berkeley, CA, 26--26.
[18]
Eli Cortez, Anand Bonde, Alexandre Muzio, Mark Russinovich, Marcus Fontoura, and Ricardo Bianchini. 2017. Resource central: Understanding and predicting workloads for improved resource management in large cloud platforms. In Proceedings of the 26th Symposium on Operating Systems Principles (SOSP’17). ACM Press, New York, New York, 153--167.
[19]
Kristal Curtis, Peter Bodík, Michael Armbrust, Armando Fox, Mike Franklin, Michael Jordan, and David Patterson. 2010. Determining SLO Violations at Compile Time.
[20]
Christina Delimitrou and Christos Kozyrakis. 2014. Quasar: Resource-efficient and QoS-aware cluster management. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14). ACM, New York, NY, 127--144.
[21]
Greg Franks, Tariq Al-Omari, Murray Woodside, Olivia Das, and Salem Derisavi. 2009. Enhanced modeling and solution of layered queueing networks. IEEE Trans. Software Eng. 35, 2 (2009), 148--161.
[22]
Anshul Gandhi, Yuan Chen, Daniel Gmach, Martin Arlitt, and Manish Marwah. 2012. Hybrid resource provisioning for minimizing data center SLA violations and power consumption. Sustainable computing: Informatics and systems 2, 2 (Jun 2012), 91--104.
[23]
Anshul Gandhi, Mor Harchol-Balter, Ram Raghunathan, and Michael A. Kozuch. 2012. AutoScale: Dynamic, robust capacity management for multi-tier data centers. ACM Trans. Comput. Syst. 30, 4, Article 14 (Nov. 2012), 26 pages.
[24]
Anshul Gandhi, Yuan Chen, Daniel Gmach, Martin Arlitt, and Manish Marwah. 2011. Minimizing data center SLA violations and power consumption via hybrid resource provisioning. In 2011 International Green Computing Conference and Workshops. IEEE, Orlando, FL, 1--8.
[25]
Gatech. 2008. Elba: Automated Design/Configuration Evaluation and Tuning. Retrieved February 5, 2019 from https://www.cc.gatech.edu/systems/projects/Elba/index.html.
[26]
Ashif S. Harji, Peter A. Buhr, and Tim Brecht. 2012. Comparing high-performance multi-core web-server architectures. In Proceedings of the 5th Annual International Systems and Storage Conference (SYSTOR’12). ACM, New York, NY, Article 1, 12 pages.
[27]
Gueyoung Jung, Kaustubh R. Joshi, Matti A. Hiltunen, Richard D. Schlichting, and Calton Pu. 2009. A cost-sensitive adaptation engine for server consolidation of multitier applications. In Proceedings of the ACM/IFIP/USENIX 10th International Conference on Middleware (Middleware’09). Springer-Verlag, Berlin, 163--183.
[28]
Jalal Khamse-Ashari, Ioannis Lambadaris, George Kesidis, Bhuvan Urgaonkar, and Yiqiang Zhao. 2018. An efficient and fair multi-resource allocation mechanism for heterogeneous servers. IEEE Transactions on Parallel and Distributed Systems 29, 12 (2018), 2686--2699.
[29]
R. Kohavi and R. Longbotham. 2007. Online experiments: Lessons learned. Comput. 40, 9 (Sept. 2007), 103--105.
[30]
Maxwell N. Krohn, Eddie Kohler, and M. Frans Kaashoek. 2007. Events can make sense. In USENIX Annual Technical Conference. 87--100.
[31]
Gil Jae Lee and José A. B. Fortes. 2017. Hierarchical self-tuning of concurrency and resource units in data-analytics frameworks. In IEEE International Conference on Autonomic Computing (ICAC’17). IEEE, 49--58.
[32]
Zhao Lucis Li, Chieh-Jan Mike Liang, Wenjia He, Lianjie Zhu, Wenjun Dai, Jin Jiang, and Guangzhong Sun. 2018. Metis: Robustly tuning tail latencies of cloud systems. In 2018 {USENIX} Annual Technical Conference (USENIXATC'18). 981--992.
[33]
Linux Foundation. 2017. node.js. Retrieved August 8, 2018 from https://nodejs.org/en/.
[34]
Richard T. B. Ma. 2016. Efficient resource allocation and consolidation with selfish agents: An adaptive auction approach. In IEEE 36th International Conference on Distributed Computing Systems (ICDCS’16). IEEE, 497--508.
[35]
Amiya K. Maji, Subrata Mitra, Bowen Zhou, Saurabh Bagchi, and Akshat Verma. 2014. Mitigating interference in cloud services by middleware reconfiguration. In Proceedings of the 15th International Middleware Conference (Middleware’14). ACM, New York, NY, 277--288.
[36]
Simon Malkowski, Markus Hedwig, Deepal Jayasinghe, Junhee Park, Yasuhiko Kanemasa, and Calton Pu. 2009. A new perspective on experimental analysis of n-tier systems: Evaluating database scalability, multi-bottlenecks, and economical operation. In 5th International Conference on Collaborative Computing: Networking, Applications and Worksharing, CollaborateCom 2009. IEEE, 1--10.
[37]
Simon Malkowski, Markus Hedwig, Deepal Jayasinghe, Calton Pu, and Dirk Neumann. 2010. CloudXplor: A tool for configuration planning in clouds based on empirical data. In Proceedings of the 2010 ACM Symposium on Applied Computing (SAC’10). ACM, New York, NY, 391--398.
[38]
Simon Malkowski, Markus Hedwig, and Calton Pu. 2009. Experimental evaluation of N-tier systems: Observation and analysis of multi-bottlenecks. In Proceedings of the 2009 IEEE International Symposium on Workload Characterization (IISWC) (IISWC’09). IEEE Computer Society, Washington, DC, 118--127.
[39]
Xiaoqiao Meng, Vasileios Pappas, and Li Zhang. 2010. Improving the scalability of data center networks with traffic-aware virtual machine placement. In Proceedings of the 29th Conference on Information Communications (INFOCOM’10). IEEE Press, Piscataway, NJ, 1154--1162.
[40]
Ningfang Mi, Giuliano Casale, Ludmila Cherkasova, and Evgenia Smirni. 2008. Burstiness in multi-tier applications: Symptoms, causes, and new models. In Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware (Middleware’08). Springer-Verlag New York, Inc., New York, NY, 265--286.
[41]
Jeffrey C. Mogul. 2006. Emergent (mis) behavior vs. complex software systems. ACM SIGOPS Operating Systems Review 40, 4 (2006), 293--304.
[42]
NGINX. 2017. nginx. Retrieved August 8, 2018 from http://nginx.org/.
[43]
Hiep Nguyen, Zhiming Shen, Xiaohui Gu, Sethuraman Subbiah, and John Wilkes. 2013. AGILE: Elastic distributed resource scaling for infrastructure-as-a-service. In Proceedings of the 10th International Conference on Autonomic Computing (ICAC’13). USENIX, San Jose, CA, 69--82.
[44]
ObjectWeb Consortium. 2005. RUBBoS: Bulletin board benchmark. Retrieved June 11, 2018 from http://jmob.ow2.org/rubbos.html.
[45]
ObjectWeb Consortium. 2009. RUBiS: Bidding System. Retrieved June 11, 2018 http://jmob.ow2.org/rubbos.html.
[46]
David Pariag, Tim Brecht, Ashif Harji, Peter Buhr, Amol Shukla, and David R. Cheriton. 2007. Comparing the performance of web server architectures. In Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007 (EuroSys’07). ACM, New York, NY, 231--243.
[47]
Mukund Raghavachari, Darrell Reimer, and Robert D. Johnson. 2003. The deployer's problem: Configuring application servers for performance and reliability. In Proceedings of the 25th International Conference on Software Engineering (ICSE'03). IEEE Computer Society, Washington, 484--489.
[48]
Will Sobel, Shanti Subramanyam, Akara Sucharitakul, Jimmy Nguyen, Hubert Wong, Arthur Klepchukov, Sheetal Patil, Armando Fox, and David Patterson. 2008. Cloudstone: Multi-platform, multi-language benchmark and measurement tools for web 2.0. In Proc. of CCA, Vol. 8. 228--234.
[49]
Monchai Sopitkamol and Daniel A. Menascé. 2005. A method for evaluating the impact of software configuration parameters on e-commerce sites. In Proceedings of the 5th International Workshop on Software and Performance (WOSP’05). ACM, New York, NY, 53--64.
[50]
Chunqiang Tang, Thawan Kooburat, Pradeep Venkatachalam, Akshay Chander, Zhe Wen, Aravind Narayanan, Patrick Dowell, and Robert Karl. 2015. Holistic configuration management at Facebook. In Proceedings of the 25th Symposium on Operating Systems Principles (SOSP’15). ACM, New York, NY, 328--343.
[51]
L. TomÃąs, E. B. Lakew, and E. Elmroth. 2016. Service level and performance aware dynamic resource allocation in overbooked data centers. In 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid). 42--51.
[52]
Bhuvan Urgaonkar, Giovanni Pacifici, Prashant Shenoy, Mike Spreitzer, and Asser Tantawi. 2005. An analytical model for multi-tier internet services and its applications. In Proceedings of the 2005 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’05). ACM, New York, NY, 291--302.
[53]
Nedeljko Vasić, Dejan Novaković, Svetozar Miučin, Dejan Kostić, and Ricardo Bianchini. 2012. DejaVu: Accelerating resource allocation in virtualized environments. SIGARCH Comput. Archit. News 40, 1, 423--436.
[54]
Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer. 2003. Capriccio: Scalable threads for internet services. In Proceedings of the 19th ACM Symposium on Operating Systems Principles (SOSP’03). ACM, New York, NY, 268--281.
[55]
Qingyang Wang, Yasuhiko Kanemasa, Jack Li, Deepal Jayasinghe, Toshihiro Shimizu, Masazumi Matsubara, Motoyuki Kawaba, and Calton Pu. 2013. Detecting transient bottlenecks in n-tier applications through fine-grained analysis. In Proceedings of the 2013 IEEE 33rd International Conference on Distributed Computing Systems (ICDCS’13). IEEE Computer Society, Washington, DC, 31--40.
[56]
Qingyang Wang, Simon Malkowski, Yasuhiko Kanemasa, Deepal Jayasinghe, Pengcheng Xiong, Calton Pu, Motoyuki Kawaba, and Lilian Harada. 2011. The impact of soft resource allocation on n-tier application scalability. In 2011 IEEE International Parallel 8 Distributed Processing Symposium. IEEE, 1034--1045.
[57]
Matt Welsh, David Culler, and Eric Brewer. 2001. SEDA: An architecture for well-conditioned, scalable Internet services. In Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles (SOSP'01). ACM, New York, NY, USA, 230--243.
[58]
Pengcheng Xiong, Zhikui Wang, Simon Malkowski, Qingyang Wang, Deepal Jayasinghe, and Calton Pu. 2011. Economical and robust provisioning of N-tier cloud workloads: A multi-level control approach. In Proceedings of the 2011 31st International Conference on Distributed Computing Systems (ICDCS’11). IEEE Computer Society, Washington, DC, 571--580.
[59]
Wei Zheng, Ricardo Bianchini, and Thu D. Nguyen. 2007. Automatic configuration of Internet services. In Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007 (EuroSys’07). ACM, New York, NY, 219--229.
[60]
Yuqing Zhu, Jianxun Liu, Mengying Guo, Yungang Bao, Wenlong Ma, Zhuoyue Liu, Kunpeng Song, and Yingchun Yang. 2017. Bestconfig: Tapping the performance potential of systems via automatic configuration tuning. In Proceedings of the 2017 Symposium on Cloud Computing. ACM, 338--350.

Cited By

View all
  • (2023)SoraProceedings of the 24th International Middleware Conference10.1145/3590140.3592851(43-56)Online publication date: 27-Nov-2023
  • (2022)Performance Health Index for Complex Cyber InfrastructuresACM Transactions on Modeling and Performance Evaluation of Computing Systems10.1145/35386467:1(1-32)Online publication date: 24-May-2022
  • (2022)ShadowSyncProceedings of the 23rd ACM/IFIP International Middleware Conference10.1145/3528535.3565251(281-294)Online publication date: 7-Nov-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Modeling and Performance Evaluation of Computing Systems
ACM Transactions on Modeling and Performance Evaluation of Computing Systems  Volume 4, Issue 2
June 2019
147 pages
ISSN:2376-3639
EISSN:2376-3647
DOI:10.1145/3328318
  • Editors:
  • Sem Borst,
  • Carey Williamson
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: 13 June 2019
Accepted: 01 April 2019
Revised: 01 February 2019
Received: 01 August 2018
Published in TOMPECS Volume 4, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Soft resource
  2. cloud computing
  3. configuration
  4. parallel processing
  5. scalability
  6. web application

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)162
  • Downloads (Last 6 weeks)21
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)SoraProceedings of the 24th International Middleware Conference10.1145/3590140.3592851(43-56)Online publication date: 27-Nov-2023
  • (2022)Performance Health Index for Complex Cyber InfrastructuresACM Transactions on Modeling and Performance Evaluation of Computing Systems10.1145/35386467:1(1-32)Online publication date: 24-May-2022
  • (2022)ShadowSyncProceedings of the 23rd ACM/IFIP International Middleware Conference10.1145/3528535.3565251(281-294)Online publication date: 7-Nov-2022
  • (2022)Coordinating Fast Concurrency Adapting With Autoscaling for SLO-Oriented Web ApplicationsIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2022.315151233:12(3349-3362)Online publication date: 1-Dec-2022
  • (2022)Reducing the Tail Latency of Microservices Applications via Optimal Configuration Tuning2022 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS)10.1109/ACSOS55765.2022.00029(111-120)Online publication date: Sep-2022
  • (2021)Towards Optimal Configuration of MicroservicesProceedings of the 1st Workshop on Machine Learning and Systems10.1145/3437984.3458828(7-14)Online publication date: 26-Apr-2021
  • (2021)Achievable Stability in Redundancy SystemsProceedings of the ACM on Measurement and Analysis of Computing Systems10.1145/34283314:3(1-21)Online publication date: 15-Jun-2021
  • (2020)Delay Sensitive Large-scale Parked Vehicular Computing via Software Defined Blockchain2020 IEEE Wireless Communications and Networking Conference (WCNC)10.1109/WCNC45663.2020.9120494(1-6)Online publication date: 25-May-2020

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media