INSPECTOR: Data Provenance Using Intel Processor Trace (PT)

Jorg Thalheim, Pramod Bhatotia, Christof Fetzer

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

27 Scopus citations

Abstract

Data provenance strives for explaining how thecomputation was performed by recording a trace of the execution. The provenance trace is useful across a wide-range of workflowsto improve the dependability, security, and efficiency of softwaresystems. In this paper, we present Inspector, a POSIX-compliantdata provenance library for shared-memory multithreadedprograms. The Inspector library is completely transparent andeasy to use: it can be used as a replacement for the pthreadslibrary by a simple exchange of libraries linked, without evenrecompiling the application code. To achieve this result, we present a parallel provenancealgorithm that records control, data, and schedule dependenciesusing a Concurrent Provenance Graph (CPG). We implementedour algorithm to operate at the compiled binary code levelby leveraging a combination of OS-specific mechanisms, andrecently released Intel PT ISA extensions as part of the Broadwellmicro-architecture. Our evaluation on a multicore platform usingapplications from multithreaded benchmarks suites (PARSECand Phoenix) shows reasonable provenance overheads for amajority of applications. Lastly, we briefly describe three case-studies where thegeneric interface exported by Inspector is being used toimprove the dependability, security, and efficiency of systems. The Inspector library is publicly available for further use in awide range of other provenance workflows.

Original languageEnglish
Title of host publicationProceedings - 2016 IEEE 36th International Conference on Distributed Computing Systems, ICDCS 2016
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages25-34
Number of pages10
ISBN (Electronic)9781509014828
DOIs
StatePublished - 8 Aug 2016
Event36th IEEE International Conference on Distributed Computing Systems, ICDCS 2016 - Nara, Japan
Duration: 27 Jun 201630 Jun 2016

Publication series

NameProceedings - International Conference on Distributed Computing Systems
Volume2016-August

Conference

Conference36th IEEE International Conference on Distributed Computing Systems, ICDCS 2016
Country/TerritoryJapan
CityNara
Period27/06/1630/06/16

Keywords

  • Data provenance
  • Debugging multi-threaded programs
  • Intel Processor Trace (PT)
  • Operating systems
  • Parallel programming

Fingerprint

Dive into the research topics of 'INSPECTOR: Data Provenance Using Intel Processor Trace (PT)'. Together they form a unique fingerprint.

Cite this