Date of Award


Document Type


Degree Name

Master of Science in Engineering (MSE)


Electrical and Computer Engineering

Committee Chair

Aleksandar Milenković

Committee Member

Rhonda Kay Gaede

Committee Member

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.



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.