Transactional WaveCache: Towards Speculative and Out-of-Order DataFlow Execution of Memory Operations
Leandro A. J. Marzulo, Felipe M. G. Fran\c{c}a, V\'itor Santos, Costa

TL;DR
The paper introduces the Transaction WaveCache, a memory ordering mechanism for DataFlow architectures that enables speculative, out-of-order execution of memory operations within waves, improving performance on certain benchmarks.
Contribution
It proposes a novel transactional memory-inspired memory ordering mechanism for DataFlow architectures, allowing speculative execution of memory operations across waves.
Findings
Achieved up to 90% speedup on memory-light benchmarks.
Observed 24-33.1% speedups on memory-intensive applications.
Encountered up to 16% slowdown when memory bandwidth was a bottleneck.
Abstract
The WaveScalar is the first DataFlow Architecture that can efficiently provide the sequential memory semantics required by imperative languages. This work presents an alternative memory ordering mechanism for this architecture, the Transaction WaveCache. Our mechanism maintains the execution order of memory operations within blocks of code, called Waves, but adds the ability to speculatively execute, out-of-order, operations from different waves. This ordering mechanism is inspired by progress in supporting Transactional Memories. Waves are considered as atomic regions and executed as nested transactions. If a wave has finished the execution of all its memory operations, as soon as the previous waves are committed, it can be committed. If a hazard is detected in a speculative Wave, all the following Waves (children) are aborted and re-executed. We evaluate the WaveCache on a set…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Advanced Data Storage Technologies · Parallel Computing and Optimization Techniques
