Tailoring Performance Prediction Processes to Situational Requirements

Slides:



Advertisements
Similar presentations
Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
Advertisements

Performance Testing - Kanwalpreet Singh.
Enterprise Web Architecture and Performance Shennon Shen & Scott Carey --- Plumtree Software Inc.
SLA-Oriented Resource Provisioning for Cloud Computing
Proactive Prediction Models for Web Application Resource Provisioning in the Cloud _______________________________ Samuel A. Ajila & Bankole A. Akindele.
Web Server Hardware and Software
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
1 Software Testing and Quality Assurance Lecture 40 – Software Quality Assurance.
©Company confidential 1 Performance Testing for TM & D – An Overview.
© 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automated Workload Management in.
© 2005, it - instituto de telecomunicações. Todos os direitos reservados. System Level Resource Discovery and Management for Multi Core Environment Javad.
Capacity Planning in SharePoint Capacity Planning Process of evaluating a technology … Deciding … Hardware … Variety of Ways Different Services.
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
Dynamic Resource Allocation Using Virtual Machines for Cloud Computing Environment.
Bottlenecks: Automated Design Configuration Evaluation and Tune.
Improving Network I/O Virtualization for Cloud Computing.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
Service Computation 2010November 21-26, Lisbon.
The New Enterprise Manager: End to End Performance Management of Oracle Solutions Julie Wong Principal Product Manager Arsalan Farooq Senior Development.
Dynamic Resource Monitoring and Allocation in a virtualized environment.
QoS Enabled Application Server The Controller Service Bologna, February 19 th 2004.
ArcGIS Server for Administrators
Designing a Scalable Enterprise Project Management Architecture Ken Toole Platform Test Manager MS Project Microsoft Corporation.
Ó 1998 Menascé & Almeida. All Rights Reserved.1 Part V Workload Characterization for the Web (Book, chap. 6)
Ó 1998 Menascé & Almeida. All Rights Reserved.1 Part V Workload Characterization for the Web.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
MSE Portfolio Presentation 1 Doug Smith November 13, 2008
03/03/051 Performance Engineering of Software and Distributed Systems Research Activities at IIT Bombay Varsha Apte March 3 rd, 2005.
Software Architecture in Practice Mandatory project in performance engineering.
1 PerfCenter and AutoPerf: Tools and Techniques for Modeling and Measurement of the Performance of Distributed Applications Varsha Apte Faculty Member,
EuroSys Doctoral Workshop 2011 Resource Provisioning of Web Applications in Heterogeneous Cloud Jiang Dejun Supervisor: Guillaume Pierre
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
Cloud Computing: Pay-per-Use for On-Demand Scalability Developing Cloud Computing Applications with Open Source Technologies Shlomo Swidler.
INTRODUCTION TO GRID & CLOUD COMPUTING U. Jhashuva 1 Asst. Professor Dept. of CSE.
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Spark on Entropy : A Reliable & Efficient Scheduler for Low-latency Parallel Jobs in Heterogeneous Cloud Huankai Chen PhD Student at University of Kent.
Deploy Containerized OPNFV Cluster Efficiently Using Daisy Installer
Blue Mixology.
Introduction to Load Balancing:
André Bauer, Simon Spinner, Nikolas Herbst, Samuel Kounev
Software Architecture in Practice
Prepared by: Assistant prof. Aslamzai
Diskpool and cloud storage benchmarks used in IT-DSS
Cultivating Software Quality In Cloud Via Load Testing Tools
Lead SQL BankofAmerica Blog: SQLHarry.com
CSE 591: Energy-Efficient Computing Lecture 17 SCALING: survey
Online parameter optimization for elastic data stream processing
Logo here Module 3 Microsoft Azure Web App. Logo here Module Overview Introduction to App Service Overview of Web Apps Hosting Web Applications in Azure.
Computing Resource Allocation and Scheduling in A Data Center
Performance Testing Methodology for Cloud Based Applications
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Design and Implement Cloud Data Platform Solutions
02 | Design and implement database
Capacity Analysis, cont. Realistic Server Performance
Microsoft Virtual Academy
Building a Database on S3
Zhen Xiao, Qi Chen, and Haipeng Luo May 2013
Evaluating Transaction System Performance
Learn. Imagine. Build. .NET Conf
Cloud Computing Architecture
The Vision of Self-Aware Performance Models
Use Case #2: Large Events
Developing for Windows Azure
Performance And Scalability In Oracle9i And SQL Server 2000
Modeling of Parametric Dependencies for Performance Prediction of Component-based Software Systems at Run-time Simon Eismann, Jürgen Walter, Joakim Kistowski,
Tailoring Performance Prediction Processes to Situational Requirements
Run-time Prediction of Power Consumption for Component Deployments
OpenStack Summit Berlin – November 14, 2018
Presentation transcript:

