TPCC-UVa. An Open-Source TPC-C Implementation for Parallel and Distributed Systems. Computer Science Department University of Valladolid, Spain



Similar documents
TPCC-UVa: An Open-Source TPC-C Implementation for Parallel and Distributed Systems

Introduction to Decision Support, Data Warehousing, Business Intelligence, and Analytical Load Testing for all Databases

Postgres Plus Advanced Server

Introduction to Decision Support, Data Warehousing, Business Intelligence, and Analytical Load Testing for all Databases

Virtuoso and Database Scalability

Performance Analysis of Mixed Distributed Filesystem Workloads

Comprehending the Tradeoffs between Deploying Oracle Database on RAID 5 and RAID 10 Storage Configurations. Database Solutions Engineering

Development of Monitoring and Analysis Tools for the Huawei Cloud Storage

Rethinking Main Memory OLTP Recovery

Towards Energy Efficient Query Processing in Database Management System

System Requirements Table of contents

TPC-W * : Benchmarking An Ecommerce Solution By Wayne D. Smith, Intel Corporation Revision 1.2

Performance And Scalability In Oracle9i And SQL Server 2000

Run your own Oracle Database Benchmarks with Hammerora

Redis OLTP (Transactional) Load Testing

Introducing EEMBC Cloud and Big Data Server Benchmarks

Relational Database Systems 2 1. System Architecture

Red Hat Enterprise Linux: The Clear Leader for Enterprise Web Applications

Performance and scalability of a large OLTP workload

Optimizing Shared Resource Contention in HPC Clusters

Tableau Server 7.0 scalability

Optimizing SQL Server Storage Performance with the PowerEdge R720

High Performance Oracle RAC Clusters A study of SSD SAN storage A Datapipe White Paper

Mixing Hadoop and HPC Workloads on Parallel Filesystems

Software-defined Storage at the Speed of Flash

VERITAS Database Edition for Oracle on HP-UX 11i. Performance Report

S 2 -RAID: A New RAID Architecture for Fast Data Recovery

REFERENCE ARCHITECTURE. PernixData FVP Software and Microsoft SQL Server

Energy-aware Memory Management through Database Buffer Control

High Performance Computing and Big Data: The coming wave.

Microsoft SQL Server OLTP Best Practice

DELL. Virtual Desktop Infrastructure Study END-TO-END COMPUTING. Dell Enterprise Solutions Engineering

The Methodology Behind the Dell SQL Server Advisor Tool

DELL TM PowerEdge TM T Mailbox Resiliency Exchange 2010 Storage Solution

HP SiteScope. HP Vertica Solution Template Best Practices. For the Windows, Solaris, and Linux operating systems. Software Version: 11.

Business opportunities from IOT and Big Data. Joachim Aertebjerg Director Enterprise Solution Sales Intel EMEA

Express5800 Scalable Enterprise Server Reference Architecture. For NEC PCIe SSD Appliance for Microsoft SQL Server

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

Types of Workloads. Raj Jain. Washington University in St. Louis

DSS. Diskpool and cloud storage benchmarks used in IT-DSS. Data & Storage Services. Geoffray ADDE

Performance Analysis of Web based Applications on Single and Multi Core Servers

Table of Contents INTRODUCTION Prerequisites... 3 Audience... 3 Report Metrics... 3

Virtualization Performance Insights from TPC-VMS

Dell Reference Configuration for Hortonworks Data Platform

SLURM Workload Manager

11.1 inspectit inspectit

Energy aware RAID Configuration for Large Storage Systems

SQL Server Instance-Level Benchmarks with HammerDB

Chapter 18: Database System Architectures. Centralized Systems

Microsoft SQL Server OLTP (Transactional) Load Testing

Master s Thesis Nr. 14

Atlantis USX Hyper- Converged Solution for Microsoft SQL 2014

Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers

Amazon Aurora. r3.8xlarge

Solution: B. Telecom

The Art of Workload Selection

VALAR: A BENCHMARK SUITE TO STUDY THE DYNAMIC BEHAVIOR OF HETEROGENEOUS SYSTEMS

