Performance Evaluation of a DBMS Shahram Ghandeharizadeh Computer Science Department University of Southern California.

Slides:



Advertisements
Similar presentations
Cipher Techniques to Protect Anonymized Mobility Traces from Privacy Attacks Chris Y. T. Ma, David K. Y. Yau, Nung Kwan Yip and Nageswara S. V. Rao.
Advertisements

G. Alonso, D. Kossmann Systems Group
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
Copyright © 2005 Department of Computer Science CPSC 641 Winter PERFORMANCE EVALUATION Often in Computer Science you need to: – demonstrate that.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
Realism in Assessment of Effort Estimation Uncertainty: It Matters How You Ask By Magne Jorgensen IEEE Transactions on Software Engineering Vol. 30, No.
ITEC 451 Network Design and Analysis. 2 You will Learn: (1) Specifying performance requirements Evaluating design alternatives Comparing two or more systems.
1 PERFORMANCE EVALUATION H Often one needs to design and conduct an experiment in order to: – demonstrate that a new technique or concept is feasible –demonstrate.
Improving Proxy Cache Performance: Analysis of Three Replacement Policies Dilley, J.; Arlitt, M. A journal paper of IEEE Internet Computing, Volume: 3.
Steps of a sound simulation study
Lecture 3: A Case for RAID (Part 1) Prof. Shahram Ghandeharizadeh Computer Science Department University of Southern California.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Simulation.
Performance Evaluation
Chapter 4 Assessing and Understanding Performance
1 Validation and Verification of Simulation Models.
1 PERFORMANCE EVALUATION H Often in Computer Science you need to: – demonstrate that a new concept, technique, or algorithm is feasible –demonstrate that.
SAIU: An Efficient Cache Replacement Policy for Wireless On-demand Broadcasts Jianliang Xu, Qinglong Hu, Dik Lun Department of Computer Science in HK University.
Lecture 10 Comparison and Evaluation of Alternative System Designs.
Announcements Your homework is due on September 19 th. Your homework is due on September 19 th. I will be away starting Sept 5 th.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Announcements URL for the class is URL for the class is
1 Chapter 4. 2 Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding underlying organizational motivation.
Types of Evaluation.
Analysis of Simulation Results Andy Wang CIS Computer Systems Performance Analysis.
Comparing Systems Using Sample Data Andy Wang CIS Computer Systems Performance Analysis.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
 1  Outline  stages and topics in simulation  generation of random variates.
© 2003, Carla Ellis Experimentation in Computer Systems Research Why: “It doesn’t matter how beautiful your theory is, it doesn’t matter how smart you.
Chapter 8 Introduction to Hypothesis Testing
1 A Bayesian Method for Guessing the Extreme Values in a Data Set Mingxi Wu, Chris Jermaine University of Florida September 2007.
Making decisions about distributions: Introduction to the Null Hypothesis 47:269: Research Methods I Dr. Leonard April 14, 2010.
CPSC 531: Experiment Design1 CPSC 531: Experiment Design and Performance Evaluation Instructor: Anirban Mahanti Office: ICT 745
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
1 Performance Evaluation of Computer Systems and Networks Introduction, Outlines, Class Policy Instructor: A. Ghasemi Many thanks to Dr. Behzad Akbari.
Choosing Sample Size for Knowledge Tracing Models DERRICK COETZEE.
1 Wenguang WangRichard B. Bunt Department of Computer Science University of Saskatchewan November 14, 2000 Simulating DB2 Buffer Pool Management.
Analysis of Simulation Results Chapter 25. Overview  Analysis of Simulation Results  Model Verification Techniques  Model Validation Techniques  Transient.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
Making Decisions uCode: October Review What are the differences between: o BlueJ o Java Computer objects represent some thing or idea in the real.
Performance Analysis of Real Traffic Carried with Encrypted Cover Flows Nabil Schear David M. Nicol University of Illinois at Urbana-Champaign Department.
Lecture 16 Section 8.1 Objectives: Testing Statistical Hypotheses − Stating hypotheses statements − Type I and II errors − Conducting a hypothesis test.
Carnegie Mellon University Computer Science Department 1 OPEN VERSUS CLOSED: A CAUTIONARY TALE Bianca Schroeder Adam Wierman Mor Harchol-Balter Computer.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Chapter 10 Verification and Validation of Simulation Models
Building Simulation Model In this lecture, we are interested in whether a simulation model is accurate representation of the real system. We are interested.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin 8-1 Chapter Eight Audit Sampling: An Overview and Application.
Improving Loss Resilience with Multi- Radio Diversity in Wireless Networks by Allen Miu, Hari Balakrishnan and C.E. Koksal Appeared in ACM MOBICOM 2005,
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
Introduction Many organizations use decision rules to alleviate incentive problems as opposed to incentive contracts The principal typically retains some.
1 1 Slide Simulation Professor Ahmadi. 2 2 Slide Simulation Chapter Outline n Computer Simulation n Simulation Modeling n Random Variables and Pseudo-Random.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Simulation in Healthcare Ozcan: Chapter 15 ISE 491 Fall 2009 Dr. Burtner.
Comparing Systems Using Sample Data Andy Wang CIS Computer Systems Performance Analysis.
Csci 418/618 Simulation Models Dr. Ken Nygard, IACC 262B
 Simulation enables the study of complex system.  Simulation is a good approach when analytic study of a system is not possible or very complex.  Informational,
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
ECE 259 / CPS 221 Advanced Computer Architecture II (Parallel Computer Architecture) Evaluation – Metrics, Simulation, and Workloads Copyright 2004 Daniel.
Simulation. Types of simulation Discrete-event simulation – Used for modeling of a system as it evolves over time by a representation in which the state.
Building Valid, Credible & Appropriately Detailed Simulation Models
Chapter 9 Introduction to the t Statistic
Comparing Systems Using Sample Data
OPERATING SYSTEMS CS 3502 Fall 2017
OPERATING SYSTEMS CS 3502 Fall 2017
Chapter 10 Verification and Validation of Simulation Models
OMGT LECTURE 10: Elements of Hypothesis Testing
Computer Systems Performance Evaluation
MECH 3550 : Simulation & Visualization
Presentation transcript:

