4 research outputs found
An Analytical Model of Hardware Transactional Memory
This paper investigates the problem of deriving a white box performance model of Hardware Transactional Memory (HTM) systems. The proposed model targets TSX, a popular implementation of HTM integrated in Intel processors starting with the Haswell family in 2013. An inherent difficulty with building white-box models of commercially available HTM systems is that their internals are either vaguely documented or undisclosed by their manufacturers. We tackle this challenge by designing a set of experiments that allow us to shed lights on the internal mechanisms used in TSX to manage conflicts among transactions and to track their readsets and writesets. We exploit the information inferred from this experimental study to build an analytical model of TSX focused on capturing the impact on performance of two key mechanisms: the concurrency control scheme and the management of transactional meta-data in the processor's caches. We validate the proposed model by means of an extensive experimental study encompassing a broad range of workloads executed on a real system
ESTIMA: Extrapolating ScalabiliTy of In-Memory Applications
This paper presents ESTIMA, an easy-to-use tool for extrapolating the scalability of in-memory applications. ESTIMA is designed to perform a simple, yet important task: given the performance of an application on a small machine with a handful of cores, ESTIMA extrapolates its scalability to a larger machine with more cores, while requiring minimum input from the user. The key idea underlying ESTIMA is the use of stalled cycles (e.g. cycles that the processor spends waiting for various events, such as cache misses or waiting on a lock). ESTIMA measures stalled cycles on a few cores and extrapolates them to more cores, estimating the amount of waiting in the system. ESTIMA can be effectively used to predict the scalability of in-memory applications. For instance, using measurements of memcached and SQLite on a desktop machine, we obtain accurate predictions of their scalability on a server. Our extensive evaluation on a large number of in-memory benchmarks shows that ESTIMA has generally low prediction errors
Performance Optimization Strategies for Transactional Memory Applications
This thesis presents tools for Transactional Memory (TM) applications that cover multiple TM systems (Software, Hardware, and hybrid TM) and use information of all different layers of the TM software stack. Therefore, this thesis addresses a number of challenges to extract static information, information about the run time behavior, and expert-level knowledge to develop these new methods and strategies for the optimization of TM applications
Methodology for designing simulators of computer architecture and organization
Π£ ΠΎΠ²ΠΎΠΌ ΡΠ°Π΄Ρ ΡΠ΅ ΡΠ°Π·ΠΌΠ°ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΡΠΊΠΈ ΠΏΡΠΈΡΡΡΠΏ Π΄ΠΈΠ·Π°ΡΠ½Ρ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡΠ° ΠΈΠ·
ΠΎΠ±Π»Π°ΡΡΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ΅ ΡΠ°ΡΡΠ½Π°ΡΠ° ΠΊΠΎΡΠΈ ΡΡΠ΅Π±Π° Π΄Π° ΠΎΠΌΠΎΠ³ΡΡΠΈ ΡΠ°Π·Π²ΠΎΡ
ΡΠΈΠΌΡΠ»Π°ΡΠΎΡΠ° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½ΠΈΡ
ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΡΠ½ΠΎΠ³ Π½ΠΈΠ²ΠΎΠ° ΡΠ»ΠΎΠΆΠ΅Π½ΠΎΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΈΡ
Π·Π° ΡΠ°Π΄
Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠΌ ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅ΡΡ. ΠΠ° Π±ΠΈ ΡΠ΅ ΠΎΠΌΠΎΠ³ΡΡΠΈΠΎ ΡΠΎΡΠΌΠΈΡΠ°ΡΠ΅
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΠ΅ΡΠΊΡ ΡΠ°Π΄Π° ΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·Π°Π½ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π°ΡΡΠ°Π²Π΅ Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅
ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ΅ ΡΠ°ΡΡΠ½Π°ΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΠΌ ΡΡΡΠ΄ΠΈΡΠ°ΠΌΠ°, ΠΊΠ°ΠΎ ΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄ ΠΎΠ±Π»Π°ΡΡΠΈ
ΠΏΡΠΎΡΠ΅ΠΊΡΠΎΠ²Π°ΡΠ° ΡΠΈΠΌΡΠ»Π°ΡΠΎΡΠ° Π³Π΄Π΅ ΡΠ΅ ΠΏΠΎΡΠ΅Π±Π°Π½ Π°ΠΊΡΠ΅Π½Π°Ρ Π±ΠΈΠΎ ΡΡΠ°Π²ΡΠ΅Π½ Π½Π° ΠΎΠ±Π»Π°ΡΡΠΈ
ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠ³ ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΎΠ³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ° ΠΊΠΎΡΠ΅ ΡΡΡΠ΄Π΅Π½ΡΠΈ ΡΡΠ΅Π±Π° Π΄Π° ΠΏΠΎΠ·Π½Π°ΡΡ ΠΊΠ°ΠΎ
Π±ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° ΡΠ°Π·Π²ΠΈΡΡ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡΠ΅ ΠΊΠΎΡΠΈ ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π°ΡΡ ΡΠ°Π΄ Ρ ΡΠ°ΠΊΠ²ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅ΡΡ. ΠΠ°
ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π΅ Π΅Π²Π°Π»ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡΠ° ΠΊΠΎΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ Ρ Π½Π°ΡΡΠ°Π²ΠΈ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ΅ ΡΠ°ΡΡΠ½Π°ΡΠ° Π° ΠΊΠΎΡΠΈ ΠΈΠΌΠ°ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠ² ΠΈΠ·Π²ΠΎΡΠ½ΠΈ ΠΊΠΎΠ΄
ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠ΅ ΡΠ΅ΡΠ΅ΡΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ Π·Π°ΡΠ½ΠΈΠ²Π° Π½Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡ ΡΠ»ΠΎΡΠ΅Π²ΠΈΡΠ΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΊΠΎΠ΄
ΠΊΠΎΡΠ΅ ΡΠ΅ ΡΠ²Π°ΠΊΠΈ ΡΠ»ΠΎΡ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ°Π½ Π·Π° Π΄ΡΡΠ³ΠΈ Π²ΠΈΠ΄ ΠΎΠ±ΡΠ°Π΄Π΅ ΠΈ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ΅. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ
ΡΠ΅ΡΠ΅ΡΠ΅ ΡΠ΅ ΡΠ°ΡΡΠΎΡΠΈ ΠΈΠ· ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° ΠΏΠ΅Ρ ΡΠ»ΠΎΡΠ΅Π²Π°: Π»ΠΎΠ³ΠΈΡΠΊΠΎΠ³, ΠΈΠ·Π²ΡΡΠ½ΠΎΠ³,
ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΎΠ½ΠΎΠ³, ΡΠΈΠΌΡΠ»Π°ΡΠΈΠΎΠ½ΠΎΠ³, ΠΈ ΡΠ»ΠΎΡΠ° ΡΠΈΠ·ΠΈΠΊΠ΅. ΠΠ΅ΡΠ°ΡΠΈ Π²Π΅Π·Π°Π½ΠΈ Π·Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅ ΠΈ
ΠΎΠ±ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ΅Ρ
Π½ΠΈΠΊΠ° ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ ΠΎΠ²ΠΈΡ
ΡΠ»ΠΎΡΠ΅Π²Π° ΡΡ ΠΏΡΠΈΠΊΠ°Π·Π°Π½ΠΈ Ρ
ΡΠ°Π΄Ρ. ΠΠ° ΡΠ²Π°ΠΊΠΈ ΡΠ»ΠΎΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎΠ³ ΡΠ΅ΡΠ΅ΡΠ° ΡΠ΅ Π΄Π°Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» ΠΏΡΠΎΡΠ΅Π½Π΅
Π²ΡΠ΅ΠΌΠ΅Π½Π° ΠΈΠ·Π²ΡΡΠ°Π²Π°ΡΠ° ΡΠΈΠΌΡΠ»Π°ΡΠΈΡΠ΅ Ρ Π·Π°Π²ΠΈΡΠ½ΠΎΡΡΠΈ ΠΎΠ΄ ΡΠ»Π°Π·Π½ΠΈΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠ° ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ
ΡΠ°Π΄Π° Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠΌ ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅ΡΡ. Π¦Π΅Π½ΡΡΠ°Π»Π½ΠΈ Π΄Π΅ΠΎ ΡΠ°Π΄Π° ΠΎΠΏΠΈΡΡΡΠ΅
ΡΠΈΠΌΡΠ»Π°ΡΠΎΡ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΠΈΡ
Π΄ΠΎΠ³Π°ΡΠ°ΡΠ° ΠΎΠΏΡΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅ ΡΠ°Π·Π²ΠΈΡΠ΅Π½ ΠΏΡΠ΅ΠΌΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΎΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΠΈ ΠΊΠ°ΠΎ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ΅ ΡΠ°ΡΡΠ½Π°ΡΠ° ΠΊΠΎΡΠΈ ΡΠ΅
ΡΠΏΠΎΡΠΎΠ±Π°Π½ Π·Π° ΡΠ°Π΄ Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΠΌ ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅ΡΡ. ΠΠΏΠΈΡ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡΠ° ΠΈ
ΡΠ΅Π³ΠΎΠ²ΠΈΡ
Π΄Π΅Π»ΠΎΠ²Π° ΡΠ΅ Π΄Π°Ρ ΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΠ° Π΄Π΅ΡΠ°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ Π³Π΄Π΅ ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ΅Π½ΠΈ
ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅, ΠΊΠ°ΠΎ ΠΈ ΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΠ°
ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° Π³Π΄Π΅ ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΡΠ½Π΅ ΡΠΈΡΡΠ°ΡΠΈΡΠ΅ Ρ ΠΊΠΎΡΠΈΠΌΠ° ΡΠ΅ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡ
ΠΌΠΎΠΆΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ. ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡΠ° ΠΈ ΠΏΡΠ°ΡΠ΅ΡΠΈΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°
ΡΠ°Π·Π²ΠΈΡΠ΅Π½Π΅ ΡΡ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΡΡΠΊΠ΅ Π²Π΅ΠΆΠ±Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ΠΊΡΠΈ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎ ΠΈ
Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅, ΠΊΠΎΡΠ΅ ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ΅Π½Π΅ Ρ Π½Π°ΡΡΠ°Π²ΠΊΡ ΡΠ°Π΄Π° ΠΊΠ°ΠΎ ΠΈ
Π΅Π²Π°Π»ΡΠ°ΡΠΈΡΠ° ΠΏΠΎΡΡΠΈΠ³Π½ΡΡΠΈΡ
ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° Ρ Π½Π°ΡΡΠ°Π²ΠΈ. ΠΠΎΡΠ΅Π΄ ΠΎΠ²Π΅ Π΅Π²Π°Π»ΡΠ°ΡΠΈΡΠ΅ Π½Π° ΠΊΡΠ°ΡΡ ΡΠ°Π΄Π° ΡΠ΅
ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ΅Π½Π° ΠΈ Π΅Π²Π°Π»ΡΠ°ΡΠΈΡΠ° ΡΠΈΠΌΡΠ»Π°ΡΠΎΡΠ° ΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΠ° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈΡ
ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ° ΠΈ ΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΠ° Π°Π½Π°Π»ΠΈΡΠΈΡΠΊΠΎΠ³ ΠΌΠΎΠ΄Π΅Π»Π° ΠΊΠ°ΠΎ Π±ΠΈ ΡΠ΅ ΡΡΠ²ΡΠ΄ΠΈΠ»ΠΎ Ρ ΠΊΠΎΡΠΈΠΌ
ΡΠ»ΡΡΠ°ΡΠ΅Π²ΠΈΠΌΠ° ΠΈ Ρ ΠΊΠΎΠΌ ΠΎΠ±ΠΈΠΌΡ ΡΠ΅ ΠΌΠΎΠ³Ρ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΡΠΈΠΌΡΠ»Π°ΡΠΎΡΠΈ ΡΠ°Π·Π²ΠΈΡΠ΅Π½ΠΈ ΡΡ
ΠΎΠ΄Π½ΠΎ
ΠΎΠΏΠΈΡΠ°Π½ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΠΈ..