A Prediction Model for Software Performance in Symmetric Multiprocessing Environments Jens Happe , Henning Groenda , Michael Hauck , and Ralf H. Reussner SAP Research, Vincenz-Priessnitz-Strasse 1, 76131 Karlsruhe, Germany FZI Forschungszentrum Informatik, Haid-und-Neu-Str. 10-14, 76131 Karlsruhe, Germany Karlsruhe Institute of Technology (KIT), Am Fasanengarten 5, 76131 Karlsruhe, Germany Email: jens.happe@sap.com, groenda@fzi.de, hauck@fzi.de, reussner@kit.edu Abstract—The broad introduction of multi-core processors made symmetric multiprocessing (SMP) environments main- stream. The additional cores can significantly increase software performance. However, their actual benefit depends on the oper- ating system scheduler’s capabilities, the system’s workload, and the software’s degree of concurrency. The load distribution on the available processors (or cores) strongly influences response times and throughput of software applications. Hence, understanding the operating system scheduler’s influence on performance and scalability is essential for the accurate prediction of software per- formance (response time, throughput, and resource utilisation). Existing prediction approaches tend to approximate the influence of operating system schedulers by abstract policies such as processor sharing and its more sophisticated extensions. However, these abstractions often fail to accurately capture software performance in SMP environments. In this paper, we present a performance Model for general-purpose Operating System Schedulers (MOSS). It allows analyses of software performance taking the influences of schedulers in SMP environments into account. The model is defined in terms of timed Coloured Petri Nets and predicts the effect of different operating system schedulers (e.g., Windows 7, Vista, Server 2003, and Linux 2.6) on software performance. We validated the prediction accuracy of MOSS in a case study using a business information system. In our experiments, the deviation of predictions and measurements was below 10% in most cases and did not exceed 30%. I. I NTRODUCTION In the recent years, multi-core processors with a symmetric multiprocessing (SMP) architecture gained a large momentum. SMP systems consist of multiple identical physical processors (or cores) which share the same properties, e.g., memory access times and computation power. Business application development has changed due to this trend to increase the over- all processing speed by parallel processing instead of faster processors. Architectural design decisions which affect size and number of tasks can have severe performance implications on different schedulers. Hence, there is a need of software architects and developers to determine the performance and scalability of their applications in these environments. For this purpose, reliable prediction models are essential. Scheduling policies can affect the response time of an application by several orders of magnitude [21]. This is due to the fact that scheduling is a multi-criteria optimisation problem in which certain trade-offs must be accepted. In SMP environments, common goals are high utilisation of proces- sors and minimal response times for compute, IO-bound, or interactive tasks. Existing prediction approaches (such as [6], [12]) rely on processor sharing (and its variants), preemptive priority scheduling and other abstract scheduling policies as described in [17], [25], [1] to approximate the behaviour of general purpose operating systems (GPOS). However, these abstractions are insufficient in SMP environments especially on applications using parallelisation on a fine-grained level. For multi-servers systems (including multi-core processors), various load distribution techniques are available [20], [19]. In contrast to GPOS schedulers, these policies do not take into account a task’s current or previous behaviour when dynamically redistributing the load of a system. However, the policies’ distribution of load on the available proces- sors strongly influences response times and throughput of applications. The implications of not considering scheduling policies when designing software for SMP systems can range from negligible effects over wrongly dimensioned hardware resources to degraded performance compared to single-core system performance [8]. In this paper, we present a performance Model for general- purpose Operating System Schedulers (MOSS). MOSS is defined in terms of hierarchically structured, timed Coloured Petri Nets [10]. We use feature diagrams [5] to express customisations of MOSS that reflect the behaviour of different operating system schedulers. Furthermore, we developed a discrete event-simulation based on SSJ [14] to predict the effect of GPOS on applications. This simulation is integrated with a model-driven performance prediction framework (Pal- ladio Component Model, PCM [3]). The combination of both approaches demonstrates the benefit of integrating MOSS into model-based prediction approaches. It enables software architects and performance analysts to evaluate their design with respect to different scheduler models and choose the best software design based on quantitative analysis. Integrated in the PCM, MOSS further supports the estimation of appropriate hardware needs of newly developed applications and helps to identify scalability bottlenecks and overloaded resources. The contribution of this paper is MOSS, a validated model for performance predictions of software applications in SMP environments. MOSS reflects the influence of different sched- ulers including Windows 7, Vista, and Server 2003 as well as Linux (Kernel 2.6). To achieve this, we build our model on a series of systematic experiments that identify the determining