Project 3: Stream Computing Infrastructures

Leader: J. Janneck, LU
Participants at HH: Z. ul-Abdin
 

Project description: The long-term vision of this effort is the effective and efficient realization of stream processing applications on current and future computing platforms as the latter become more parallel and more distributed over time, and the former exhibit fast-paced growth in complexity and demand for computational resources. Building on the results of the STAMP project and related efforts, this project aims at creating programming models and languages, development and implementations tools, as well as the associated runtime infrastructure.

On the application side, we intend to expand the types of areas driving our work: in addition to applications such
as video coding and radar signal processing, we intend to address the requirements of massive MIMO (an area
other ELLIIT researchers made seminal contributions to), as well as computer graphics, signal processing, big
data analysis, embedded control, particle physics, and genome processing, all of which we either have existing
collaborations on or groups within our respective institutions to collaborate with. Different application areas may
require new programming models or languages, they will use a variety of computing platforms and environments,
and have different requirements regarding efficiency, portability, safety, and predictability that we intend to explore and work on.

With regards to novel computing platforms, we intend to continue our exploration of massively parallel architectures and the challenges of using them efficiently. Current platforms of interest include Epiphany, Kalray, Xeon Phi, and to these we intend to add GPUs as well as new architectures as they appear. While the STAMP effort focused primarily on low-level static implementation techniques, this project will also look at mapping and partitioning and their relationship to different kinds of platform architectures, as well as dynamic runtime infrastructure that manages highly parallel machines by moving code between processing elements in response to application performance and user demands (connecting to the VR-funded project “Feedback Computing in Cyber-Physical Systems” together with LU’s Dept. of Automatic Control). This project also dovetails with a collaboration with the Mobile And Pervasive Computing Institute (MAPCI) at LU in which we investigate the use of the mobile cloud for highly robust and persistent distributed stream computing. The core of that work consists of creating a distributed runtime system that extends the dynamic management of code and processing resources beyond manycore platforms to platforms characterized by unreliable processing elements and communication links, synthesizing reliability from failureprone elements by carefully managing redundancy and replication in a manner that is transparent to application
programmers.