Mohammed Abouzour, Kenneth Salem, Peter Bumbulis Presentation by Mohammed Abouzour SMDB2010.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Copyright © SoftTree Technologies, Inc. DB Tuning Expert.
Managing Web server performance with AutoTune agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigu Jangwon Han Seongwon Park
Topics to be discussed Introduction Performance Factors Methodology Test Process Tools Conclusion Abu Bakr Siddiq.
1 A Hybrid Adaptive Feedback Based Prefetcher Santhosh Verma, David Koppelman and Lu Peng Louisiana State University.
Erhan Erdinç Pehlivan Computer Architecture Support for Database Applications.
1 Magnetic Disks 1956: IBM (RAMAC) first disk drive 5 Mb – Mb/in $/year 9 Kb/sec 1980: SEAGATE first 5.25’’ disk drive 5 Mb – 1.96 Mb/in2 625.
15 Copyright © 2004, Oracle. All rights reserved. Monitoring and Managing Memory.
Detecting Transient Bottlenecks in n-Tier Applications through Fine- Grained Analysis Qingyang Wang Advisor: Calton Pu.
12 Copyright © 2005, Oracle. All rights reserved. Proactive Maintenance.
Autonomic DBMSs: System Tune Thyself! Pat Martin Database Systems Laboratory School of Computing Supported by IBM, CITO and NSERC.
What will my performance be? Resource Advisor for DB admins Dushyanth Narayanan, Paul Barham Microsoft Research, Cambridge Eno Thereska, Anastassia Ailamaki.
Presented by Marie-Gisele Assigue Hon Shea Thursday, March 31 st 2011.
Meanwhile RAM cost continues to drop Moore’s Law on total CPU processing power holds but in parallel processing… CPU clock rate stalled… Because.
Dynamic Tuning of the IEEE Protocol to Achieve a Theoretical Throughput Limit Frederico Calì, Marco Conti, and Enrico Gregori IEEE/ACM TRANSACTIONS.
Web Server Software Architectures Author: Daniel A. Menascé Presenter: Noshaba Bakht.
Random Early Detection Gateways for Congestion Avoidance
Job scheduling Queue discipline.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
A Self-tuning Page Cleaner for the DB2 Buffer Pool Wenguang Wang Rick Bunt Department of Computer Science University of Saskatchewan.
Using Standard Industry Benchmarks Chapter 7 CSE807.
Presented by Deepak Srinivasan Alaa Aladmeldeen, Milo Martin, Carl Mauer, Kevin Moore, Min Xu, Daniel Sorin, Mark Hill and David Wood Computer Sciences.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
The Impact of Performance Asymmetry in Multicore Architectures Saisanthosh Ravi Michael Konrad Balakrishnan Rajwar Upton Lai UW-Madison and, Intel Corp.
PROOF: the Parallel ROOT Facility Scheduling and Load-balancing ACAT 2007 Jan Iwaszkiewicz ¹ ² Gerardo Ganis ¹ Fons Rademakers ¹ ¹ CERN PH/SFT ² University.
Introduction and simple using of Oracle Logistics Information System Yaxian Yao
Continuous resource monitoring for self-predicting DBMS Dushyanth Narayanan 1 Eno Thereska 2 Anastassia Ailamaki 2 1 Microsoft Research-Cambridge, 2 Carnegie.
Simulation of Memory Management Using Paging Mechanism in Operating Systems Tarek M. Sobh and Yanchun Liu Presented by: Bei Wang University of Bridgeport.
15 Copyright © 2004, Oracle. All rights reserved. Proactive Maintenance.
© 2006 IBM Corporation Adaptive Self-Tuning Memory in DB2 Adam Storm, Christian Garcia-Arellano, Sam Lightstone – IBM Toronto Lab Yixin Diao, M. Surendra.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
CPU Cache Prefetching Timing Evaluations of Hardware Implementation Ravikiran Channagire & Ramandeep Buttar ECE7995 : Presentation.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Task Scheduling for Highly Concurrent Analytical and Transactional Main-Memory Workloads Iraklis Psaroudakis (EPFL), Tobias Scheuer (SAP AG), Norman May.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
Budget-based Control for Interactive Services with Partial Execution 1 Yuxiong He, Zihao Ye, Qiang Fu, Sameh Elnikety Microsoft Research.
1 Wenguang WangRichard B. Bunt Department of Computer Science University of Saskatchewan November 14, 2000 Simulating DB2 Buffer Pool Management.
© Lindsay Bradford1 Scaling Dynamic Web Content Provision Using Elapsed-Time- Based Content Degradation Lindsay Bradford, Stephen Milliner and.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
MClock: Handling Throughput Variability for Hypervisor IO Scheduling in USENIX conference on Operating Systems Design and Implementation (OSDI ) 2010.
QoS Enabled Application Server The Controller Service Bologna, February 19 th 2004.
Data Tagging Architecture for System Monitoring in Dynamic Environments Bharat Krishnamurthy, Anindya Neogi, Bikram Sengupta, Raghavendra Singh (IBM Research.
DONE-08 Sizing and Performance Tuning N-Tier Applications Mike Furgal Performance Manager Progress Software
Simulating a $2M Commercial Server on a $2K PC Alaa R. Alameldeen, Milo M.K. Martin, Carl J. Mauer, Kevin E. Moore, Min Xu, Daniel J. Sorin, Mark D. Hill.
1 Process Scheduling in Multiprocessor and Multithreaded Systems Matt Davis CS5354/7/2003.
A.SATHEESH Department of Software Engineering Periyar Maniammai University Tamil Nadu.
CS Operating System & Database Performance Tuning Xiaofang Zhou School of Computing, NUS Office: S URL:
Investigating the Effects of Using Different Nursery Sizing Policies on Performance Tony Guan, Witty Srisa-an, and Neo Jia Department of Computer Science.
Towards Dynamic Green-Sizing for Database Servers Mustafa Korkmaz, Alexey Karyakin, Martin Karsten, Kenneth Salem University of Waterloo.
A Method for Transparent Admission Control and Request Scheduling in E-Commerce Web Sites S. Elnikety, E. Nahum, J. Tracey and W. Zwaenpoel Presented By.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
Project 2 Presentations CS554 – Designs for Software and Systems Team HAND – Seokin Hong, Gieil Lee, Jesung Kim, Yebin Lee Department of Computer Science,
Online Data partitioning in distributed database systems
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Managing Web Server Performance with AutoTune Agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigus Presented by Changha Lee.
1 An Introduction to Database Tuning Spring 2002 Prof. Sang Ho Lee School of Computing, Soongsil Univ.
Presented by Andrew Walker Migrating from to. What is the difference?  The differences between the two products come into three basic categories:- 
Performance Assurance for Large Scale Big Data Systems
Understanding and Improving Server Performance
Abhinav Kamra, Vishal Misra CS Department Columbia University
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Real-time Software Design
External Sorting The slides for this text are organized into chapters. This lecture covers Chapter 11. Chapter 1: Introduction to Database Systems Chapter.
Multiprocessor and Real-Time Scheduling
CS703 - Advanced Operating Systems
Performance And Scalability In Oracle9i And SQL Server 2000
COMP755 Advanced Operating Systems
Dynamic Performance Tuning of Word-Based Software Transactional Memory
EdgeWise: A Better Stream Processing Engine for the Edge
Presentation transcript:

Mohammed Abouzour, Kenneth Salem, Peter Bumbulis Presentation by Mohammed Abouzour SMDB2010

 Database servers have two main architectures:  Worker-per-connection: (Oracle, Sybase ASE) A worker is dedicated for each connection for the life of the connection  Worker-per-request: (Oracle, Microsoft SQL Server, Sybase ASE, Sybase SQL Anywhere) A worker pool and a request queue: each worker picks and complete one request at a time. No guarantee that the same worker will service the same connection. 2

 Efficient in resource use and handling of large number of connections (1)  How to choose the size of the worker pool?  A large worker pool: Increases the concurrency level of the server Increases contention on server resources Increases working set size of server  A smaller worker pool: Under utilization of hardware resources Limit concurrency level of workload Possibility of a server hang due to no workers available to handle outstanding requests 3

 Dynamically adjust the size of the worker pool (the multiprogramming level of the server)  Benefits of dynamic MPL:  One less parameter for DBAs to worry about  One of the design goals of Sybase SQL Anywhere  Improve server performance for different workloads  Better handling of changes in workload transaction mix  We used throughput as a way to detect degraded server performance 4

 Introduction to Problem  Controller Design and Tuning Algorithms  Experimental Study  Results  Future Work 5

6

7

 Tuning algorithms are based on a paper by Heiss and Wagner (2) :  Incremental Steps algorithm (IS)  Parabola Approximation (PA)  Original algorithms were studied in simulation  Our contribution to the original algorithms (3) :  We have extended the IS algorithm  We have used a commercial database system and an industry standard benchmark (TPC-C)  We have studied the behaviour of the above two algorithms under different workloads 8

NotationDescription titi End of current control interval and start of the next control interval t i+1 P(t i )The actual measured throughput level of the server at time t i. Throughput is the number of request completed during the previous measurement interval n(t i )The workload concurrency level at time t i n * (t i )The number of workers the server has available. 9

 Original IS algorithm did not handle a throughput curve that flattens out  Modified the IS algorithm as follows:  Follow the throughput curve up as long as percentage of change in throughput is greater than C times the percentage of change in number of threads  Follow the throughput curve down as long as throughput increases Built-in bias to keep the number of threads as low as possible 10

 Model the throughput curve as a parabolic function:  Collect two points from the last two measurements and use the origin  Only make adjustments if the computed parabolic curve is concave down, otherwise just make a random adjustment 11

 Used the TPC-C workload for our benchmark  Used two workloads variations:  TPCC1:Standard TPC-C transaction mix  TPCC2:Modified TPC-C transaction mix (lighter on I/O and higher CPU component)  Two different buffer pool configurations:  BIGMEM:1.0GB  SMALLMEM:0.5GB  Three different workload configurations:  TPCC1-BIGMEM  TPCC1-SMALLMEM  TPCC2-BIGMEM 12

 Workload characterization experiments:  Ran each workload under different fixed MPL setting and generated a throughput curve for each workload  Experiments:  Auto-tuning experiments: We ran each of the workloads and allowed the auto tuning algorithms to adjust MPL dynamically  Changing workloads experiments: We start with one workload and half way in the experiment we switch to a different workload 13

TPCC1-BIGMEM TPCC1-SMALLMEM 14

Hill Climbing Global Parabola Approximation 15

Hill Climbing Global Parabola Approximation 16

Hill Climbing Global Parabola Approximation 17

 Not all workloads in database systems have hill- shaped throughput curve  Both algorithms were able to react appropriately to workloads changes  The Hill Climbing algorithm:  Smoother in making adjustments (more desirable)  Takes longer to reach optimal values  Can get stuck in a local minima  The Global Parabola approximation algorithm:  Takes variable step sizes and hence reacts faster to changes  Very sensitive to normal minor workload fluctuations 18

 A hybrid controller:  Uses the Hill Climbing algorithm for a number of steps and collects data  Uses the data collected with the Parabola Approximation algorithm  We reduced the control interval length  Hill Climbing modifications:  Take dynamic step sizes to speed up algorithm  C parameter reduced to make algorithm more aggressive  Parabola Approximation modifications:  Use least-square method to do curve fitting on collected data  Results:  90-95% of optimal tpmC compared to a hand tuned version  In other internal CPU-bound benchmark was able to improve performance by 32% 19

 Dynamically adjusting the MPL:  Improves server performance in some workloads compared to a fixed MPL  Handles changes to workload conditions effectively  Brings us one step closer to a self managing database system  Algorithm parameters can affect the performance of the algorithms:  Control interval length  Hill Climbing: Step sizes C parameter  The algorithms did not behave good for the following workloads:  Bursty workloads: busy periods followed by idle periods followed by busy periods  Long running requests: e.g. creating an index Use response time to help the auto tuning algorithm 20

1. B. Schroeder, M. Harchol-Balter, A. Iyengar, E. Nahum, and A. Wierman, “How to determine a good multi-programming level for external scheduling,” in Proceedings of the 22 nd International Conference on Data Engineering. Washington, DC, USA: IEEE Computer Society, 2006, p H.-U. Heiss and R. Wagner. “Adaptive load control in transaction processing systems,” in VLDB ‘91: Proceedings of the 17 th International Conference on Very Large Data Bases. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc., 1991, pp M. Abouzour, “Automatically tuning database server multiprogramming level,” Master’s thesis, University of Waterloo,

22

 150 Warehouses  10 clients per warehouse  500 connections  C = 0.4, Delta = 10  Gamma=0.333, Delta = 10  Windows bit  Dual 1.80Ghz Intel Xeon  48 Spindles 10K RPM SCSI drives 23