Studying Multi-threaded Behavior with TSViz

Matheus Nunes, Harjeet Lalh, Ashaya Sharma, Augustine Wong, Svetozar Miučin, Alexandra Fedorova, Ivan Beschastnikh · 2017

Modern high-performing systems make extensive use of multiple CPU cores. These multi-threaded systems are complex to design, build, and understand. Debugging performance of these multi-threaded systems is especially challenging. This requires the developer to understand the relative execution of dozens of threads and their inter-dependencies, including data-sharing and synchronization behaviors. We describe TSViz, a visualization tool to help developers study and understand the activity of complex multi-threaded systems. TSviz depicts the partial order of concurrent events in a time-space diagram, and simultaneously scales this diagram according to the physical clock timestamps that tag each event. A developer can then interact with the visualization in several ways, for example by searching for events of interest, studying the distribution of critical sections across threads and zooming the diagram in and out. We overview TSviz design and describe our experience with using it to study a high-performance multi-threaded key-value store based on MongoDB. A video demo of TSViz is online: https://youtu.be/LpuiOZ3PJCk.

Read the paper · More papers on PaperTik