Specification and Compilation of Real-Time Stream Processing Applications

S.J. Geuns

Research output: ThesisPhD Thesis - Research UT, graduation UTAcademic

45 Downloads (Pure)

Abstract

This thesis is concerned with the specification, compilation and corresponding temporal analysis of real-time stream processing applications that are executed on embedded multiprocessor systems. An example of such applications are software defined radio applications. These applications typically have real-time requirements in the form of throughput and latency constraints which result from communication with the environment. Modern stream processing applications also often have multiple operation modes and can process multiple streams at different rates. To efficiently utilize these multiprocessor systems, function-level parallelism has to be extracted from these applications by a multiprocessor compiler. The compiler must also derive a corresponding temporal analysis model which is used to verify that real-time constraints are satisfied. This ensures that the implementation is a refinement of the analysis model, meaning the analysis results are an upper bound on the actual temporal behavior. The temporal analysis model must be sufficiently expressive that any application that can be specified can be modeled and also analyzed. In this thesis we present a novel hierarchical programming language and compiler for the specification and compilation of real-time stream processing applications that satisfy the aforementioned requirements. The hierarchical programming language consists of parallel modules in which sequential modules are nested. Sequential modules contain sequential statements which can be for example while-loops. The use of modules enables component based design, thus the independent development and analysis of separate modules. The language also allows for the use of time in algorithms in the form of time-aware statements, e.g. time-out statements. From every specification a corresponding temporal analysis model is derived which is used to verify the real-time requirements automatically. However, the used temporal analysis models can also be used to automatically explore different optimizations opportunities and to make a trade-off between the throughput, latency and memory requirements of applications.
Original languageUndefined
Awarding Institution
  • University of Twente
Supervisors/Advisors
  • Bekooij, Marco Jan Gerrit, Supervisor
Thesis sponsors
Award date28 May 2015
Place of PublicationEnschede
Publisher
Print ISBNs978-90-365-3854-1
DOIs
Publication statusPublished - 28 May 2015

Keywords

  • Real Time
  • MP-SoC
  • IR-95889
  • Stream Processing
  • Data flow
  • Compositional Model
  • parallelization
  • Programming language
  • EWI-26052
  • METIS-310510

Cite this

Geuns, S. J. (2015). Specification and Compilation of Real-Time Stream Processing Applications. Enschede: Centre for Telematics and Information Technology (CTIT). https://doi.org/10.3990/1.9789036538541
Geuns, S.J.. / Specification and Compilation of Real-Time Stream Processing Applications. Enschede : Centre for Telematics and Information Technology (CTIT), 2015. 170 p.
@phdthesis{26b7b870fe994baebf66a38112510cc8,
title = "Specification and Compilation of Real-Time Stream Processing Applications",
abstract = "This thesis is concerned with the specification, compilation and corresponding temporal analysis of real-time stream processing applications that are executed on embedded multiprocessor systems. An example of such applications are software defined radio applications. These applications typically have real-time requirements in the form of throughput and latency constraints which result from communication with the environment. Modern stream processing applications also often have multiple operation modes and can process multiple streams at different rates. To efficiently utilize these multiprocessor systems, function-level parallelism has to be extracted from these applications by a multiprocessor compiler. The compiler must also derive a corresponding temporal analysis model which is used to verify that real-time constraints are satisfied. This ensures that the implementation is a refinement of the analysis model, meaning the analysis results are an upper bound on the actual temporal behavior. The temporal analysis model must be sufficiently expressive that any application that can be specified can be modeled and also analyzed. In this thesis we present a novel hierarchical programming language and compiler for the specification and compilation of real-time stream processing applications that satisfy the aforementioned requirements. The hierarchical programming language consists of parallel modules in which sequential modules are nested. Sequential modules contain sequential statements which can be for example while-loops. The use of modules enables component based design, thus the independent development and analysis of separate modules. The language also allows for the use of time in algorithms in the form of time-aware statements, e.g. time-out statements. From every specification a corresponding temporal analysis model is derived which is used to verify the real-time requirements automatically. However, the used temporal analysis models can also be used to automatically explore different optimizations opportunities and to make a trade-off between the throughput, latency and memory requirements of applications.",
keywords = "Real Time, MP-SoC, IR-95889, Stream Processing, Data flow, Compositional Model, parallelization, Programming language, EWI-26052, METIS-310510",
author = "S.J. Geuns",
year = "2015",
month = "5",
day = "28",
doi = "10.3990/1.9789036538541",
language = "Undefined",
isbn = "978-90-365-3854-1",
publisher = "Centre for Telematics and Information Technology (CTIT)",
address = "Netherlands",
school = "University of Twente",

}