Performance Evaluation of a DBMS Shahram Ghandeharizadeh Computer Science Department University of Southern California

Challenge n Imagine you develop the next super-duper buffer replacement technique, named SUPER. n How will you compare its performance with another technique, say LRU-K? – Using a scientific approach.

Scientific Evaluation n A controlled environment where only one variable is changing: – E.g., either SUPER or LRU-K is used. n The environment measures a metric of interest to compare the two techniques.

Step 1 n Decide what metric you want to emphasize when comparing SUPER with LRU-K. – Conceptual: Response time n Average person walking on Exposition will understand you as “saving time”. There is general consensus that time is money. – Physical: Cache hit ratio, Byte hit ratio n Average person will not understand you unless they have some understanding of a computer system and its hierarchical memory. n You need an apple-to-apple comparison

Step 2: Fix Environmental Variables n Identify a database and a workload to compare SUPER with LRU-K. n If a target application exists then: – Take a snap-shot of its database, – Write a sniffer to record the requests accessing your data. – Perform a trace-driven evaluation by playing back the recorded requests against LRU-K and SUPER managing your identified database. n Most often the target application does not exist.

Step 2 (Cont…) n If a target application does not exist then design a synthetic workload consisting of: – A database with a pre-specified number of records, n Fix-sized records numbered 1 to N. n Manipulate value of N to build small and large DBs. – And a workload generator that accesses these records. Must answer two key questions: n What data is accessed? n When is the data accessed?

What data to access? n Most often, certain data items are more popular than others. – rule: 90% of accesses reference 10% of data items. – rule: 80% of accesses reference 20% of data items. – Etc. n How? – Use a Zipfian distribution of access and manipulate the mean of the distribution.

Zipf Distribution

Motivation for Zipf n Zipf distributions have been shown to characterize use of words in a natural language (like English) and the popularity of library books, so typically – a language has a few words ("the", "and", etc.) that are used extremely often, and a library has a few books that everybody wants to borrow (current bestsellers) – a language has quite a lot of words ("dog", "house", etc.) that are used relatively much, and a library has a good number of books that many people want to borrow (crime novels and such) – a language has an abundance of words ("Zipf", "double-logarithmic", etc.) that are almost never used, and a library has piles and piles of books that are only checked our every few years (reference manuals for Apple II word processors, etc.)

Implementation of Zipf n Assuming C records are rank ordered based on their popularity: 1, 2, …, C. n With a Zipf-like distribution, the probablity of access to record j is a function of 1/power(j, u); see example in the next slide. n Value of u dictates the mean of the distribution. It is greater than or equal to zero and less than or equal to one. n X is 1 divided by the sum of power(j,u) for all clips. n Code is available from under software download.

Example of Zipf n Assume mean of distribution is 0.27 and the database consists of 3 records: 1, 2, and 3 – Record 1, power(1,0.27) = 1, 1/power(1,0.27) =1 – Record 2, power(2,0.27) = 1.21, 1/power(2,0.27)=0.83 – Record 3, power(3,0.27) = 1.35, 1/power(3,0.27)=0.74 n X = ( ) = 2.57 – Record 1, probability of access 1/2.57 = 0.39 – Record 2, probability of access 0.83/2.57 = 0.32 – Record 3, probability of access 0.74/2.57 = 0.29

When to Issue Requests? n It depends on the assumed simulation model: – Closed simulation models: n Consists of a fixed number of clients. n A client issues a request and does not issue another until its pending request is serviced. n The client may wait a pre-specified amount of time before issuing a new request. This delay is termed “think time”. – Open simulation models: n A process issues an average number of requests per unit of time. This is termed request arrival rate. It is denoted as lambda: λ

