Sciweavers

HIPEAC
2010
Springer

Buffer Sizing for Self-timed Stream Programs on Heterogeneous Distributed Memory Multiprocessors

13 years 9 months ago
Buffer Sizing for Self-timed Stream Programs on Heterogeneous Distributed Memory Multiprocessors
Abstract. Stream programming is a promising way to expose concurrency to the compiler. A stream program is built from kernels that communicate only via point-to-point streams. The stream compiler statically allocates these kernels to processors, applying blocking, fission and fusion transformations. The compiler determines the sizes of the communication buffers, which affects performance since local memories can be small. In this paper, we propose a feedback-directed algorithm that determines the size of each communication buffer, based on i) the stream program that has been mapped onto processors, ii) feedback from an earlier execution, and iii) the memory constraints. The algorithm exposes a trade-off between throughput and latency. It is general, in that it applies to stream programs with unstructured stream graphs, and it supports variable execution times and communication rates. We show results for the StreamIt benchmarks and random graphs. For the StreamIt benchmarks, throughput ...
Paul M. Carpenter, Alex Ramírez, Eduard Ayg
Added 11 Feb 2011
Updated 11 Feb 2011
Type Journal
Year 2010
Where HIPEAC
Authors Paul M. Carpenter, Alex Ramírez, Eduard Ayguadé
Comments (0)