Specification and Compilation of Real-Time Stream Processing Applications. / Geuns, S.J.

Enschede : Centre for Telematics and Information Technology (CTIT), 2015. 170 p.

Research output: ThesisPhD Thesis - Research UT, graduation UTAcademic

TY - THES

T1 - Specification and Compilation of Real-Time Stream Processing Applications

AU - Geuns, S.J.

PY - 2015/5/28

Y1 - 2015/5/28

N2 - This thesis is concerned with the specification, compilation and corresponding temporal analysis of real-time stream processing applications that are executed on embedded multiprocessor systems. An example of such applications are software defined radio applications. These applications typically have real-time requirements in the form of throughput and latency constraints which result from communication with the environment. Modern stream processing applications also often have multiple operation modes and can process multiple streams at different rates. To efficiently utilize these multiprocessor systems, function-level parallelism has to be extracted from these applications by a multiprocessor compiler. The compiler must also derive a corresponding temporal analysis model which is used to verify that real-time constraints are satisfied. This ensures that the implementation is a refinement of the analysis model, meaning the analysis results are an upper bound on the actual temporal behavior. The temporal analysis model must be sufficiently expressive that any application that can be specified can be modeled and also analyzed. In this thesis we present a novel hierarchical programming language and compiler for the specification and compilation of real-time stream processing applications that satisfy the aforementioned requirements. The hierarchical programming language consists of parallel modules in which sequential modules are nested. Sequential modules contain sequential statements which can be for example while-loops. The use of modules enables component based design, thus the independent development and analysis of separate modules. The language also allows for the use of time in algorithms in the form of time-aware statements, e.g. time-out statements. From every specification a corresponding temporal analysis model is derived which is used to verify the real-time requirements automatically. However, the used temporal analysis models can also be used to automatically explore different optimizations opportunities and to make a trade-off between the throughput, latency and memory requirements of applications.

AB - This thesis is concerned with the specification, compilation and corresponding temporal analysis of real-time stream processing applications that are executed on embedded multiprocessor systems. An example of such applications are software defined radio applications. These applications typically have real-time requirements in the form of throughput and latency constraints which result from communication with the environment. Modern stream processing applications also often have multiple operation modes and can process multiple streams at different rates. To efficiently utilize these multiprocessor systems, function-level parallelism has to be extracted from these applications by a multiprocessor compiler. The compiler must also derive a corresponding temporal analysis model which is used to verify that real-time constraints are satisfied. This ensures that the implementation is a refinement of the analysis model, meaning the analysis results are an upper bound on the actual temporal behavior. The temporal analysis model must be sufficiently expressive that any application that can be specified can be modeled and also analyzed. In this thesis we present a novel hierarchical programming language and compiler for the specification and compilation of real-time stream processing applications that satisfy the aforementioned requirements. The hierarchical programming language consists of parallel modules in which sequential modules are nested. Sequential modules contain sequential statements which can be for example while-loops. The use of modules enables component based design, thus the independent development and analysis of separate modules. The language also allows for the use of time in algorithms in the form of time-aware statements, e.g. time-out statements. From every specification a corresponding temporal analysis model is derived which is used to verify the real-time requirements automatically. However, the used temporal analysis models can also be used to automatically explore different optimizations opportunities and to make a trade-off between the throughput, latency and memory requirements of applications.

KW - Real Time

KW - MP-SoC

KW - IR-95889

KW - Stream Processing

KW - Data flow

KW - Compositional Model

KW - parallelization

KW - Programming language

KW - EWI-26052

KW - METIS-310510

U2 - 10.3990/1.9789036538541

DO - 10.3990/1.9789036538541

M3 - PhD Thesis - Research UT, graduation UT

SN - 978-90-365-3854-1

PB - Centre for Telematics and Information Technology (CTIT)

CY - Enschede

ER -

Geuns SJ. Specification and Compilation of Real-Time Stream Processing Applications. Enschede: Centre for Telematics and Information Technology (CTIT), 2015. 170 p. https://doi.org/10.3990/1.9789036538541