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.
- [n.d.]. Beginner's Guide. http://nginx.org/en/docs/beginners_guide.html.Google Scholar
- [n.d.]. DeathStarBench. https://github.com/delimitrou/DeathStarBench.Google Scholar
- [n.d.]. Elastic Search: The heart of the free and open Elastic Stack. https://www.elastic.co/elasticsearch/.Google Scholar
- [n.d.]. Jaeger: open source, end-to-end distributed tracing. https://www.jaegertracing.io/.Google Scholar
- [n.d.]. memcached(1) - Linux man page. https://linux.die.net/man/1/memcached.Google Scholar
- [n.d.]. MongoDB Server Parameters. https://docs.mongodb.com/manual/reference/parameters/.Google Scholar
- [n.d.]. Redis configuration. https://redis.io/topics/config.Google Scholar
- [n.d.]. Set wiredTigerConcurrentReadTransactions based on machine specs? https://jira.mongodb.org/browse/SERVER-19911.Google Scholar
- [n.d.]. SkOpt. https://scikit-optimize.github.io.Google Scholar
- Randy Abernethy. 2018. The Programmer's Guide to Apache Thrift. Manning publications.Google Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Kasun Indrasiri and Danesh Kuruppu. 2020. gRPC: Up and Running. O'Reilly Media.Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Seyedali Mirjalili. 2019. Genetic Algorithm. Springer International Publishing, Cham, 43--55. https://doi.org/10.1007/978-3-319-93025-1_4Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- J. Rapin and O. Teytaud. 2018. Nevergrad - A gradient-free optimization platform. https://GitHub.com/FacebookResearch/Nevergrad.Google Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Recommendations
Experience Transfer for the Configuration Tuning in Large-Scale Computing Systems
This paper proposes a new strategy, the experience transfer, to facilitate the management of large-scale computing systems. It deals with the utilization of management experiences in one system (or previous systems) to benefit the same management task ...
Towards automated HPC scheduler configuration tuning
High performance computing (HPC) systems allow researchers and businesses to harness large amounts of computing power needed for solving complex problems. In such systems a job scheduler prioritizes the execution of jobs belonging to users of the system ...
Microservices Security: Bad vs. Good Practices
Software Architecture. ECSA 2022 Tracks and WorkshopsAbstractThe microservice architectural style is widespread in enterprise IT, making the securing of microservices a crucial issue. Many bad practices in securing microservices have been identified by researchers and practitioners, along with security good ...
Comments