A binary instrumentation tool suite for capturing and compressing traces for multithreaded software
Date of Award
Master of Science in Engineering (MSE)
Electrical and Computer Engineering
Rhonda Kay Gaede
B. Earl Wells
Threads (Computer programs), Debugging in computer science., Embedded computer systems--Design and construction.
Program execution traces are widely used in program debugging, workload characterization, performance analysis, and trace-driven architecture simulation. A number of research efforts have been dedicated to tracing in single-threaded software. Multi-cores that integrate a number of processor cores on a single chip and execute multithreaded software have become the standard in embedded, desktop, and server computer systems. In this research we develop and evaluate a suite of software tools for capturing and compressing traces for multithreaded software called mTrace, which we believe is the first set available. mTrace incorporates the following tools: (i) mcfTrace that captures and compresses control-flow traces, (ii) mlsTrace that captures and compresses memory referencing traces, (iii) mcfTRaptor that captures control-flow traces and compresses them using our TRaptor branch prediction mechanism, and (iv) mlvCFiat that captures load value traces and compresses them using our CFiat cache mechanism. The thesis describes the tools' functionality and verification and evaluates their effectiveness by considering trace sizes, execution times, and prediction rates of cache and branch prediction structures for a selected set of benchmarks.
Myers, Albert R., "A binary instrumentation tool suite for capturing and compressing traces for multithreaded software" (2014). Theses. 78.