Model-Driven System Performance Engineering
System performance is often a key system aspect with tight connections to other system aspects. It is therefore important to have an explicit focus on system performance during the full system life cycle. We refer to that as designing for performance. Designing for performance is essential to make the right design decisions during the early stages of system development and to optimize performance during system operation. It addresses the challenges in today’s practice, where performance problems often materialize late and can only be identified once (parts of) the system have been realized, or even during system operation when users interact with the system in unexpected ways.
The field of System Performance Engineering (SysPE) provides modeling formalisms, methods, techniques and industrial best practices that can be used to designing systems for performance. In today’s industrial practice, SysPE is typically model-based, whereby models are used to support design decisions. In our ESI system performance program, we target the development of industrially mature, domain-specific model-driven SysPE methodologies based on the latest academic results. In such methodologies, models act as single source of truth and form a basis for the automated generation of implementation artefacts. For instance, configurations, schedules, schedulers or controllers may be synthesized from models that have a guaranteed performance by construction.
Why model-driven SysPE?
With accurate system-level performance models, the right design decisions can be made during early stages of system development. Early insight into system-level performance improves time-to-quality by requiring less reworking in later stages of development. It improves the cost-performance ratio of the final product by minimizing system over-dimensioning. It also improves performance for a wider range of system variants and operating conditions by taking into account the system variability.
The following video gives an overview of the field of system-performance engineering.
We have created an overview of the field of SysPE, based on our experiences in almost 20 years of public-private partnership programs on performance engineering in the Dutch high-tech ecosystem, including both industrial and academic partners. The overview (shown below) is structured around five focus areas, that together cover the full system life cycle:
Performance architecting
Model-driven design-space exploration
Performance modeling and analysis
Scheduling and supervisory control
Data-driven analysis and design
For each focus area, we have identified best practices that reflect a combination of the industrial state of practice in SysPE and what we see as prerequisites to establish model-driven SysPE.