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 contribution


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 case-studies shows significant performance gains.
Original languageEnglish
Title of host publicationProceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems
Place of PublicationNew York, NY, USA
Number of pages15
ISBN (Print)978-1-4503-2835-7
Publication statusPublished - Mar 2015

Publication series

NameASPLOS '15


Dive into the research topics of 'iThreads: A Threading Library for Parallel Incremental Computation'. Together they form a unique fingerprint.

Cite this