Title: Designing User Interfaces Spring 1999
1SE 767-NT Software Performance Engineering Robert
Oshana Lecture 31 For more
information, please contact NTU Tape
Orders NTU Media Services (970) 495-6455
oshana_at_airmail.net
tapeorders_at_ntu.edu
2Where we are
- Introduction
- SPE Quick View
- SPE and the UML
- Software Execution Models
- Web applications and other distributed systems
- System execution models
- SPE data collection
- Software measurement and instrumentation
- Performance oriented design
- Performance patterns
- Performance anti-patterns
- Implementation solutions
- Web applications
- Embedded and real-time systems
- The SPE process
- Implementing SPE
3Implementing SPE
4Introduction
- You can personally start using SPE right away
- Trying to do this while working in a group can be
difficult - This process has huge benefits, but like other
technology insertion, it cannot happen overnight
5Tools
- Modeling tools
- System modeling tools
- Most support the queue-ing network model paradigm
(mostly capacity planning) - DIGITAL Capacity Planner (Compaq - HP)
- Software modeling tools
- Only a few tools specifically for SPE
- SPE-ED
- Since these are solved analytically, other tools
can be customized for this process
6Tools
- Development tools
- No specific tools for SPE
- Can customize existing tools
7SPE adoption and use
- SPE has been adopted with success at several
companies (Lucent, IBM, Yantra, Aprisma
Management) - Several factors to consider
- Organizational
- Managerial
- Technical
8Establishing a SPE practice
- starts small, and, once organization recognizes
value, it becomes an established part of the
development process.. - Obtaining commitment from the projects is
important (not always easy) - Start small and build on a string of successes
9Establishing a SPE practice
- You will never convince everyone
- Start with small projects
- Concentrate on new parts of the application as
they evolve
10Qualifications
- Not just a modeler but also a good communicator
willing to bring bad news into the open - Get training to increase credibility on projects
- Offer training to other groups
11Other advice
- Build and measure prototypes early in development
- Apply centering principle and fast path to
critical use cases and it is hard to go wrong - Start getting performance goals early
- Do performance walkthroughs
12Other advice
- Publicize success
- Actively participate in professional societies
- Workshop on Software and Performance (WOSP)
- Publish
13Key considerations
- Economic justification for SPE
- Responsibility for SPE
- Finding the right people
- Proper organizational placement
14Pilot projects
- A pilot project is a small-scale project that is
conducted to test a process under realistic
conditions - Manageable
- Non-trivial
- Non-critical
- Measurable
15Critical success factors
- Find a string advocate
- Secure commitment
- Integrate SPE with development process and
schedule - Develop proper tooling
- Secure cooperation towards goals
- Establish credibility
16Implementation strategies
- Centralized SPE group
- Performance engineers as part of the development
team - A combined approach
17Critical factors for successful projects
- Establish performance objectives and hold
managers and developers accountable - Produce credible model results
- Get consensus on set of performance scenarios
- Measure critical components early and often
- Use best and worst case results
18SPE future
- Will we ever have enough computing power to not
worry about SPE ? - Hasnt happened yet !!
- Portable embedded systems cannot use more power
as the solution to all performance problems - Limitations include tools, process adoption, time
19SPE Summary
Existing work
SW execution model
System execution models
Performance metrics
At 90 utilization, costs double, at 95
utilization they triple!
Resource requirements
- Workload worst case scenarios
- Performance objectives quantitative criteria for
evaluating performance (CPU, memory, I/O) - Software characteristics processing steps for
various performance scenarios (ADD, simulation) - Execution environment platform on which the
proposed system will execute, partitioning
decisions - Resource requirements estimate of the amount of
service required for key components of the system - Processing overhead benchmarking, simulation,
prototyping for key scenarios
HW Configuration
Workload
New SW
Capacity
20SE 767-NT Software Performance Engineering Robert
Oshana End of lecture For
more information, please contact NTU Tape
Orders NTU Media Services (970) 495-6455
oshana_at_airmail.net
tapeorders_at_ntu.edu