Guideline for stresstest Page 1 of 6. Stress test

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Web Application s Performance Testing

Rackspace Cloud Databases and Container-based Virtualization

SQL Server Instance-Level Benchmarks with DVDStore

Nirmesh Malviya. at the. June Author... Department of Electrical Engineering and Computer Science May 18,

VERITAS Software - Storage Foundation for Windows Dynamic Multi-Pathing Performance Testing

Accelerating Business Intelligence with Large-Scale System Memory

Users are Complaining that the System is Slow What Should I Do Now? Part 1

Database Architecture: Federated vs. Clustered. An Oracle White Paper February 2002

Evaluation Report: Accelerating SQL Server Database Performance with the Lenovo Storage S3200 SAN Array

Evaluation Report: Database Acceleration with HP 3PAR StoreServ 7450 All-flash Storage

TRACE PERFORMANCE TESTING APPROACH. Overview. Approach. Flow. Attributes

How To Test For Performance And Scalability On A Server With A Multi-Core Computer (For A Large Server)

Muse Server Sizing. 18 June Document Version Muse

Experimental Evaluation of Horizontal and Vertical Scalability of Cluster-Based Application Servers for Transactional Workloads

A Scalability Study for WebSphere Application Server and DB2 Universal Database

Oracle Database Deployments with EMC CLARiiON AX4 Storage Systems

EMC Business Continuity for Microsoft SQL Server Enabled by SQL DB Mirroring Celerra Unified Storage Platforms Using iscsi

VDI Without Compromise with SimpliVity OmniStack and Citrix XenDesktop

An On-line Backup Function for a Clustered NAS System (X-NAS)

SOLIDWORKS Enterprise PDM - Troubleshooting Tools

Maximum performance, minimal risk for data warehousing

Tips and Tricks for Using Oracle TimesTen In-Memory Database in the Application Tier

The Impact of Memory Subsystem Resource Sharing on Datacenter Applications. Lingia Tang Jason Mars Neil Vachharajani Robert Hundt Mary Lou Soffa

How Cineca supports IT

Transcription:

An Open-Source TPC-C Implementation for Parallel and Distributed Systems Computer Science Department University of Valladolid, Spain PMEO-PDS 06, Rhodes Island, April 29th, 2006

Motivation There are many benchmarks available to measure CPU performance: SPEC CPU2000, NAS, Olden... To measure global system performance, vendors use TPC-C benchmark However, only TPC-C specifications are freely available is an (unofficial) implementation of the TPC-C benchmark, intended for research purposes

How does TPC-C work? TPC-C simulates the execution of a set of both interactive and deferred transactions: OLTP-like environment A number of terminals request the execution of different database transactions, simulating a wholesale supplier Five different transaction types are executed during a 2- to 8-hours period: New Order enters a complete order Payment enters the customer s payment Order Status queries the status of a customer s last order Delivery processes a batch of ten new orders Stock Level determines the number of recently sold items The number of New Order transactions processed during the measurement time gives the performance number: Transactions-per-minute-C, or tpm-c

How does TPC-C work? TPC-C simulates the execution of a set of both interactive and deferred transactions: OLTP-like environment A number of terminals request the execution of different database transactions, simulating a wholesale supplier Five different transaction types are executed during a 2- to 8-hours period: New Order enters a complete order Payment enters the customer s payment Order Status queries the status of a customer s last order Delivery processes a batch of ten new orders Stock Level determines the number of recently sold items The number of New Order transactions processed during the measurement time gives the performance number: Transactions-per-minute-C, or tpm-c

How does TPC-C work? TPC-C simulates the execution of a set of both interactive and deferred transactions: OLTP-like environment A number of terminals request the execution of different database transactions, simulating a wholesale supplier Five different transaction types are executed during a 2- to 8-hours period: New Order enters a complete order Payment enters the customer s payment Order Status queries the status of a customer s last order Delivery processes a batch of ten new orders Stock Level determines the number of recently sold items The number of New Order transactions processed during the measurement time gives the performance number: Transactions-per-minute-C, or tpm-c

