cs 147 computer systems performance analysis
play

CS 147: Computer Systems Performance Analysis Test Loads 1 / 33 - PowerPoint PPT Presentation

CS147 2015-06-15 CS 147: Computer Systems Performance Analysis Test Loads CS 147: Computer Systems Performance Analysis Test Loads 1 / 33 Overview CS147 Overview 2015-06-15 Designing Test Loads Load Types Applying Loads Overview


  1. CS147 2015-06-15 CS 147: Computer Systems Performance Analysis Test Loads CS 147: Computer Systems Performance Analysis Test Loads 1 / 33

  2. Overview CS147 Overview 2015-06-15 Designing Test Loads Load Types Applying Loads Overview Common Benchmarking Mistakes Designing Test Loads Load Types Applying Loads Common Benchmarking Mistakes 2 / 33

  3. Designing Test Loads Test Load Design CS147 Test Load Design 2015-06-15 Designing Test Loads ◮ Most experiments require applying test loads to system ◮ General characteristics of test loads already discussed ◮ How do we design test loads? Test Load Design ◮ Most experiments require applying test loads to system ◮ General characteristics of test loads already discussed ◮ How do we design test loads? 3 / 33

  4. Designing Test Loads Load Types Types of Test Loads CS147 Types of Test Loads 2015-06-15 Designing Test Loads ◮ Real users Load Types ◮ Traces ◮ Load-generation programs Types of Test Loads ◮ Real users ◮ Traces ◮ Load-generation programs 4 / 33

  5. Designing Test Loads Load Types Loads Caused by Real Users CS147 Loads Caused by Real Users 2015-06-15 Designing Test Loads ◮ Put real people in front of your system ◮ Two choices: 1. Have them run pre-arranged set of tasks Load Types 2. Have them do what they’d normally do ◮ Always a difficult approach ◮ Labor-intensive ◮ Impossible to reproduce given load Loads Caused by Real Users ◮ Load is subject to many external influences ◮ But highly realistic ◮ Put real people in front of your system ◮ Two choices: 1. Have them run pre-arranged set of tasks 2. Have them do what they’d normally do ◮ Always a difficult approach ◮ Labor-intensive ◮ Impossible to reproduce given load ◮ Load is subject to many external influences ◮ But highly realistic 5 / 33

  6. Designing Test Loads Load Types Traces CS147 Traces 2015-06-15 Designing Test Loads ◮ Collect set of commands/accesses issued to system under test (or similar system) Load Types ◮ Replay against your system ◮ Some traces of common activities available from others (e.g., file accesses) Traces ◮ But often don’t contain everything you need ◮ Collect set of commands/accesses issued to system under test (or similar system) ◮ Replay against your system ◮ Some traces of common activities available from others (e.g., file accesses) ◮ But often don’t contain everything you need 6 / 33

  7. Designing Test Loads Load Types Issues in Using Traces CS147 Issues in Using Traces 2015-06-15 Designing Test Loads ◮ May be hard to alter or extend Load Types ◮ Accuracy of trace may depend on behavior of system ◮ If a subsystem is twice as slow in your system as in traced system, maybe results would have been different ◮ Only truly representative of traced system and execution Issues in Using Traces E.g., processes might run at different rates depending on I/O vs. CPU mix ◮ May be hard to alter or extend ◮ Accuracy of trace may depend on behavior of system ◮ If a subsystem is twice as slow in your system as in traced system, maybe results would have been different ◮ Only truly representative of traced system and execution 7 / 33

  8. Designing Test Loads Load Types Running Traces CS147 Running Traces 2015-06-15 Designing Test Loads ◮ Need process that reads trace, keeps track of progress, and issues commands from trace when appropriate Load Types ◮ Process must be reasonably accurate in timing ◮ But must also have little performance impact ◮ If trace is large, can’t keep it all in main memory ◮ So be careful of disk overheads Running Traces ◮ Often best to read trace from network ◮ Need process that reads trace, keeps track of progress, and issues commands from trace when appropriate ◮ Process must be reasonably accurate in timing ◮ But must also have little performance impact ◮ If trace is large, can’t keep it all in main memory ◮ So be careful of disk overheads ◮ Often best to read trace from network 8 / 33

  9. Designing Test Loads Load Types Load-Generation Programs CS147 Load-Generation Programs 2015-06-15 Designing Test Loads ◮ Create model for load you want to apply ◮ Write program implementing that model Load Types ◮ Program issues commands & requests synthesized from model ◮ E.g., if model says open file, program builds appropriate Load-Generation Programs open() command ◮ Create model for load you want to apply ◮ Write program implementing that model ◮ Program issues commands & requests synthesized from model ◮ E.g., if model says open file, program builds appropriate open() command 9 / 33

  10. Designing Test Loads Load Types Building the Model CS147 Building the Model 2015-06-15 Designing Test Loads ◮ Tradeoff between ease of creation and use of model vs. its accuracy Load Types ◮ Base model on everything you can find out about the real system behavior ◮ Which may include examining traces ◮ Consider whether model can be memoryless, or requires Building the Model keeping track of what’s already happened (Markov) ◮ Tradeoff between ease of creation and use of model vs. its accuracy ◮ Base model on everything you can find out about the real system behavior ◮ Which may include examining traces ◮ Consider whether model can be memoryless, or requires keeping track of what’s already happened (Markov) 10 / 33

  11. Designing Test Loads Load Types Using the Model CS147 Using the Model 2015-06-15 Designing Test Loads ◮ May require creation of test files, or processes, or network connections Load Types ◮ Model should include how they should be created ◮ Program that implements models should have minimum performance impact on system under test Using the Model ◮ May require creation of test files, or processes, or network connections ◮ Model should include how they should be created ◮ Program that implements models should have minimum performance impact on system under test 11 / 33

  12. Designing Test Loads Applying Loads Applying Test Loads CS147 Applying Test Loads 2015-06-15 Designing Test Loads ◮ Most experiments will need multiple repetitions ◮ Details covered later in course Applying Loads ◮ Results most accurate if each repetition runs in identical conditions ⇒ Test software should work hard to duplicate conditions on each run Applying Test Loads ◮ Requires thorough understanding of system ◮ Most experiments will need multiple repetitions ◮ Details covered later in course ◮ Results most accurate if each repetition runs in identical conditions ⇒ Test software should work hard to duplicate conditions on each run ◮ Requires thorough understanding of system 12 / 33

  13. Designing Test Loads Applying Loads Example of Applying Test Loads CS147 Example of Applying Test Loads 2015-06-15 Designing Test Loads ◮ Using Ficus experiments discussed earlier, want performance impact of update propagation for multiple replicas Applying Loads ◮ Test load is set of benchmarks involving file access & other activities ◮ Must apply test load for varying numbers of replicas Example of Applying Test Loads ◮ Using Ficus experiments discussed earlier, want performance impact of update propagation for multiple replicas ◮ Test load is set of benchmarks involving file access & other activities ◮ Must apply test load for varying numbers of replicas 13 / 33

  14. Designing Test Loads Applying Loads Factors in Designing This Experiment CS147 Factors in Designing This Experiment 2015-06-15 Designing Test Loads ◮ Setting up volumes and replicas ◮ Network traffic Applying Loads ◮ Other load on test machines (from outside) ◮ Caching effects ◮ Automation of experiment Factors in Designing This Experiment ◮ Very painful to start each run by hand ◮ Setting up volumes and replicas ◮ Network traffic ◮ Other load on test machines (from outside) ◮ Caching effects ◮ Automation of experiment ◮ Very painful to start each run by hand 14 / 33

  15. Designing Test Loads Applying Loads Experiment Setup CS147 Experiment Setup 2015-06-15 Designing Test Loads ◮ Need volumes to read and write, and replicas of each volume Applying Loads on various machines ◮ Must be certain that setup completes before we start running experiment Experiment Setup ◮ Need volumes to read and write, and replicas of each volume on various machines ◮ Must be certain that setup completes before we start running experiment 15 / 33

  16. Designing Test Loads Applying Loads Network Traffic Issues CS147 Network Traffic Issues 2015-06-15 Designing Test Loads ◮ If experiment is distributed (like ours), how is it affected by other traffic on network? Applying Loads ◮ Is traffic seen on network used in test similar to traffic expected on network you would actually use? ◮ If not, do you need to run on isolated network? And/or Network Traffic Issues generate appropriate background network load? ◮ If experiment is distributed (like ours), how is it affected by other traffic on network? ◮ Is traffic seen on network used in test similar to traffic expected on network you would actually use? ◮ If not, do you need to run on isolated network? And/or generate appropriate background network load? 16 / 33

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend