Back to Search Start Over

Programming, debugging, profiling and optimizing transactional memory programs

Authors :
Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
Valero Cortés, Mateo
Osman, Unsal
Hasanov Zyulkyarov, Ferard
Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
Valero Cortés, Mateo
Osman, Unsal
Hasanov Zyulkyarov, Ferard
Source :
TDX (Tesis Doctorals en Xarxa)
Publication Year :
2011

Abstract

Transactional memory (TM) is a new optimistic synchronization technique which has the potential of making shared memory parallel programming easier compared to locks without giving up from the performance. This thesis explores four aspects in the research of transactional memory. First, it studies how programming with TM compares to locks. During the course of work, it develops the first real transactional application ¿ AtomicQuake. AtomicQuake is adapted from the parallel version of the Quake game server by replacing all lock-based synchronization with atomic blocks. Findings suggest that programming with TM is indeed easier than locks. However the performance of current software TM systems falls behind the efficiently implemented lock-based versions of the same program. Also, the same findings report that the proposed language level extensions are not sufficient for developing robust production level software and that the existing development tools such as compilers, debuggers, and profilers lack support for developing transactional application. Second, this thesis introduces new set of debugging principles and abstractions. These new debugging principles and abstractions enable debugging synchronization errors which manifest at coarse atomic block level, wrong code inside atomic blocks, and also performance errors related to the implementation of the atomic block. The new debugging principles distinguish between debugging at the language level constructs such as atomic blocks and debugging the atomic blocks based on how they are implemented whether TM or lock inference. These ideas are demonstrated by implementing a debugger extension for WinDbg and the ahead-of-time C# to X86 Bartok-STM compiler. Third, this thesis investigates the type of performance bottlenecks in TM applications and introduces new profiling techniques to find and understand these bottlenecks. The new profiling techniques provide in-depth and comprehensive information about the wasted work cau<br />Postprint (published version)

Details

Database :
OAIster
Journal :
TDX (Tesis Doctorals en Xarxa)
Notes :
230 p., application/pdf, English
Publication Type :
Electronic Resource
Accession number :
edsoai.ocn969840047
Document Type :
Electronic Resource