How does TPC-C work? TPC-C simulates the execution of a set of both interactive and deferred transactions: OLTP-like environment A number of terminals request the execution of different database transactions, simulating a wholesale supplier Five different transaction types are executed during a 2- to 8-hours period: New Order enters a complete order Payment enters the customer s payment Order Status queries the status of a customer s last order Delivery processes a batch of ten new orders Stock Level determines the number of recently sold items The number of New Order transactions processed during the measurement time gives the performance number: Transactions-per-minute-C, or tpm-c

About Disclaimer is not an official implementation. Our performance number, tpmc-uva, should not be compared with tpm-c given by any vendor Why not? We have not implemented price-per-tpmc metrics Our Transaction Monitor is not commercially available Therefore, the implementation does not have TPC approval is written entirely in C language, and uses the PostgreSQL database engine To ensure fairness, we distribute together with the toolchain that should be used to compile it

About Disclaimer is not an official implementation. Our performance number, tpmc-uva, should not be compared with tpm-c given by any vendor Why not? We have not implemented price-per-tpmc metrics Our Transaction Monitor is not commercially available Therefore, the implementation does not have TPC approval is written entirely in C language, and uses the PostgreSQL database engine To ensure fairness, we distribute together with the toolchain that should be used to compile it

About Disclaimer is not an official implementation. Our performance number, tpmc-uva, should not be compared with tpm-c given by any vendor Why not? We have not implemented price-per-tpmc metrics Our Transaction Monitor is not commercially available Therefore, the implementation does not have TPC approval is written entirely in C language, and uses the PostgreSQL database engine To ensure fairness, we distribute together with the toolchain that should be used to compile it

About Disclaimer is not an official implementation. Our performance number, tpmc-uva, should not be compared with tpm-c given by any vendor Why not? We have not implemented price-per-tpmc metrics Our Transaction Monitor is not commercially available Therefore, the implementation does not have TPC approval is written entirely in C language, and uses the PostgreSQL database engine To ensure fairness, we distribute together with the toolchain that should be used to compile it

architecture Checkpoints Database Signals Benchmark Vacuums PostgreSQL database engine Transaction Monitor Disk access Inter process communications TM logs To each RTE Remote Remote Remote Remote Performance logs The Benchmark interacts with the user, populating database and launching experiments

architecture Checkpoints Database Signals Benchmark Vacuums PostgreSQL database engine Transaction Monitor Disk access Inter process communications TM logs To each RTE Remote Remote Remote Remote Performance logs The Remote s, one por terminal, request transactions according with TPC-C specifications

architecture Checkpoints Database Signals Benchmark Vacuums PostgreSQL database engine Transaction Monitor Disk access Inter process communications TM logs To each RTE Remote Remote Remote Remote Performance logs The Transaction Monitor receives all the requests for RTEs and execute queries to the database system

architecture Checkpoints Database Signals Benchmark Vacuums PostgreSQL database engine Transaction Monitor Disk access Inter process communications TM logs To each RTE Remote Remote Remote Remote Performance logs The Checkpoints performs checkpoints periodically and registers timestamps

architecture Checkpoints Database Signals Benchmark Vacuums PostgreSQL database engine Transaction Monitor Disk access Inter process communications TM logs To each RTE Remote Remote Remote Remote Performance logs The Vacuums avoids the degradation produced by the continuous flow of operations in the database

architecture Checkpoints Database Signals Benchmark Vacuums PostgreSQL database engine Transaction Monitor Disk access Inter process communications TM logs To each RTE Remote Remote Remote Remote Performance logs IPCs are carried out using shared-memory structures and system signals suitable for SMPs

The Transactions Monitor To each RTE Checkpoints Database Signals Benchmark Vacuums PostgreSQL database engine Transaction Monitor Disk access Inter process communications TM logs Remote Remote Remote Remote Performance logs The TM receives the transaction requests from all RTEs, passing them to the database engine and returning the results The TPC-C clause that forces the use of a commercially available TM avoids the use of tailored TMs to artificially increase performance We do not use a commercially available TM ; instead, we simple queue the requests and pass them to the database

