We present a technique for increasing the throughput of stream processing architectures by removing the bottlenecks caused by loop structures. We implement loops as self-timed pipelined rings that can operate on multiple data sets concurrently. Our contribution includes a transformation algorithm which takes as input a high-level program and gives as output the structure of an optimized pipeline ring. Our technique handles nested loops and is further enhanced by loop unrolling. Simulations run on benchmark examples show a 1.3 to 4.9times speedup without unrolling and a 2.6 to 9.7times speedup with twofold loop unrolling
No takes yet. Share an insight, caveat, or question.
Gill et al. (2006) studied this question.
Synapse has enriched 5 related papers. Consider them for comparative context: