abstract = {With today's rise of multi-core processors, concurrency becomes a ubiquitous challenge in software development. Concurrency allows the improvement of software performance by exploiting available processor cores. Performance prediction methods have to reflect the influence of multiprocessing environments on software performance in order to help software architects to find potential performance problems during early development phases. In this thesis, we address the influence of the operating system scheduler on software performance in symmetric multiprocessing environments. We propose a performance modelling framework for operating system schedulers such as Windows and Linux. Furthermore, the influence of the middleware on software performance is addressed by a performance modelling approach to message-oriented middleware. A series of case studies demonstrates that both techniques reduce the prediction error to less than 5\% to 10\% in most cases.},
  author = {Jens Happe},
  month = {August},
  school = {University of Oldenburg, Germany},
  title = {{P}redicting {S}oftware {P}erformance in {S}ymmetric {M}ulti-core and {M}ultiprocessor {E}nvironments},
  type = {Dissertation},
  url = {},
  year = {2008}
  abstract = {From the user's point of view, the reliability of a software component depends on its environment as well as its usage profile. The environment of a component includes the external services invoked by the component and the hardware and software it is deployed on. The usage profile determines which services of the component are needed and describes all possible call sequences in form of a Markov model. The in�uence of the usage profile and the reliability of external services on the reliability of a component- based software architecture has been analysed in [38]. There, parametric contracts are used to determine the reliability of a component in its environment. Parametric contracts use so-called service e�ect specifications which describe the usage of external services by a service provided by the component to create a mapping between the provides- and requires interfaces of the same component. We extend the approach described there and consider the reliability of resources like devices (hardware) and execution environments (software). Therefore, we develop a mathematical model to determine the usage period of the resources depending on the usage profile. We compute the reliabilities of the resources on the basis of their usage period. This extends user orientation of software reliability towards system reliability. The consideration of the usage period of a resource requires a mathematical model to determine the execution time of a service. Based on parametric contracts, we develop two approaches to compute the execution time of a service. The first approach makes use of the properties of Markov chains and yields the expected (or average) execution time of a service. The second approach is an extension of parametric performance contracts [37] which describe the execution time of a service in form of a probability density function. We overcome the limits of the approach described there and give a mathematical model to determine the execution time of a loop based on the discrete Fourier transform. Furthermore, we describe how parametric performance contracts can be applied using regular expressions. Furthermore, both computational models are modified to deal with the usage periods of the system resources. The computation of the resource reliability based on the usage period is discussed as well. We use a component-based webserver recently developed in the context of the Palladio project [34] to evaluate some of the predictions made by our model.},
  author = {Happe, Jens},
  school = {University of Oldenburg},
  title = {{R}eliability {P}rediction of {C}omponent-{B}ased {S}oftware {A}rchitectures},
  url = {},
  year = {2004}