skip to main content
10.1145/3437984.3458828acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
research-article
Public Access

Towards Optimal Configuration of Microservices

Authors Info & Claims
Published:26 April 2021Publication History

ABSTRACT

The microservice architecture allows applications to be designed in a modular format, whereby each microservice can implement a single functionality and can be independently managed and deployed. However, an undesirable side-effect of this modular design is the large state space of possibly inter-dependent configuration parameters (of the constituent microservices) which have to be tuned to improve application performance. This workshop paper investigates optimization techniques and dimensionality reduction strategies for tuning microservices applications, empirically demonstrating the significant tail latency improvements (as much as 23%) that can be achieved with configuration tuning.

References

  1. [n.d.]. Beginner's Guide. http://nginx.org/en/docs/beginners_guide.html.Google ScholarGoogle Scholar
  2. [n.d.]. DeathStarBench. https://github.com/delimitrou/DeathStarBench.Google ScholarGoogle Scholar
  3. [n.d.]. Elastic Search: The heart of the free and open Elastic Stack. https://www.elastic.co/elasticsearch/.Google ScholarGoogle Scholar
  4. [n.d.]. Jaeger: open source, end-to-end distributed tracing. https://www.jaegertracing.io/.Google ScholarGoogle Scholar
  5. [n.d.]. memcached(1) - Linux man page. https://linux.die.net/man/1/memcached.Google ScholarGoogle Scholar
  6. [n.d.]. MongoDB Server Parameters. https://docs.mongodb.com/manual/reference/parameters/.Google ScholarGoogle Scholar
  7. [n.d.]. Redis configuration. https://redis.io/topics/config.Google ScholarGoogle Scholar
  8. [n.d.]. Set wiredTigerConcurrentReadTransactions based on machine specs? https://jira.mongodb.org/browse/SERVER-19911.Google ScholarGoogle Scholar
  9. [n.d.]. SkOpt. https://scikit-optimize.github.io.Google ScholarGoogle Scholar
  10. Randy Abernethy. 2018. The Programmer's Guide to Apache Thrift. Manning publications.Google ScholarGoogle Scholar
  11. Omid Alipourfard, Hongqiang Harry Liu, Jianshu Chen, Shivaram Venkataraman, Minlan Yu, and Ming Zhang. 2017. Cherrypick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics. In Proceedings of the 14th USENIX Conference on Networked Systems Design and Implementation (Boston, MA, USA) (NSDI'17). USENIX Association, USA, 469--482.Google ScholarGoogle Scholar
  12. Luiz André Barroso, Jimmy Clidaras, and Urs Hölzle. 2013. The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, Second Edition. http://dx.doi.org/10.2200/S00516ED2V01Y201306CAC024Google ScholarGoogle ScholarCross RefCross Ref
  13. James Bergstra, Rémi Bardenet, Yoshua Bengio, and Balázs Kégl. 2011. Algorithms for Hyper-Parameter Optimization. In Advances in Neural Information Processing Systems, J. Shawe-Taylor, R. Zemel, P. Bartlett, F. Pereira, and K. Q. Weinberger (Eds.), Vol. 24. Curran Associates, Inc. https://proceedings.neurips.cc/paper/2011/file/86e8f7ab32cfd12577bc2619bc635690-Paper.pdfGoogle ScholarGoogle Scholar
  14. J. Bergstra, D. Yamins, and D. D. Cox. 2013. Making a Science of Model Search: Hyperparameter Optimization in Hundreds of Dimensions for Vision Architectures. In Proceedings of the 30th International Conference on International Conference on Machine Learning - Volume 28 (Atlanta, GA, USA) (ICML'13). JMLR.org, I-115-I-123.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Muhammad Bilal, Marco Canini, and Rodrigo Rodrigues. 2020. Finding the Right Cloud Configuration for Analytics Clusters. In Proceedings of the 11th ACM Symposium on Cloud Computing (Virtual Event, USA) (SoCC '20). Association for Computing Machinery, New York, NY, USA, 208--222. https://doi.org/10.1145/3419111.3421305Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Muhammad Bilal, Marco Serafini, Marco Canini, and Rodrigo Rodrigues. 2020. Do the Best Cloud Configurations Grow on Trees? An Experimental Evaluation of Black Box Algorithms for Optimizing Cloud Workloads. Proc. VLDB Endow. 13, 12 (July 2020), 2563--2575. https://doi.org/10.14778/3407790.3407845Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Charles E. Brown. 1998. Coefficient of Variation. Springer Berlin Heidelberg, Berlin, Heidelberg, 155--157. https://doi.org/10.1007/978-3-642-80328-4_13Google ScholarGoogle Scholar
  18. Zhen Cao, Geoff Kuenning, and Erez Zadok. 2020. Carver: Finding Important Parameters for Storage System Tuning. In 18th USENIX Conference on File and Storage Technologies (FAST 20). USENIX Association, Santa Clara, CA, 43--57. https://www.usenix.org/conference/fast20/presentation/cao-zhenGoogle ScholarGoogle Scholar
  19. Zhen Cao, Vasily Tarasov, Sachin Tiwari, and Erez Zadok. 2018. Towards Better Understanding of Black-box Auto-Tuning: A Comparative Analysis for Storage Systems. In 2018 USENIX Annual Technical Conference (USENIX ATC 18). USENIX Association, Boston, MA, 893--907. https://www.usenix.org/conference/atc18/presentation/caoGoogle ScholarGoogle Scholar
  20. Jeffrey Dean and Luiz André Barroso. 2013. The Tail at Scale. Commun. ACM 56, 2 (Feb. 2013), 74--80. https://doi.org/10.1145/2408776.2408794Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. Dynamo: Amazon's Highly Available Key-Value Store. In Proceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles (Stevenson, Washington, USA) (SOSP '07). Association for Computing Machinery, New York, NY, USA, 205--220. https://doi.org/10.1145/1294261.1294281Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Elith, J. R. Leathwick, and T. Hastie. 2008. A working guide to boosted regression trees. Journal of Animal Ecology 77, 4 (2008), 802--813. https://doi.org/10.1111/j.1365-2656.2008.01390.x arXiv:https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/j.1365-2656.2008.01390.xGoogle ScholarGoogle ScholarCross RefCross Ref
  23. Khaled Fawagreh, Mohamed Medhat Gaber, and Eyad Elyan. 2014. Random forests: from early developments to recent advancements. Systems Science & Control Engineering 2, 1 (2014), 602--609. https://doi.org/10.1080/21642583.2014.956265 arXiv:https://doi.org/10.1080/21642583.2014.956265Google ScholarGoogle ScholarCross RefCross Ref
  24. Y. Gan and C. Delimitrou. 2018. The Architectural Implications of Cloud Microservices. IEEE Computer Architecture Letters 17, 2 (2018), 155--158. https://doi.org/10.1109/LCA.2018.2839189Google ScholarGoogle ScholarCross RefCross Ref
  25. Yu Gan, Yanqi Zhang, Dailun Cheng, Ankitha Shetty, Priyal Rathi, Nayantara Katarki, Ariana Bruno, Justin Hu, Brian Ritchken, Brendon Jackson, Kelvin Hu, Meghna Pancholi, Brett Clancy, Chris Colen, Fukang Wen, Catherine Leung, Siyuan Wang, Leon Zaruvinsky, Mateo Espinosa, Yuan He, and Christina Delimitrou. 2019. An Open-Source Benchmark Suite for Microservices and Their Hardware-Software Implications for Cloud and Edge Systems. In Proceedings of the Twenty Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) (Providence, RI).Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Yu Gan, Yanqi Zhang, Kelvin Hu, Yuan He, Meghna Pancholi, Dailun Cheng, and Christina Delimitrou. 2019. Seer: Leveraging Big Data to Navigate the Complexity of Performance Debugging in Cloud Microservices. In Proceedings of the Twenty Fourth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) (Providence, RI).Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Robert Heinrich, André van Hoorn, Holger Knoche, Fei Li, Lucy Ellen Lwakatare, Claus Pahl, Stefan Schulte, and Johannes Wettinger. 2017. Performance Engineering for Microservices: Research Challenges and Directions. In Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion (L'Aquila, Italy) (ICPE '17 Companion). Association for Computing Machinery, New York, NY, USA, 223--226. https://doi.org/10.1145/3053600.3053653Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Kasun Indrasiri and Danesh Kuruppu. 2020. gRPC: Up and Running. O'Reilly Media.Google ScholarGoogle Scholar
  29. P. Jamshidi, C. Pahl, N. C. Mendonça, J. Lewis, and S. Tilkov. 2018. Microservices: The Journey So Far and Challenges Ahead. IEEE Software 35, 3 (2018), 24--35. https://doi.org/10.1109/MS.2018.2141039Google ScholarGoogle ScholarCross RefCross Ref
  30. Matthijs Kaminski, Eddy Truyen, Emad Heydari Beni, Bert Lagaisse, and Wouter Joosen. 2019. A Framework for Black-Box SLO Tuning of Multi-Tenant Applications in Kubernetes. In Proceedings of the 5th International Workshop on Container Technologies and Container Clouds (Davis, CA, USA) (WOC '19). Association for Computing Machinery, New York, NY, USA, 7--12. https://doi.org/10.1145/3366615.3368352Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Konstantinos Kanellis, Ramnatthan Alagappan, and Shivaram Venkataraman. 2020. Too Many Knobs to Tune? Towards Faster Database Tuning by Pre-selecting Important Knobs. In 12th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 20). USENIX Association. https://www.usenix.org/conference/hotstorage20/presentation/kanellisGoogle ScholarGoogle Scholar
  32. J. Kennedy and R. Eberhart. 1995. Particle swarm optimization. In Proceedings of ICNN'95 - International Conference on Neural Networks, Vol. 4. 1942--1948 vol.4. https://doi.org/10.1109/ICNN.1995.488968Google ScholarGoogle Scholar
  33. Ashraf Mahgoub, Alexander Michaelson Medoff, Rakesh Kumar, Subrata Mitra, Ana Klimovic, Somali Chaterji, and Saurabh Bagchi. 2020. OPTIMUSCLOUD: Heterogeneous Configuration Optimization for Distributed Databases in the Cloud. In 2020 USENIX Annual Technical Conference (USENIX ATC 20). USENIX Association, 189--203. https://www.usenix.org/conference/atc20/presentation/mahgoubGoogle ScholarGoogle Scholar
  34. Seyedali Mirjalili. 2019. Genetic Algorithm. Springer International Publishing, Cham, 43--55. https://doi.org/10.1007/978-3-319-93025-1_4Google ScholarGoogle Scholar
  35. R. Moriconi, M.P. Deisenroth, and K.S. Sesh Kumar. 2020. High-dimensional Bayesian optimization using low-dimensional feature spaces. Mach Learn 109, 1925--1943 (2020). https://doi.org/10.1007/s10994-020-05899-zGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  36. Panos M. Pardalos and Thelma D. Mavridou. 2009. Simulated annealingSimulated Annealing. Springer US, Boston, MA, 3591--3593. https://doi.org/10.1007/978-0-387-74759-0_617Google ScholarGoogle Scholar
  37. Haoran Qiu, Subho S. Banerjee, Saurabh Jha, Zbigniew T. Kalbarczyk, and Ravishankar K. Iyer. 2020. FIRM: An Intelligent Finegrained Resource Management Framework for SLO-Oriented Microservices. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). USENIX Association, 805--825. https://www.usenix.org/conference/osdi20/presentation/qiuGoogle ScholarGoogle Scholar
  38. J. Rapin and O. Teytaud. 2018. Nevergrad - A gradient-free optimization platform. https://GitHub.com/FacebookResearch/Nevergrad.Google ScholarGoogle Scholar
  39. D. Skinner and W. Kramer. 2005. Understanding the causes of performance variability in HPC workloads. In IEEE International. 2005 Proceedings of the IEEE Workload Characterization Symposium, 2005. 137--149. https://doi.org/10.1109/IISWC.2005.1526010Google ScholarGoogle ScholarCross RefCross Ref
  40. Akshitha Sriraman and Thomas F. Wenisch. 2018. μTune: Auto-Tuned Threading for OLDI Microservices. In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18). USENIX Association, Carlsbad, CA, 177--194. https://www.usenix.org/conference/osdi18/presentation/sriramanGoogle ScholarGoogle Scholar
  41. Amoghavarsha Suresh and Anshul Gandhi. 2019. Using Variability as a Guiding Principle to Reduce Latency in Web Applications via OS Profiling. In The World Wide Web Conference (San Francisco, CA, USA) (WWW '19). Association for Computing Machinery, New York, NY, USA, 1759--1770. https://doi.org/10.1145/3308558.3313406Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Bryan A. Tolson and Christine A. Shoemaker. 2007. Dynamically dimensioned search algorithm for computationally efficient watershed model calibration. Water Resources Research 43, 1 (2007). https://doi.org/10.1029/2005WR004723 arXiv:https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2005WR004723Google ScholarGoogle Scholar
  43. Muhammad Wajahat, Salman Masood, Abhinav Sau, and Anshul Gandhi. 2017. Lessons Learnt from Software Tuning of a Memcached-Backed, Multi-Tier, Web Cloud Application. In Proceedings of the 8th International Green and Sustainable Computing Conference (IGSC '17). Orlando, FL, USA.Google ScholarGoogle ScholarCross RefCross Ref
  44. Qingyang Wang, Shungeng Zhang, Yasuhiko Kanemasa, Calton Pu, Balaji Palanisamy, Lilian Harada, and Motoyuki Kawaba. 2019. Optimizing N-Tier Application Scalability in the Cloud: A Study of Soft Resource Allocation. ACM Trans. Model. Perform. Eval. Comput. Syst. 4, 2, Article 10 (June 2019), 27 pages. https://doi.org/10.1145/3326120Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Shu Wang, Chi Li, Henry Hoffmann, Shan Lu, William Sentosa, and Achmad Imam Kistijantoro. 2018. Understanding and Auto-Adjusting Performance-Sensitive Configurations. SIGPLAN Not. 53, 2 (March 2018), 154--168. https://doi.org/10.1145/3296957.3173206Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Bohan Zhang, Dana Van Aken, Justin Wang, Tao Dai, Shuli Jiang, Jacky Lao, Siyuan Sheng, Andrew Pavlo, and Geoffrey J. Gordon. 2018. A Demonstration of the Ottertune Automatic Database Management System Tuning Service. Proc. VLDB Endow. 11, 12 (Aug. 2018), 1910-1913. https://doi.org/10.14778/3229863.3236222Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Yuqing Zhu, Jianxun Liu, Mengying Guo, Yungang Bao, Wenlong Ma, Zhuoyue Liu, Kunpeng Song, and Yingchun Yang. 2017. Best-Config: Tapping the Performance Potential of Systems via Automatic Configuration Tuning. In Proceedings of the 2017 Symposium on Cloud Computing (Santa Clara, California) (SoCC '17). Association for Computing Machinery, New York, NY, USA, 338--350. https://doi.org/10.1145/3127479.3128605Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    EuroMLSys '21: Proceedings of the 1st Workshop on Machine Learning and Systems
    April 2021
    130 pages
    ISBN:9781450382984
    DOI:10.1145/3437984

    Copyright © 2021 ACM

    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: 26 April 2021

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    EuroMLSys '21 Paper Acceptance Rate18of26submissions,69%Overall Acceptance Rate18of26submissions,69%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader