Workloads Experimental environment prototype real sys exec- driven sim trace- driven sim stochastic sim Live workload Benchmark applications Micro- benchmark.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

1 CS533 Modeling and Performance Evaluation of Network and Computer Systems Capacity Planning and Benchmarking (Chapter 9)
11 Measuring performance Kosarev Nikolay MIPT Feb, 2010.
Workloads Experimental environment prototype real sys exec- driven sim trace- driven sim stochastic sim Live workload Benchmark applications Micro- benchmark.
Workload Selection and Characterization Andy Wang CIS Computer Systems Performance Analysis.
Lecture 2c: Benchmarks. Benchmarking Benchmark is a program that is run on a computer to measure its performance and compare it with other machines Best.
Chapter 4 M. Keshtgary Spring 91 Type of Workloads.
1 Web Server Performance in a WAN Environment Vincent W. Freeh Computer Science North Carolina State Vsevolod V. Panteleenko Computer Science & Engineering.
Chapter 1 CSF 2009 Computer Performance. Defining Performance Which airplane has the best performance? Chapter 1 — Computer Abstractions and Technology.
An Adaptable Benchmark for MPFS Performance Testing A Master Thesis Presentation Yubing Wang Advisor: Prof. Mark Claypool.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Understanding Networked Applications: A First Course Chapter 17 by David G. Messerschmitt.
Computational Astrophysics: Methodology 1.Identify astrophysical problem 2.Write down corresponding equations 3.Identify numerical algorithm 4.Find a computer.
Computer Performance Evaluation: Cycles Per Instruction (CPI)
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Andreas Sandberg ARM Research
1 Lecture 10: FP, Performance Metrics Today’s topics:  IEEE 754 representations  FP arithmetic  Evaluating a system Reminder: assignment 4 due in a.
Lecture 8 Epidemic communication, Server implementation.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Using Standard Industry Benchmarks Chapter 7 CSE807.
Lecture 2: Technology Trends and Performance Evaluation Performance definition, benchmark, summarizing performance, Amdahl’s law, and CPI.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Performance & Benchmarking. What Matters? Which airplane has best performance:
1 Computer Performance: Metrics, Measurement, & Evaluation.
Performance of Web Applications Introduction One of the success-critical quality characteristics of Web applications is system performance. What.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Lecture 2: Computer Performance
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
© 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.
BİL 221 Bilgisayar Yapısı Lab. – 1: Benchmarking.
Recap Technology trends Cost/performance Measuring and Reporting Performance What does it mean to say “computer X is faster than computer Y”? E.g. Machine.
1 Performance Evaluation of Computer Systems and Networks Introduction, Outlines, Class Policy Instructor: A. Ghasemi Many thanks to Dr. Behzad Akbari.
C OMPUTER O RGANIZATION AND D ESIGN The Hardware/Software Interface 5 th Edition Chapter 1 Computer Abstractions and Technology Sections 1.5 – 1.11.
Test Loads Andy Wang CIS Computer Systems Performance Analysis.
Building a Parallel File System Simulator E Molina-Estolano, C Maltzahn, etc. UCSC Lab, UC Santa Cruz. Published in Journal of Physics, 2009.
Evidence of real problem, justification, opportunity, feasibility, understanding Boundary of system under test, workload & system parameters that affect.
ACMSE’04, ALDepartment of Electrical and Computer Engineering - UAH Execution Characteristics of SPEC CPU2000 Benchmarks: Intel C++ vs. Microsoft VC++
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
Computer Architecture
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
© 2003, Carla Ellis Self-Scaling Benchmarks Peter Chen and David Patterson, A New Approach to I/O Performance Evaluation – Self-Scaling I/O Benchmarks,
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
Modeling Virtualized Environments in Simalytic ® Models by Computing Missing Service Demand Parameters CMG2009 Paper 9103, December 11, 2009 Dr. Tim R.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Performance Performance
Understanding Performance in Operating Systems Andy Wang COP 5611 Advanced Operating Systems.
6.894: Distributed Operating System Engineering Lecturers: Frans Kaashoek Robert Morris
1 Lecture 2: Performance, MIPS ISA Today’s topics:  Performance equations  MIPS instructions Reminder: canvas and class webpage:
© 2003, Carla Ellis Vague idea “groping around” experiences Hypothesis Model Initial observations Experiment Data, analysis, interpretation Results & final.
Vague idea “groping around” experiences Hypothesis Model Initial observations Experiment Data, analysis, interpretation Results & final Presentation Experimental.
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
1 Evaluation of Cooperative Web Caching with Web Polygraph Ping Du and Jaspal Subhlok Department of Computer Science University of Houston presented at.
Test Loads Andy Wang CIS Computer Systems Performance Analysis.
© 2003, Carla Ellis Model Vague idea “groping around” experiences Hypothesis Initial observations Experiment Data, analysis, interpretation Results & final.
Measuring Performance Based on slides by Henri Casanova.
OPERATING SYSTEMS CS 3502 Fall 2017
Lecture 2: Performance Evaluation
4- Performance Analysis of Parallel Programs
Software Architecture in Practice
Andy Wang CIS 5930 Computer Systems Performance Analysis
Morgan Kaufmann Publishers
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Software Architecture in Practice
CMSC 611: Advanced Computer Architecture
Understanding Performance in Operating Systems
CMSC 611: Advanced Computer Architecture
Presentation transcript:

