Parallelisation of the valgrind dynamic binary instrumentation framework

Daniel Robson*, Peter Strazdins

*Corresponding author for this work

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    7 Citations (Scopus)

    Abstract

    Valgrind is a dynamic binary translation and instrumentation framework. It is suited to analysing memory usage. It is used in memory validation and profiling tools. Currently, Valgrind is restricted to executing a guest with serialised thread scheduling. This results in lost opportunity for performance when analysing highly parallel applications on parallel architectures. We have extended the framework to allow parallel execution of guest threads. Code caching mechanisms have been made thread-safe, by delaying flushing of translated code, while preserving critical areas of performance. Three methods which preserve atomicity of instructions are implemented and evaluated with respect to speed, reliability and instrumentation effects. Serialising both store and atomic operations preserves atomicity in the strongest sense, but suffers unacceptable performance overhead. Serialising only atomic instructions or utilising host atomic instructions provides speedup in line with native execution. These methods show average slowdowns of only 2.6× and 2.2× over native parallel execution respectively.

    Original languageEnglish
    Title of host publicationProceedings of the 2008 International Symposium on Parallel and Distributed Processing with Applications, ISPA 2008
    Pages113-121
    Number of pages9
    DOIs
    Publication statusPublished - 2008
    Event2008 International Symposium on Parallel and Distributed Processing with Applications, ISPA 2008 - Sydney, NSW, Australia
    Duration: 10 Dec 200812 Dec 2008

    Publication series

    NameProceedings of the 2008 International Symposium on Parallel and Distributed Processing with Applications, ISPA 2008

    Conference

    Conference2008 International Symposium on Parallel and Distributed Processing with Applications, ISPA 2008
    Country/TerritoryAustralia
    CitySydney, NSW
    Period10/12/0812/12/08

    Fingerprint

    Dive into the research topics of 'Parallelisation of the valgrind dynamic binary instrumentation framework'. Together they form a unique fingerprint.

    Cite this