Master Thesis MSTR-2020-82

BibliographyTruong, Kim Trong: Extending the Palladio Meta-Model to Support Memory Hierarchy.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis No. 82 (2020).
117 pages, english.
Abstract

Poor software architecture design decisions can lead to software performance issues. Often these performance issues are detected when code is already written. Therefore, the architecture must be redesigned and code must be reimplemented, which is costly. With a model-based performance prediction approach, software architects can detect potential performance bottlenecks at an early stage of the software development lifecycle. One such approach is the Palladio approach. The Palladio approach offers tools that use model-based simulations to predict performance metrics such as response time. However, Palladio can not give accurate predictions for multicore systems because it currently neglects the scaling limitations of multicore systems. One such limitation is the memory hierarchy and its bandwidths, which is a performance bottleneck for parallelized applications. In this thesis, we extended Palladio to support the modeling and simulation of the memory hierarchy (e.g., the influence of L1-, L2-, L3-cache, DRAM, and their bandwidths). To identify all necessary elements that affect the prediction accuracy, we used an experiment-based approach. We stepwise integrated and evaluated influencing factors related to memory hierarchy and its bandwidth until we achieve a good response time accuracy. To evaluate the prediction accuracy, we use the proposed extension to model and simulate a parallelized matrix multiplication implementation in Palladio. The simulated response time showed a mean prediction error in a range of 6.5% to 50.3% for our final data transfer model. The results indicate that by including the memory hierarchy and its bandwidth, the response time prediction is more accurate for cases in which the connection to the main memory is saturated.

Falsche Architekturentscheidungen können zu Software-Performance-Probleme führen. Oft werden diese Performance-Probleme erst entdeckt, wenn bereits Code geschrieben wurde. Es entstehen dadurch neue Kosten, weil die Architektur und der Code neu angepasst werden müssen. Mit einem modellbasierten Ansatz können Softwarearchitekten Leistungsengpässe bereits in einer frühen Phase des Software-Lebenszyklus entdecken. Ein solcher Ansatz ist Palladio. Der Palladio-Ansatz bietet Werkzeuge an, die modellbasierte Simulationen nutzen, um Vorhersagen über Performance-Metriken wie die Antwortzeit zu treffen. Allerdings kann Palladio keine genauen Vorhersagen für Multiprozessorsysteme treffen, da Palladio derzeit die Limitationen der Skalierbarkeit von Multiprozessorsystemen nicht berücksichtigt. Eine der Limitationen ist die Speicherhierarchie mit ihren Bandbreiten, die ein Leistungsengpass für parallelisierte Anwendungen ist. In dieser Arbeit wird Palladio erweitert, um die Modellierung und Simulierung der Speicherhierarchie (z.b. der Einfluss von L1-, L2-, L3-Cache, DRAM und ihren Bandbreiten) zu ermöglichen. Um alle nötigen Elemente, die einen Einfluss auf die Genauigkeit der Performance-Vorhersage haben, zu identifizieren, wird ein experimentbasierter Ansatz verwendet. Dabei werden schrittweise neue Einflussfaktoren, die der Speicherhierarchie zugehörig sind, integriert und ausgewertet. Um die Genauigkeit der Performance-Vorhersage auszuwerten, wird in Palladio, mithilfe der entwickelten Erweiterungen, eine parallelisierte Matrixmultiplikation modelliert und simuliert. Das finale Datentransfermodel hat für die vorhergesagte Antwortzeit einen durchschnittlichen Vorhersagefehler, der zwischen 6.5% und 50.3% liegt. Die Ergebnisse weisen darauf hin, dass durch das Hinzufügen der Speicherhierarchie mit ihren Bandbreiten die Vorhersage für die Antwortzeit bei fällen, in denen die Verbindung zum Arbeitsspeicher ausgelastet ist, genauer geworden ist.

Department(s)University of Stuttgart, Institute of Software Technology, Software Quality and Architecture
Superviser(s)Becker, Prof. Steffen; Frank, Markus
Entry dateMay 14, 2021
   Publ. Computer Science