Bounded Stream Scheduling in Polyhedral OpenStream

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We consider OpenStream, a streaming dataflow language which supports the specification of concurrent tasks that communicate through streams. Streams, in the spirit of classical process networks, have no restrictions on their size. In order to deploy an OpenStream program on a chip, however, the size of the streams has to be bounded. This constricts the range of runtime behavior by restricting the schedules to a subset of parallel executions where the required memory never surpasses the available resources. In this paper we exploit an approach that, conservatively, certifies that augmenting the intrinsic dataflow dependencies of the program with stream bounding constraints does not deadlock the program: it cannot show the existence of a deadlock but can give a certificate for the absence thereof. The aim of this work is to study the limitations of this stream bounding strategy and to demonstrate how it can currently be used to determine if an OpenStream program can execute under the particular memory constraints of a given architecture.

Bibliographical metadata

Original languageEnglish
Title of host publicationIMPACT 2020 - 10th International Workshop on Polyhedral Compilation Techniques
Place of PublicationBologna, Italy
Publication statusPublished - 22 Jan 2020