Improving Accuracy of Software Performance Models on Multicore Platforms with Shared Caches
Vylepšení přesnosti výkonnostních modelů software na vícejádrových platformách se sdílenými cache
dissertation thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/45218Identifiers
Study Information System: 44601
CU Catalogue: 990015583050106986
Collections
- Kvalifikační práce [11987]
Author
Advisor
Referee
Eeckhout, Lieven
Black-Schaffer, David
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Distributed and Dependable Systems
Date of defense
25. 9. 2012
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Pass
Keywords (Czech)
výkonnostní modely, sdílení prostředků, modely cacheKeywords (English)
performance models, resource sharing, cache modelsKontextem této práce jsou výkonnostní modely softwarových systémů, které slouží pro predikci výkonnosti systému ve fázi jeho návrhu. K tomuto účelu potřebují výkonnostní modely popsat explicitní interakce softwarových komponent, ze kterých je systém složený, a využití prostředků během primitivních akcí vykonávaných komponentami. Na současných hardwarových platformách ale softwarové komponenty interagují také skrze implicitní sdílení prostředků jako jsou procesorové cache, což ovlivňuje výkon prováděných primitivních akcí. Implicitní sdílení prostředků často není zahrnuto ve výkonnostních modelech, což negativně ovlivňuje přesnost jejich predikcí. V této práci představujeme dvě metody pro zahrnutí modelů sdílení prostředků do výkonnostních modelů. Dále navrhujeme zjednodušený model sdílení prostředků založený na lineární regresi, a detailní model pro predikci změn výkonu v důsledku sdílení cache. Model sdílení cache je ověřen na reálném procesoru a jeho návrhu předchází množství experimentů, které zkoumají výkonnostní aspekty sdílení cache. Práce dále navrhuje metodu pro robustní ověřování predikcí výkonnostních modelů pomocí mnoha automaticky generovaných softwarových aplikací.
The context of this work are performance models of software systems, which are used for predicting performance of a system in its design phase. For this purpose, performance models capture the explicit interactions of software components that make up the system, and the resource demands of primitive actions performed by the components. On contemporary hardware platforms, the software components however interact also through implicit sharing of numerous resources such as processor caches, which influence the performance of the primitive actions. Implicit resource sharing is often omitted in performance models, which affects their prediction accuracy. In this work we introduce two methods for including resource sharing models in performance models. Next, we propose an approximate resource sharing model based on linear regression, and a detailed model for predicting performance impact of cache sharing. The cache model is validated on a real processor and its design is preceded by extensive experiments which investigate the performance aspects of cache sharing. In addition, we introduce a method for robust validation of performance models using many automatically generated applications.
