Eliminating Redundant Computation and Exposing Parallelism through Data-Triggered Threads

Unlike threads in parallel programs created by conventional programming, data-triggered threads are initiated when a memory value is changed. By expressing computation through these threads, computation is executed only when the data changes and is skipped whenever the data does not change. The authors' model achieves performance speedups of up to 5.9x, averaging 45.6 percent, with SPEC2000 benchmarks.

[1]  Mikko H. Lipasti,et al.  On the value locality of store instructions , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[2]  Dean M. Tullsen,et al.  Data-triggered threads: Eliminating redundant computation , 2011, 2011 IEEE 17th International Symposium on High Performance Computer Architecture.

[3]  Mikko H. Lipasti,et al.  Silent stores for free , 2000, MICRO 33.

[4]  Larry Rudolph,et al.  Accelerating multi-media processing by implementing memoing in multiplication and division units , 1998, ASPLOS VIII.

[5]  DONALD MICHIE,et al.  “Memo” Functions and Machine Learning , 1968, Nature.