SPE·ED™ Performance Modeling Tool
Distributed and Web-based Systems Performance Engineering
Distributed Systems, especially those using Web Services, have new challenges for performance engineering. SPE·ED™ meets these challenges with new software modeling features and advanced system execution models for more detailed evaluations of architecture and design alternatives.
Challenges: Developers can design and implement a distributed application without being concerned about where an object resides, how it is implemented, or how communication occurs. Commercial off-the-shelf (COTS) products and/or legacy systems can be integrated into new systems.
Extensions: to the Software Performance Engineering (SPE) process divide aspects of these distributed systems into two categories: those that are modeled explicitly, and those that are modeled implicitly. Explicit models represent key aspects of distributed-system performance, such as synchronous calls to a remote object, in the software performance model and extend SPE analysis techniques to quantify their performance. Implicit models quantify the overhead of various distributed-system interfaces and include the overhead with each corresponding software request.
Software Evaluations: Software and system execution models evaluate architecture and design alternatives. Even though the software implementation does not require knowledge of object placement, location, etc., distributed system performance is highly dependent on these architecture and design decisions.
Engineers can get quantitative data on the overall performance of the following software choices:
- The volume and complexity of inter-component communication and coordination
- The types of inter-component communication,
- Process composition
- The assignment of processes to processors
- The number of threads for concurrent processes
Performance data that is reported includes:
- Response time, utilization, and resource usage of performance scenarios
- Network congestion due to distributed calls
- Time spent waiting for called processes (mean, maximum, and variance)
- Mean and maximum number of requests for called processes
- Throughput of called processes
Real-Time Embedded Systems
SPE•ED supports the performance analysis of Real-Time Embedded Systems (RTES). The features that support distributed systems described in the previous section are also useful for evaluating the performance of real-time systems because they characterize the synchronization and coordination of software processes. The evaluation of worst-case performance scenarios and other important situations for RTES are also supported.
Our recently completed research project has identified some additional features that will enhance our already powerful RTES support. They will be added in coming releases.