The Transactions Monitor To each RTE Checkpoints Database Signals Benchmark Vacuums PostgreSQL database engine Transaction Monitor Disk access Inter process communications TM logs Remote Remote Remote Remote Performance logs The TM receives the transaction requests from all RTEs, passing them to the database engine and returning the results The TPC-C clause that forces the use of a commercially available TM avoids the use of tailored TMs to artificially increase performance We do not use a commercially available TM ; instead, we simple queue the requests and pass them to the database

The Transactions Monitor To each RTE Checkpoints Database Signals Benchmark Vacuums PostgreSQL database engine Transaction Monitor Disk access Inter process communications TM logs Remote Remote Remote Remote Performance logs The TM receives the transaction requests from all RTEs, passing them to the database engine and returning the results The TPC-C clause that forces the use of a commercially available TM avoids the use of tailored TMs to artificially increase performance We do not use a commercially available TM ; instead, we simple queue the requests and pass them to the database

Running an experiment The TPC-C benchmark should be executed during a given period (2 or 8 hours), with a workload chosen by the user To be considered valid, the results of the test should meet some response time requirements (that is, the test may fail) Our implementation,, checks these requirements and reports the performance metrics, including tpmc-uva obtained Results given in the paper shows the performance of an Intel Xeon system with two processors, with a value for tpmc-uva = 107.882 for 9 warehouses

Running an experiment The TPC-C benchmark should be executed during a given period (2 or 8 hours), with a workload chosen by the user To be considered valid, the results of the test should meet some response time requirements (that is, the test may fail) Our implementation,, checks these requirements and reports the performance metrics, including tpmc-uva obtained Results given in the paper shows the performance of an Intel Xeon system with two processors, with a value for tpmc-uva = 107.882 for 9 warehouses

Running an experiment The TPC-C benchmark should be executed during a given period (2 or 8 hours), with a workload chosen by the user To be considered valid, the results of the test should meet some response time requirements (that is, the test may fail) Our implementation,, checks these requirements and reports the performance metrics, including tpmc-uva obtained Results given in the paper shows the performance of an Intel Xeon system with two processors, with a value for tpmc-uva = 107.882 for 9 warehouses

Running an experiment The TPC-C benchmark should be executed during a given period (2 or 8 hours), with a workload chosen by the user To be considered valid, the results of the test should meet some response time requirements (that is, the test may fail) Our implementation,, checks these requirements and reports the performance metrics, including tpmc-uva obtained Results given in the paper shows the performance of an Intel Xeon system with two processors, with a value for tpmc-uva = 107.882 for 9 warehouses

Experimental results: Report Test results accounting performed on 2004-18-10 at 17:58:57 using 9 warehouses. Start of measurement interval: 20.003233 m End of measurement interval: 140.004750 m COMPUTED THROUGHPUT: 107.882 tpmc-uva using 9 warehouses. 29746 Transactions committed. NEW-ORDER TRANSACTIONS: 12946 Transactions within measurement time (15035 Total). Percentage: 43.522% Percentage of "well done" transactions: 90.854% Response time (min/med/max/90th): 0.006 / 2.140 / 27.930 / 4.760 Percentage of rolled-back transactions: 1.012%. Average number of items per order: 9.871. Percentage of remote items: 1.003%. Think time (min/avg/max): 0.000 / 12.052 / 120.000 PAYMENT TRANSACTIONS: 12919 Transactions within measurement time (15042 Total). Percentage: 43.431% Percentage of "well done" transactions: 90.858% Response time (min/med/max/90th): 0.011 / 2.061 / 27.387 / 4.760 Percentage of remote transactions: 14.862%. Percentage of customers selected by C_ID: 39.601%. Think time (min/avg/max): 0.000 / 12.043 / 120.000