Workloads Experimental environment prototype real sys exec- driven sim trace- driven sim stochastic sim Live workload Benchmark applications Micro- benchmark programs Synthetic benchmark programs Traces Distributions & other statistics monitor analysis generator Synthetic traces “Real” workloads Made-up © 2003, Carla Ellis Data sets

© 1998, Geoff Kuenning What is a Workload? A workload is anything a computer is asked to do Test workload: any workload used to analyze performance Real workload: any observed during normal operations Synthetic: created for controlled testing

Workload Issues Selection of benchmarks –Criteria: Repeatability Availability and community acceptance Representative of typical usage (e.g. timeliness) Predictive of real performance – realistic (e.g. scaling issue) –Types Tracing workloads & using traces –Monitor design –Compression, anonymizing realism (no feedback) Workload characterization Workload generators © 2003, Carla Ellis Choosing an unbiased workload is key to designing an experiment that can disprove an hypothesis.

© 1998, Geoff Kuenning Types: Real (“live”) Workloads Advantage is they represent reality Disadvantage is they’re uncontrolled –Can’t be repeated –Can’t be described simply –Difficult to analyze Nevertheless, often useful for “final analysis” papers “Deployment experience”

© 1998, Geoff Kuenning Types: Synthetic Workloads Advantages: –Controllable –Repeatable –Portable to other systems –Easily modified Disadvantage: can never be sure real world will be the same (i.e., are they representative?)

© 1998, Geoff Kuenning Instruction Workloads Useful only for CPU performance –But teach useful lessons for other situations Development over decades –“Typical” instruction (ADD) –Instruction mix (by frequency of use) Sensitive to compiler, application, architecture Still used today (MFLOPS)

© 1998, Geoff Kuenning Instruction Workloads (cont’d) Modern complexity makes mixes invalid –Pipelining –Data/instruction caching –Prefetching Kernel is inner loop that does useful work: –Sieve, matrix inversion, sort, etc. –Ignores setup, I/O, so can be timed by analysis if desired (at least in theory)

© 1998, Geoff Kuenning Synthetic Programs Complete programs –Designed specifically for measurement –May do real or “fake” work –May be adjustable (parameterized) Two major classes: –Benchmarks –Exercisers

© 1998, Geoff Kuenning Real-World Benchmarks Pick a representative application Pick sample data Run it on system to be tested Modified Andrew Benchmark, MAB, is a real- world benchmark Easy to do, accurate for that sample data Fails to consider other applications, data

© 1998, Geoff Kuenning Application Benchmarks Variation on real-world benchmarks Choose most important subset of functions Write benchmark to test those functions Tests what computer will be used for Need to be sure important characteristics aren’t missed

© 1998, Geoff Kuenning “Standard” Benchmarks Often need to compare general-purpose computer systems for general-purpose use –E.g., should I buy a Compaq or a Dell PC? –Tougher: Mac or PC? Desire for an easy, comprehensive answer People writing articles often need to compare tens of machines

© 1998, Geoff Kuenning “Standard” Benchmarks (cont’d) Often need to make comparisons over time –Is this year’s PowerPC faster than last year’s Pentium? Obviously yes, but by how much? Don’t want to spend time writing own code –Could be buggy or not representative –Need to compare against other people’s results “Standard” benchmarks offer a solution

© 1998, Geoff Kuenning Popular “Standard” Benchmarks Sieve Ackermann’s function Whetstone Linpack Dhrystone Livermore loops Debit/credit SPEC MAB

© 1998, Geoff Kuenning Sieve and Ackermann’s Function Prime number sieve (Erastothenes) –Nested for loops –Usually such small array that it’s silly Ackermann’s function –Tests procedure calling, recursion –Not very popular in Unix/PC community

© 1998, Geoff Kuenning Whetstone Dates way back (can compare against 70’s) Based on real observed frequencies Entirely synthetic (no useful result) Mixed data types, but best for floating Be careful of incomparable variants!

© 1998, Geoff Kuenning LINPACK Based on real programs and data Developed by supercomputer users Great if you’re doing serious numerical computation

© 1998, Geoff Kuenning Dhrystone Bad pun on “Whetstone” Motivated by Whetstone’s perceived excessive emphasis on floating point Dates back to when  p’s were integer- only Very popular in PC world Again, watch out for version mismatches

© 1998, Geoff Kuenning Livermore Loops Outgrowth of vector-computer development Vectorizable loops Based on real programs Good for supercomputers Difficult to characterize results simply