TeaStore A Micro-Service Application for Benchmarking, Modeling and Resource Management Research Tailoring Performance Prediction Processes to Situational Requirements Jóakim von Kistowski, Simon Eismann, André Bauer, Norbert Schmitt, Johannes Grohmann, Samuel Kounev November 9, 2018

Example Research Scenario ? ? A, B, C? Service A Service B Service C ? Descriptive or predictive performance models Many solutions for these questions have been proposed, however… Introduction TeaStore Use-Cases Conclusion

New modeling formalisms Model extractors Challenge How to evaluate Placement algorithms Auto-scalers New modeling formalisms Model extractors Require realistic reference and test applications Reference applications help to Evaluate model (extractor) accuracy Measure auto-scaler elasticity Measure placement power consumption and performance Introduction TeaStore Use-Cases Conclusion

Requirements for a Test Application Scalable Allows for changes at run-time Reproducible performance results Diverse performance behavior Dependable and stable Online monitoring Load profiles Simple setup Modern, representative technology stack Introduction TeaStore Use-Cases Conclusion

Existing Test Applications RUBiS [1] eBay-like bidding platform Created 2002 Single service SPECjEnterprise 2010 [2] SPEC Java Enterprise benchmark Three tier architecture No run-time scaling Database is primary bottleneck Sock Shop [3] Microservice network management demo application Created 2016 Low load on non-network resources Dell DVDStore, ACME Air, Spring Cloud Demo, and more in our MASCOTS paper [4] Introduction TeaStore Use-Cases Conclusion

Micro-service test application Five services + registry The TeaStore Micro-service test application Five services + registry Netflix “Ribbon” client-side load balancer Kieker APM [5] Documented deployment options: Manual Docker images Kubernetes WebUI Reg-istry Auth Image Recom-mender Persis-tence Introduction TeaStore Use-Cases Conclusion

Registry RegistryClient WebUI Authentication CPU Services I Simplified Netflix Eureka Service location repository Heartbeat RegistryClient Dependency for every service Netflix “Ribbon” Load balances for each client WebUI Servlets/Bootstrap Integrates other services into UI CPU + Memory + Network I/O Authentication Session + PW validation SHA512 + BCrypt CPU Introduction TeaStore Use-Cases Conclusion

PersistenceProvider ImageProvider Recommender TraceRepository Services II PersistenceProvider Encapsulates DB Caching + cache coherence Memory ImageProvider Loads images from HDD 6 cache implementations Memory + Disk I/O Recommender Recommends pro- ducts based on history 4 different algorithms Memory or CPU TraceRepository AMQP Server Collects traces from all services Database size Introduction TeaStore Use-Cases Conclusion

Load and Usage Profiles (1/2) HTTP load generator [5] Supports varying load intensity profiles Can be created manually Or using LIMBO [6] Scriptable user behavior Uses LUA scripting language “Browse” and “Buy” profiles on GitHub Arrival rate time https://github.com/joakimkistowski/HTTP-Load-Generator Introduction TeaStore Use-Cases Conclusion

Load and Usage Profiles (2/2) JMeter Commonly used load generator Browse profile for JMeter Identical to HTTP Load Generator profile Introduction TeaStore Use-Cases Conclusion

Evaluation Teaser: Does it scale? Scales linearly Stresses 144 cores on 9 physical hosts HTTP Load Generator handles > 6000 requests per second Introduction TeaStore Use-Cases Conclusion

Measuring energy-efficiency of placements Evaluation Three Use-Cases Performance modeling Auto-scaling Measuring energy-efficiency of placements Goal: Demonstrate TeaStore’s use in these contexts Introduction TeaStore Use-Cases Conclusion

Performance Model - Scenario Question: How does utilization change with the default # products per page ? Approach: Create two workloads with different products per page distributions Create and calibrate performance model with default distribution Predict performance for Different products per page distribution Different service placement Introduction TeaStore Use-Cases Conclusion

Performance Model - Models Products per Page Distribution Deployment Calibration To Predict Calibration To Predict Introduction TeaStore Use-Cases Conclusion

Performance Model - Results Results with and without considering the parametric dependency using Service Demand Law-based model Introduction TeaStore Use-Cases Conclusion