Experimental results: Report ORDER-STATUS TRANSACTIONS: 1296 Transactions within measurement time (1509 Total). Percentage: 4.357% Percentage of "well done" transactions: 91.435% Response time (min/med/max/90th): 0.016 / 2.070 / 27.293 / 4.640 Percentage of customers chosen by C_ID: 42.284%. Think time (min/avg/max): 0.000 / 9.998 / 76.000 DELIVERY TRANSACTIONS: 1289 Transactions within measurement time (1502 Total). Percentage: 4.333% Percentage of "well done" transactions: 100.000% Response time (min/med/max/90th): 0.000 / 0.000 / 0.001 / 0.000 Percentage of execution time < 80s : 100.000% Execution time min/avg/max: 0.241/2.623/27.359 No. of skipped districts: 0. Percentage of skipped districts: 0.000%. Think time (min/avg/max): 0.000 / 4.991 / 38.000 STOCK-LEVEL TRANSACTIONS: 1296 Transactions within measurement time (1506 Total). Percentage: 4.357% Percentage of "well done" transactions: 99.691% Response time (min/med/max/90th): 0.026 / 2.386 / 26.685 / 5.120 Think time (min/avg/max): 0.000 / 5.014 / 38.000

Experimental results: Report Longest checkpoints: Start time Elapsed time (s) Execution time (s) Mon Oct 18 20:19:56 2004 8459.676000 27.581000 Mon Oct 18 18:49:10 2004 3013.506000 21.514000 Mon Oct 18 19:19:32 2004 4835.039000 14.397000 Mon Oct 18 18:18:57 2004 1200.238000 13.251000 No vacuums executed.» TEST PASSED If the test fails because of response time requirements have not met, the workload chosen was too high: The experiment should be repeated with less warehouses

Experimental results: Report Longest checkpoints: Start time Elapsed time (s) Execution time (s) Mon Oct 18 20:19:56 2004 8459.676000 27.581000 Mon Oct 18 18:49:10 2004 3013.506000 21.514000 Mon Oct 18 19:19:32 2004 4835.039000 14.397000 Mon Oct 18 18:18:57 2004 1200.238000 13.251000 No vacuums executed.» TEST PASSED If the test fails because of response time requirements have not met, the workload chosen was too high: The experiment should be repeated with less warehouses

Experimental results: Plots According with clause 5.6.1 of TPC-C, some performance plots should be generated after a test run Number of Transactions Response Time Distribution, New Order transactions 900 800 700 600 500 400 300 200 100 0 0 1 2 3 4 5 6 7 8 Response Time (s) Number of Transactions Response Time Distribution, Order Status transactions 90 80 70 60 50 40 30 20 10 0 0 1 2 3 4 5 6 7 8 Response Time (s) Number of Transactions Response Time Distribution, Payment transactions 900 800 700 600 500 400 300 200 100 0 0 1 2 3 4 5 6 7 8 Response Time (s) Number of Transactions Response Time Distribution, Stock Level transactions 60 50 40 30 20 10 0 0 2 4 6 8 10 12 Response Time (s) Response time distribution of some transaction types for a 2-hours execution on the system under test

Experimental results: Need of vacuums If the experiment is longer than 8 hours, vacuums should be executed periodically in order to keep performance 110 110 100 100 Throughput (tpmc-uva) 90 80 70 60 50 40 Throughput (tpmc-uva) 90 80 70 60 50 40 30 30 20 20 0 5000 10000 15000 20000 25000 30000 0 5000 10000 15000 20000 25000 30000 Elapsed Time (s) Elapsed Time (s) Throughput of the New-Order transaction for a 2-hours execution on the system under test With (a) hourly vacuum operations, and (b) no vacuums.

Conclusion is an implementation of TPC-C benchmark that allows the performance measurement of parallel and distributed systems is open-source, making easy to instrument it in order to use it with simulation environments such as Simics can be downloaded from http://www.infor.uva.es/~diego/tpcc-uva.html

Conclusion is an implementation of TPC-C benchmark that allows the performance measurement of parallel and distributed systems is open-source, making easy to instrument it in order to use it with simulation environments such as Simics can be downloaded from http://www.infor.uva.es/~diego/tpcc-uva.html

Conclusion is an implementation of TPC-C benchmark that allows the performance measurement of parallel and distributed systems is open-source, making easy to instrument it in order to use it with simulation environments such as Simics can be downloaded from http://www.infor.uva.es/~diego/tpcc-uva.html

An Open-Source TPC-C Implementation for Parallel and Distributed Systems Computer Science Department University of Valladolid, Spain PMEO-PDS 06, Rhodes Island, April 29th, 2006