© 1998, Geoff Kuenning Debit/Credit Benchmark Developed for transaction processing environments –CPU processing is usually trivial –Remarkably demanding I/O, scheduling requirements Models real TPS workloads synthetically Modern version is TPC benchmark

© 1998, Geoff Kuenning SPEC Suite Result of multi-manufacturer consortium Addresses flaws in existing benchmarks Uses 10 real applications, trying to characterize specific real environments Considers multiple CPUs Geometric mean gives SPECmark for system Becoming standard comparison method

© 1998, Geoff Kuenning Modified Andrew Benchmark Used in research to compare file system, operating system designs Based on software engineering workload Exercises copying, compiling, linking Probably ill-designed, but common use makes it important

© 1998, Geoff Kuenning Exercisers and Drivers (Microbenchmarks) For I/O, network, non-CPU measurements Generate a workload, feed to internal or external measured system –I/O on local OS –Network Sometimes uses dedicated system, interface hardware

© 1998, Geoff Kuenning Advantages /Disadvantages +Easy to develop, port +Incorporate measurement +Easy to parameterize, adjust +Good for “diagnosis” of problem, isolating bottleneck -Often too small compared to real workloads Thus not representative May use caches “incorrectly” -Often don’t have real CPU activity Affects overlap of CPU and I/O -Synchronization effects caused by loops

© 1998, Geoff Kuenning Workload Selection Services Exercised Level of Detail Representativeness Timeliness Other Considerations

© 1998, Geoff Kuenning Services Exercised What services does system actually use? –Faster CPU won’t speed “cp” –Network performance useless for matrix work What metrics measure these services? –MIPS for CPU speed –Bandwidth for network, I/O –TPS for transaction processing

© 1998, Geoff Kuenning Completeness Computer systems are complex –Effect of interactions hard to predict –So must be sure to test entire system Important to understand balance between components –I.e., don’t use 90% CPU mix to evaluate I/O-bound application

© 1998, Geoff Kuenning Component Testing Sometimes only individual components are compared –Would a new CPU speed up our system? –How does IPV6 affect Web server performance? But component may not be directly related to performance

© 1998, Geoff Kuenning Service Testing May be possible to isolate interfaces to just one component –E.g., instruction mix for CPU Consider services provided and used by that component System often has layers of services –Can cut at any point and insert workload

© 1998, Geoff Kuenning Characterizing a Service Identify service provided by major subsystem List factors affecting performance List metrics that quantify demands and performance Identify workload provided to that service

© 1998, Geoff Kuenning Example: Web Server Web Client Network TCP/IP Connections Web Server HTTP Requests File System Web Page Accesses Disk Drive Disk Transfers Web Page Visits

© 1998, Geoff Kuenning Web Client Analysis Services: visit page, follow hyperlink, display information Factors: page size, number of links, fonts required, embedded graphics, sound Metrics: response time Workload: a list of pages to be visited and links to be followed

© 1998, Geoff Kuenning Network Analysis Services: connect to server, transmit request, transfer data Factors: bandwidth, latency, protocol used Metrics: connection setup time, response latency, achieved bandwidth Workload: a series of connections to one or more servers, with data transfer

© 1998, Geoff Kuenning Web Server Analysis Services: accept and validate connection, fetch HTTP data Factors: Network performance, CPU speed, system load, disk subsystem performance Metrics: response time, connections served Workload: a stream of incoming HTTP connections and requests

© 1998, Geoff Kuenning File System Analysis Services: open file, read file (writing doesn’t matter for Web server) Factors: disk drive characteristics, file system software, cache size, partition size Metrics: response time, transfer rate Workload: a series of file-transfer requests

© 1998, Geoff Kuenning Disk Drive Analysis Services: read sector, write sector Factors: seek time, transfer rate Metrics: response time Workload: a statistically-generated stream of read/write requests

© 1998, Geoff Kuenning Level of Detail Detail trades off accuracy vs. cost Highest detail is complete trace Lowest is one request, usually most common Intermediate approach: weight by frequency We will return to this when we discuss workload characterization

© 1998, Geoff Kuenning Representativeness Obviously, workload should represent desired application –Arrival rate of requests –Resource demands of each request –Resource usage profile of workload over time Again, accuracy and cost trade off Need to understand whether detail matters

© 1998, Geoff Kuenning Timeliness Usage patterns change over time –File size grows to match disk size –Web pages grow to match network bandwidth If using “old” workloads, must be sure user behavior hasn’t changed Even worse, behavior may change after test, as result of installing new system

© 1998, Geoff Kuenning Other Considerations Loading levels –Full capacity –Beyond capacity –Actual usage External components not considered as parameters Repeatability of workload

For Discussion Next Tuesday Survey the types of workloads – especially the standard benchmarks – used in your proceedings (10 papers). © 2003, Carla Ellis