João Martins (2013)

MSc Student

in

MSc dissertation: Lightweight Monitoring of Transactional Memory Programs  
Period: September 2012 — September 2013
Grade: 17/20 points.
Work context: Synergy-VM project (funded by the National Science Foundation, PI: Prof. João Lourenço)

Abstract: Concurrent programs can take advantage of multi-core architectures. However, writing correct and e cient concurrent programs remains a challenging task. Transactional memory eases the task by providing a high-level programming model for concurrent programming. Still, tools for analyzing and debugging transactional memory programs are very scarce. Tools have been developed for debugging support for transactional memory that rely on logging events (start, commit, etc.) to generate a view of the execution. During the execution, these events are writen to a log, associating a CPU-core dependent timestamp to each event. These clocks are not synchronized and so the events recorded in the log may not respect the real order and appear inconsistent, e.g., the commit event of a transaction may be recorded as if it happened before the corresponding start. We present a strategy for ordering the events in a trace log in order to reporduce a consistent view of the events recorded in the log.

Keywords: transactional memory, monitoring, debugging, clock synchronization, event ordering