Nothing Special   »   [go: up one dir, main page]

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

Towards Optimal Configuration of Microservices

Published: 26 April 2021 Publication 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.
[2]
[n.d.]. DeathStarBench. https://github.com/delimitrou/DeathStarBench.
[3]
[n.d.]. Elastic Search: The heart of the free and open Elastic Stack. https://www.elastic.co/elasticsearch/.
[4]
[n.d.]. Jaeger: open source, end-to-end distributed tracing. https://www.jaegertracing.io/.
[5]
[n.d.]. memcached(1) - Linux man page. https://linux.die.net/man/1/memcached.
[6]
[n.d.]. MongoDB Server Parameters. https://docs.mongodb.com/manual/reference/parameters/.
[7]
[n.d.]. Redis configuration. https://redis.io/topics/config.
[8]
[n.d.]. Set wiredTigerConcurrentReadTransactions based on machine specs? https://jira.mongodb.org/browse/SERVER-19911.
[9]
[n.d.]. SkOpt. https://scikit-optimize.github.io.
[10]
Randy Abernethy. 2018. The Programmer's Guide to Apache Thrift. Manning publications.
[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.
[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/S00516ED2V01Y201306CAC024
[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.pdf
[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.
[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.3421305
[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.3407845
[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_13
[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-zhen
[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/cao
[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.2408794
[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.1294281
[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.x
[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.956265
[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.2839189
[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).
[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).
[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.3053653
[28]
Kasun Indrasiri and Danesh Kuruppu. 2020. gRPC: Up and Running. O'Reilly Media.
[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.2141039
[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.3368352
[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/kanellis
[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.488968
[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/mahgoub
[34]
Seyedali Mirjalili. 2019. Genetic Algorithm. Springer International Publishing, Cham, 43--55. https://doi.org/10.1007/978-3-319-93025-1_4
[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-z
[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_617
[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/qiu
[38]
J. Rapin and O. Teytaud. 2018. Nevergrad - A gradient-free optimization platform. https://GitHub.com/FacebookResearch/Nevergrad.
[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.1526010
[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/sriraman
[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.3313406
[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/2005WR004723
[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.
[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/3326120
[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.3173206
[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.3236222
[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.3128605

Cited By

View all
  • (2024)Optimizing Service Placement and Enhancing Service Allocation for Microservice Architectures in Cloud EnvironmentsInternational Journal of Advanced Research in Science, Communication and Technology10.48175/IJARSCT-18276(493-505)Online publication date: 16-May-2024
  • (2023)CoTuner: A Hierarchical Learning Framework for Coordinately Optimizing Resource Partitioning and Parameter TuningProceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605578(317-326)Online publication date: 7-Aug-2023
  • (2023)Improving Storage Systems Using Machine LearningACM Transactions on Storage10.1145/356842919:1(1-30)Online publication date: 19-Jan-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 April 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. ML for systems
  2. configuration tuning
  3. microservices
  4. optimization
  5. tail latency

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

EuroSys '21
Sponsor:

Acceptance Rates

EuroMLSys '21 Paper Acceptance Rate 18 of 26 submissions, 69%;
Overall Acceptance Rate 18 of 26 submissions, 69%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)247
  • Downloads (Last 6 weeks)21
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Optimizing Service Placement and Enhancing Service Allocation for Microservice Architectures in Cloud EnvironmentsInternational Journal of Advanced Research in Science, Communication and Technology10.48175/IJARSCT-18276(493-505)Online publication date: 16-May-2024
  • (2023)CoTuner: A Hierarchical Learning Framework for Coordinately Optimizing Resource Partitioning and Parameter TuningProceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605578(317-326)Online publication date: 7-Aug-2023
  • (2023)Improving Storage Systems Using Machine LearningACM Transactions on Storage10.1145/356842919:1(1-30)Online publication date: 19-Jan-2023
  • (2023)A study on Microservices and Application Programming Interface vulnerabilities2023 International Conference on Advancement in Data Science, E-learning and Information System (ICADEIS)10.1109/ICADEIS58666.2023.10271023(1-6)Online publication date: 2-Aug-2023
  • (2023)MALT: Fine-Grained Microservice Profiling for Request Latency Anomaly Localization2023 IEEE International Conference on High Performance Computing & Communications, Data Science & Systems, Smart City & Dependability in Sensor, Cloud & Big Data Systems & Application (HPCC/DSS/SmartCity/DependSys)10.1109/HPCC-DSS-SmartCity-DependSys60770.2023.00025(114-121)Online publication date: 17-Dec-2023
  • (2023)Towards Performance Management of Large-Scale Microservices Applications2023 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)10.1109/ACSOS-C58168.2023.00028(24-26)Online publication date: 25-Sep-2023
  • (2022)Phronesis: Efficient Performance Modeling for High-dimensional Configuration TuningACM Transactions on Architecture and Code Optimization10.1145/354686819:4(1-26)Online publication date: 16-Sep-2022
  • (2021)On Microservice Analysis and Architecture Evolution: A Systematic Mapping StudyApplied Sciences10.3390/app1117785611:17(7856)Online publication date: 26-Aug-2021
  • (2021)Optimizing microservices with hyperparameter optimization2021 17th International Conference on Mobility, Sensing and Networking (MSN)10.1109/MSN53354.2021.00105(685-686)Online publication date: Dec-2021

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media