iThreads: A threading library for parallel incremental computation

Pramod Bhatotia, Pedro Fonseca, Umut A. Acar, Björn B. Brandenburg, Rodrigo Rodrigues

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

14 Scopus citations

Abstract

Incremental computation strives for efficient successive runs of applications by re-executing only those parts of the computation that are affected by a given input change instead of recomputing everything from scratch. To realize these benefits automatically, we describe iThreads, a threading library for parallel incremental computation. iThreads supports unmodified shared-memory multithreaded programs: it can be used as a replacement for pthreads by a simple exchange of dynamically linked libraries, without even recompiling the application code. To enable such an interface, we designed algorithms and an implementation to operate at the compiled binary code level by leveraging MMU-assisted memory access tracking and process-based thread isolation. Our evaluation on a multicore platform using applications from the PARSEC and Phoenix benchmarks and two casestudies shows significant performance gains.

Original languageEnglish
Title of host publicationASPLOS 2015 - 20th International Conference on Architectural Support for Programming Languages and Operating Systems
PublisherAssociation for Computing Machinery
Pages645-659
Number of pages15
ISBN (Electronic)9781450328357
DOIs
StatePublished - 14 Mar 2015
Externally publishedYes
Event20th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2015 - Istanbul, Turkey
Duration: 14 Mar 201518 Mar 2015

Publication series

NameInternational Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
Volume2015-January

Conference

Conference20th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2015
Country/TerritoryTurkey
CityIstanbul
Period14/03/1518/03/15

Keywords

  • Concurrent dynamic dependence graph (CDDG)
  • Incremental computation
  • Memoization
  • Release consistency (RC) memory model
  • Self-adjusting computation
  • Shared-memory multithreading

Fingerprint

Dive into the research topics of 'iThreads: A threading library for parallel incremental computation'. Together they form a unique fingerprint.

Cite this