4 research outputs found

    An Analytical Model of Hardware Transactional Memory

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    Π£ ΠΎΠ²ΠΎΠΌ Ρ€Π°Π΄Ρƒ сС Ρ€Π°Π·ΠΌΠ°Ρ‚Ρ€Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΡˆΠΊΠΈ приступ Π΄ΠΈΠ·Π°Ρ˜Π½Ρƒ симулатора ΠΈΠ· области Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π΅ Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ€Π° који Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜ симулатора Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π½ΠΈΡ… систСма ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΡ™Π½ΠΎΠ³ Π½ΠΈΠ²ΠΎΠ° слоТСности способних Π·Π° Ρ€Π°Π΄ Ρƒ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΌ ΠΈ дистрибуираном ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΡƒ. Π”Π° Π±ΠΈ сС ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°ΡšΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π΅ Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ Ρ€Π°Π΄Π° јС ΠΏΡ€ΠΈΠΊΠ°Π·Π°Π½ ΠΏΡ€Π΅Π³Π»Π΅Π΄ наставС Ρƒ области Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π΅ Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ€Π° Π½Π° основним ΡΡ‚ΡƒΠ΄ΠΈΡ˜Π°ΠΌΠ°, ΠΊΠ°ΠΎ ΠΈ ΠΏΡ€Π΅Π³Π»Π΅Π΄ области ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚ΠΎΠ²Π°ΡšΠ° симулатора Π³Π΄Π΅ јС посСбан Π°ΠΊΡ†Π΅Π½Π°Ρ‚ Π±ΠΈΠΎ стављСн Π½Π° области ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠ³ ΠΈ дистрибуираног ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ° којС студСнти Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΠΎΠ·Π½Π°Ρ˜Ρƒ ΠΊΠ°ΠΎ Π±ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° Ρ€Π°Π·Π²ΠΈΡ˜Ρƒ симулаторС који ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π°Ρ˜Ρƒ Ρ€Π°Π΄ Ρƒ Ρ‚Π°ΠΊΠ²ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΡƒ. На основу спровСдСнС Π΅Π²Π°Π»ΡƒΠ°Ρ†ΠΈΡ˜Π΅ симулатора који сС користС Ρƒ настави ΠΈΠ· области Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π΅ Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ€Π° Π° који ΠΈΠΌΠ°Ρ˜Ρƒ располоТив ΠΈΠ·Π²ΠΎΡ€Π½ΠΈ ΠΊΠΎΠ΄ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ јС Ρ€Π΅ΡˆΠ΅ΡšΠ΅ којС сС заснива Π½Π° ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΡƒ ΡΠ»ΠΎΡ˜Π΅Π²ΠΈΡ‚Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΊΠΎΠ΄ којС јС сваки слој ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π°Π½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ Π²ΠΈΠ΄ ΠΎΠ±Ρ€Π°Π΄Π΅ ΠΈ ΠΊΠΎΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Ρ€Π΅ΡˆΠ΅ΡšΠ΅ сС ΡΠ°ΡΡ‚ΠΎΡ˜ΠΈ ΠΈΠ· ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ° ΠΏΠ΅Ρ‚ слојСва: Π»ΠΎΠ³ΠΈΡ‡ΠΊΠΎΠ³, ΠΈΠ·Π²Ρ€ΡˆΠ½ΠΎΠ³, ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΎΠ½ΠΎΠ³, симулационог, ΠΈ слоја Ρ„ΠΈΠ·ΠΈΠΊΠ΅. Π”Π΅Ρ‚Π°Ρ™ΠΈ Π²Π΅Π·Π°Π½ΠΈ Π·Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΈ објашњСња Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° којС сС користС Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ ΠΎΠ²ΠΈΡ… слојСва су ΠΏΡ€ΠΈΠΊΠ°Π·Π°Π½ΠΈ Ρƒ Ρ€Π°Π΄Ρƒ. Π—Π° сваки слој ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎΠ³ Ρ€Π΅ΡˆΠ΅ΡšΠ° јС Π΄Π°Ρ‚ Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» ΠΏΡ€ΠΎΡ†Π΅Π½Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π° ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°ΡšΠ° ΡΠΈΠΌΡƒΠ»Π°Ρ†ΠΈΡ˜Π΅ Ρƒ зависности ΠΎΠ΄ ΡƒΠ»Π°Π·Π½ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ Ρ€Π°Π΄Π° Ρƒ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΌ ΠΈ дистрибуираном ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΡƒ. Π¦Π΅Π½Ρ‚Ρ€Π°Π»Π½ΠΈ Π΄Π΅ΠΎ Ρ€Π°Π΄Π° ΠΎΠΏΠΈΡΡƒΡ˜Π΅ симулатор дискрСтних Π΄ΠΎΠ³Π°Ρ’Π°Ρ˜Π° ΠΎΠΏΡˆΡ‚Π΅ Π½Π°ΠΌΠ΅Π½Π΅ Ρ€Π°Π·Π²ΠΈΡ˜Π΅Π½ ΠΏΡ€Π΅ΠΌΠ° описаној ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜ΠΈ ΠΊΠ°ΠΎ симулатор Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ˜Π΅ Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ€Π° који јС способан Π·Π° Ρ€Π°Π΄ Ρƒ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎΠΌ ΠΈ дистрибуираном ΠΎΠΊΡ€ΡƒΠΆΠ΅ΡšΡƒ. Опис симулатора ΠΈ ΡšΠ΅Π³ΠΎΠ²ΠΈΡ… Π΄Π΅Π»ΠΎΠ²Π° јС Π΄Π°Ρ‚ са ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡˆΡ‚Π° Π΄Π΅Ρ‚Π°Ρ™Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π΅ Π³Π΄Π΅ су прСдстављСни ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ Π½Π° основу ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜Π΅, ΠΊΠ°ΠΎ ΠΈ са ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡˆΡ‚Π° ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ° Π³Π΄Π΅ су описанС карактСристичнС ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π΅ Ρƒ којима сС симулатор ΠΌΠΎΠΆΠ΅ користити. На основу ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π΅ симулатора ΠΈ ΠΏΡ€Π°Ρ‚Π΅Ρ›ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ€Π°Π·Π²ΠΈΡ˜Π΅Π½Π΅ су Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΡ˜ΡΠΊΠ΅ Π²Π΅ΠΆΠ±Π΅ ΠΈ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΡ‚ΠΈ ΠΈΠ· ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΎ ΠΈ дистрибуирано ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅, којС су прСдстављСнС Ρƒ наставку Ρ€Π°Π΄Π° ΠΊΠ°ΠΎ ΠΈ Π΅Π²Π°Π»ΡƒΠ°Ρ†ΠΈΡ˜Π° постигнутих Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° Ρƒ настави. ΠŸΠΎΡ€Π΅Π΄ ΠΎΠ²Π΅ Π΅Π²Π°Π»ΡƒΠ°Ρ†ΠΈΡ˜Π΅ Π½Π° ΠΊΡ€Π°Ρ˜Ρƒ Ρ€Π°Π΄Π° јС прСдстављСна ΠΈ Π΅Π²Π°Π»ΡƒΠ°Ρ†ΠΈΡ˜Π° симулатора са ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡˆΡ‚Π° СкспСримСнталних Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° ΠΈ са ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡˆΡ‚Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡ΠΊΠΎΠ³ ΠΌΠΎΠ΄Π΅Π»Π° ΠΊΠ°ΠΎ Π±ΠΈ сС ΡƒΡ‚Π²Ρ€Π΄ΠΈΠ»ΠΎ Ρƒ којим ΡΠ»ΡƒΡ‡Π°Ρ˜Π΅Π²ΠΈΠΌΠ° ΠΈ Ρƒ ΠΊΠΎΠΌ ΠΎΠ±ΠΈΠΌΡƒ сС ΠΌΠΎΠ³Ρƒ користити симулатори Ρ€Π°Π·Π²ΠΈΡ˜Π΅Π½ΠΈ сходно описаној ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡ˜ΠΈ..
    corecore