Closed Simulation Models Throughput SUPER LRU-K Multiprogramming level A technique (LRU-K) is better if it provides a higher throughput relative to the other technique as a function of the number of clients.

Open Simulation Models Average Response Time Arrival rate, λ SUPER LRU-K A technique (SUPER) is better if it supports a higher arrival rate without formation of queues. A slower technique results in queues with lower arrival rates.

Validate Your Simulation Model n How do you know your simulator has no bugs?

Validate Your Simulation Model n How do you know your simulator has no bugs? – Analytical models compute the response time of a system based on certain assumptions, e.g., a Poisson arrival rate. – Analytical assumptions are most often trivial: typically, they simplify the range of values allowed by a component of the simulation model. – Implement the assumptions and verify each component produces response times that match the analytical models. A divide-and-conquer approach.

Divide & Conquer n Validate components one at a time. – Example: how do you validate your implementation of a Zipfian reference pattern?

Divide & Conquer n Validate components one at a time. – Example: how to validate your implementation of a Zipfian reference pattern? 1. Assume a databases of few objects, say Use the analytical models to estimate the frequency of access to each object. 3. Run the Zipfian component of your simulator for a fixed number of requests (say 100,000) and measure the frequency of access to each object. 4. Items 2 and 3 should match very closely.

10 Commandments of Simulation Studies Shahram Ghandeharizadeh Computer Science Department University of Southern California

Outline n Why simulation studies? n 10 Commandments of simulation studies. n Review of each commandment. n Conclusions n References

Why simulation models? n To understand tradeoffs between alternative ways of implementing a functionality when: – A realistic implementation is too expensive/time-consuming. n Quantify the complexity of alternative implementations prior to a real system prototyping effort. Make sure it is not over-engineered: Many fold increase in software to get a 2% benefit? n Quantify tradeoffs with alternative strategies and choose the most appropriate one. n Gain insight to implement better strategies.

Why simulation models? n There are other reasons for developing a simulation model that falls beyond the scope of CSCI485: – To describe and understand systems too complex to explain, e.g., the human brain. – To identify factors/conditions with most impact on a performance metric, e.g., airplane crash in Singapore during a hurricane. Typically conducted using traces gathered from a real environment. – Capacity planning and risk analysis, e.g., design of power grids in anticipation of 20% increase in peak load in 2010, war-games.

Inherent limitation n A simulation is abstraction of a real system that may either exist or foreseen to exist in the future. n How do you know the abstraction level is correct?

Inherent limitation n A simulation is abstraction of a real system that may either exist or foreseen to exist in the future. n How do you know the abstraction level is correct? 1. We cannot know what we do not know. 2. We can never be sure that we have accounted for all aspects that could affect a simulation model’s ability to provide meaningful results. 3. Items 1 and 2 are specially true for future foreseen applications that do not exist today.

Alternatives to a simulation Real Prototypes/Implementation Simulation Study Analytical Models

Alternatives to a simulation Real Prototypes/Implementation Simulation Study Analytical Models n An implementation is specific and most often static. A simulation study can model a variety of possible system parameters, e.g., memory sizes in support of different buffer pool frames. More Abstract More Specific

Alternatives to a simulation Real Prototypes/Implementation Simulation Study Analytical Models n A real prototype is more expensive to design, implement, test, and maintain. Cheaper Expensive

Alternatives to a simulation Real Prototypes/Implementation Simulation Study Analytical Models n Analytical models are more general, providing insights that might be overlooked by a narrow implementation. General Narrow

Components of a Simulator 1. Abstraction of a computing environment. A buffer pool with a fixed number of frames. 2. Implementation of alternative strategies. LFU, LRU, LRU-K 3. Abstractions of an application. – How requests are issued? Uniformly or in a bursty manner? – What processing is required from the system? – Key metric?

10 Commandments 1. Thou shall NOT obtain results from a computing environment unless its behavior is validated. 2. Thou shall NOT obtain results from an incorrect implementation of your strategies. 3. Thou shall NOT use unrealistic computing environments. 4. Thou shall NOT use unrealistic workloads or applications. 5. Thou shall NOT use someone else’s computing environment as the basis for your implementation unless you understand its abstractions and behavior for different parameter settings. 6. Thou shall NOT focus on absolute values. (Focus on the observed trends.)

10 Commandments (Cont…) 7. Thou shall NOT make a big deal out of less than 15% difference. Did the LRU-K paper show cache hit ratios higher than 15%? If not, how did it address this commandment? 8. Thou shall NOT report on a simulation with a few runs; establish statistical confidence. 9. Thou shall NOT publish results obtained from a simulator without disclosing all your assumptions. (Results must be reproducible by an independent scientist.) 10. Thou shall NOT perceive simulation as an end in itself. Validate your results against a real implementation. Techniques that appear feasible in a simulation study might be infeasible to implement.