Auto-Scaling - Scenario Reactive Auto-Scaling Scenario Challenge: Scale in an elastic manner so that # services matches demand Additional Challenge: Which service to scale? Approach: Create heterogeneous configuration order Put TeaStore under varying load Decide scale-up / scale-down using research auto-scaler REACT [7] Introduction TeaStore Use-Cases Conclusion

Auto-Scaling - Results BibSonomy Trace FIFA Trace Under- and overprovisioning-timeshare <= 15% TeaStore can be used for auto-scaler evaluation Open challenge: Which service to scale next? One hour experiments 30 service instances max Introduction TeaStore Use-Cases Conclusion

Energy Efficiency - Scenario Energy efficiency of placements Goal: Show that power consumption, energy efficiency, and performance scale differently Different optima for service placements Approach: Distribute TeaStore on homogeneous and heterogeneous servers Put TeaStore under load using increasing stress-test load intensity Measure TeaStore performance and server wall power Introduction TeaStore Use-Cases Conclusion

Energy Efficiency - Measurement Measurements in homogeneous and heterogeneous setting SUT 1: 16 core Haswell 32 GB RAM SUT 2 (Heterogeneous): 8 core Skylake 16 GB RAM Metrics: Throughput Power Energy Efficiency Throughput / Power Introduction TeaStore Use-Cases Conclusion

Energy Efficiency – Optima for Heterogeneous Placement Placement Candidate 1 Placement Candidate 2 16 cores 8 cores 16 cores 8 cores WebUI WebUI WebUI WebUI Auth Auth Auth Auth Rec-omm. Rec-omm. Img Img Img Img Per-sist. Per-sist. Per-sist. Per-sist. Max 1011.9 Tr/s 179.6 W Geo 4.4 Tr/J Max 1067.7 Tr/s 187.0 W Geo 4.3 Tr/J Introduction TeaStore Use-Cases Conclusion

TeaStore - Conclusions Teastore can be used for Performance modeling evaluation Auto-Scaler evaluation Placement and energy-efficiency evaluation Micro-service reference application Five Services + Registry Different resource usage characteristics Kieker monitoring Load Generators and Load Profiles Kubernetes support Under Review by SPEC RG https://github.com/DescartesResearch/TeaStore Introduction TeaStore Use-Cases Conclusion

All tools available at: Thank You! From the TeaStore Dev Team https://github.com/DescartesResearch/TeaStore HTTP Load Generator https://github.com/joakimkistowski/HTTP-Load-Generator LIMBO Load Intensity Modeling Tool http://descartes.tools/limbo Kieker Application Monitoring http://kieker-monitoring.net All tools available at: http://descartes.tools/ Kieker not available on descartes.tools Introduction TeaStore Use-Cases Conclusion

References [1] RUBiS User’s Manual, May 2008. [2] Standard Performance Evaluation Corporation (SPEC). SPEC jEnterprise 2010 Design Document. https://www.spec.org/jEnterprise2010/docs/DesignDocumentati on.html, May 2010, Accessed: 16.10.2017. [3] Weaveworks Inc. Sock Shop: A Microservice Demo Application. https://github.com/microservices- demo/microservices-demo, 2017, Accessed: 19.10.2017. [4] A. van Hoorn, J. Waller, and W. Hasselbring. Kieker: A framework for application performance monitoring and dynamic software analysis. In Proceedings of the 3rd joint ACM/SPEC International Conference on Performance Engineering (ICPE 2012), April 2012. [5] J. von Kistowski, M. Deffner, and S. Kounev. Run-time Prediction of Power Consumption for Component Deployments. In Proceedings of the 15th IEEE International Conference on Autonomic Computing (ICAC 2018), Trento, Italy, September 2018. [6] J. von Kistowski, N. Herbst, S. Kounev, H. Groenda, C. Stier, and S. Lehrig. Modeling and Extracting Load Intensity Profiles. ACM Transactions on Autonomous and Adaptive Systems (TAAS), 11(4):23:1 - 23:28, January 2017. [7] T. C. Chieu, A. Mohindra, A. A. Karve, and A. Segal. Dynamic scaling of web applications in a virtualized cloud computing environment. In International Conference on E- Business Engineering, 2009. [8] N. R. Herbst, S. Kounev, and R. Reussner. Elasticity in Cloud Computing: What it is, and What it is Not. In Proceedings of the 10th International Conference on Autonomic Computing (ICAC 2013), San Jose, CA, June 2013.