TY - GEN
T1 - iThreads
T2 - 20th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2015
AU - Bhatotia, Pramod
AU - Fonseca, Pedro
AU - Acar, Umut A.
AU - Brandenburg, Björn B.
AU - Rodrigues, Rodrigo
N1 - Publisher Copyright:
Copyright © 2015 ACM.
PY - 2015/3/14
Y1 - 2015/3/14
N2 - 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.
AB - 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.
KW - Concurrent dynamic dependence graph (CDDG)
KW - Incremental computation
KW - Memoization
KW - Release consistency (RC) memory model
KW - Self-adjusting computation
KW - Shared-memory multithreading
UR - http://www.scopus.com/inward/record.url?scp=84939122965&partnerID=8YFLogxK
U2 - 10.1145/2694344.2694371
DO - 10.1145/2694344.2694371
M3 - Conference contribution
AN - SCOPUS:84939122965
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 645
EP - 659
BT - ASPLOS 2015 - 20th International Conference on Architectural Support for Programming Languages and Operating Systems
PB - Association for Computing Machinery
Y2 - 14 March 2015 through 18 March 2015
ER -