Performance Engineering Model Bootcamp™: Practical Techniques for Modeling Your Systems
Presented by: Connie U. Smith
Contact us for scheduling in-house training
This three and one-half day workshop provides a practical, hands-on opportunity for those who are familiar with basic performance modeling techniques to polish their skills and increase their repertoire of modeling techniques.
The methods and skills learned in this seminar will enable participants to:
- conduct in-depth studies of key performance drivers
- study complex interactions among workloads and computer resources
- identify performance problems and study alternatives for their resolution
- forecast the performance, scalability, and capacity requirements of future environments
- derive data for impact analysis of future architectures such as distributed and parallel systems
- predict the performance of new software that will execute in complex environments
The course will consist of both lecture and laboratory sessions. Lectures review basic modeling techniques and their role in the software performance engineering (SPE) process. More advanced modeling techniques show how to model features prevalent in new software and computer architectures.
Laboratory exercises guide students in constructing and solving an increasingly complex set of performance models. The workshop culminates in a final "Workshop Project" exercise for participants to use their own data to model an application system of their choosing. View details on the information to bring to construct and solve your own model below.
1. Identify your most important workload (Use Case). For this workload get as many of the following as possible:
- Performance requirements
- Workload volume for period of interest
- Sequence diagrams for key performance scenarios
2. Measurements from performance test(s)
- Scripts used for the load driver
- Output from load driver (e.g., for Loadrunner, bring the analysis files: .lra and the corresponding data files).
- Output from system measurement tools for the same interval for each of the key servers in the environment
- Profile data for the chosen workload for the same interval
- Other measurement data available for the interval
Make sure that you can open these files on your laptop!
If you are unfamiliar with these items, refer to the Performance Solutions book. Chapter 4 covers the workload information needed. Chapter 8 covers measurements. If you are going to run a performance test before the class to gather this data, let us know.
Contact us if you have additional questions about what to bring.
Students will be provided with an evaluation copy of the SPE•ED software performance modeling tool for working the class exercises. The class uses SPE•ED because students quickly learn how to use it and can focus on the course material. Emphasis will be on techniques that can also be used with other modeling tools.
I. Introduction and Overview
- Introductions
- Workshop Overview and Agenda
II. Review of Modeling Fundamentals: Quick review provides "level-set"
- SPE Overview
- SPE Model Based Approach
- 3 Modeling strategies
- 5 types of data required
- Software resource estimation
III. Model Verification and Validation: Are the models and their predictions correct?
- Assessing model accuracy
- Comparing measurements to model results
- Checklist for model verification and validation
IV. Software Performance Modeling Boot CampTM: Hands-on Learning
Each of the following topics is motivated by a software modeling challenge much like an obstacle course in a boot camp. Students identify aspects of the challenge and work out modeling techniques that will guide them to successful completion. Workshop sessions are supplemented by discussions and data gathering exercises.
- Modeling software behavior
- Results are inconclusive
- Performance is highly variable
- Determining Overhead Matrix/Resource Usage
- Modeling Communication Overhead
- Modeling Multiple Servers
- Modeling Complex Interactions
- Diagnosing and Fixing Software Problems
- Surprising Results
V. Getting Model Data: Discussions and Exercises Demonstrate Techniques
- Workload characteristics
- Measurements
- Software Resource Estimation
- Processing Overhead
VI. Tips and Techniques: Addional Solutions to Recurring Modeling Challenges
- Which steps in end-end model to represent
- When to split scenarios
- Different time units in scenarios
- Batch programs
- Using parameters in resource specifications
VII. Project: Bring Data and Create Models of Your Systems
VIII. Next Steps: How to Get Maximum Results from the Course
- What Are Our Strengths?
- What Have We Learned?
- What Is Our Vision of the Future?
- What Steps Can We Take to Achieve Our Vision?
- The 72-Hour Rule