A concurrent dynamic analysis framework for multicore hardware

Jungwoo Ha*, Matthew Arnold, Stephen M. Blackburn, Kathryn S. McKinley

*Corresponding author for this work

    Research output: Contribution to journalArticlepeer-review

    13 Citations (Scopus)

    Abstract

    Software has spent the bounty of Moore's law by solving harder problems and exploiting abstractions, such as highlevel languages, virtual machine technology, binary rewriting, and dynamic analysis. Abstractions make programmers more productive and programs more portable, but usually slow them down. Since Moore's law is now delivering multiple cores instead of faster processors, future systems must either bear a relatively higher cost for abstractions or use some cores to help tolerate abstraction costs. This paper presents the design, implementation, and evaluation of a novel concurrent, configurable dynamic analysis framework that efficiently utilizes multicore cache architectures. It introduces Cache-friendly Asymmetric Buffering (CAB), a lock-free ring-buffer that implements efficient communication between application and analysis threads. We guide the design and implementation of our framework with a model of dynamic analysis overheads. The framework implements exhaustive and sampling event processing and is analysis-neutral. We evaluate the framework with five popular and diverse analyses, and show performance improvements even for lightweight, low-overhead analyses. Efficient inter-core communication is central to high performance parallel systems and we believe the CAB design gives insight into the subtleties and difficulties of attaining it for dynamic analysis and other parallel software.

    Original languageEnglish
    Pages (from-to)155-174
    Number of pages20
    JournalACM SIGPLAN Notices
    Volume44
    Issue number10
    DOIs
    Publication statusPublished - Oct 2009

    Fingerprint

    Dive into the research topics of 'A concurrent dynamic analysis framework for multicore hardware'. Together they form a unique fingerprint.

    Cite this