Achieving self-aware parallelism in stream programs

Yan Su, Feng Shi, Shahnawaz Talpur, Yizhuo Wang, Sensen Hu, Jin Wei*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

4 Citations (Scopus)

Abstract

The age of big data open the door to a new approach in data exploration and utilization. With the increasing complexities and dynamics of modern IT systems and services, it has become a challenge to effectively exploit parallelism on multicore platforms in computing systems that are heterogeneous, dynamic and decentralised. Self-aware software is a response to these demands in dealing with distributed applications in changing environments. It is a closed-loop system with a series of optimization strategies to adjust itself dynamicly during data processing. We focus on incorporating adaptation mechanisms into the stream programs for exposing distributed parallelism. In the traditional stream programming models, changing data and status normally require human supervision to adjust the stream graph for performance. As one-time optimization strategy, the reconfiguration and maintenance lead to costly and time-consuming procedures during the operating phase. To address these problems, we propose a self-aware stream programming model called StreamAware. A key property of this model is that exposing self-aware parallelism in the message driven execution paradigm, which provides dynamic and reconfigurable stream graph in adapting to the data flow changes. The model defines the self-awareness loop based on finite state machine for stream applications to adjust their own stream graph with continuous optimization strategy. This paper presents three different self-aware systems built using StreamAware. The empirical evaluation demonstrate how these systems can exploit self-aware parallelism using the Parsec benchmark problems, optimize performance per Watt, and respond to significant changes in stream processing.

Original languageEnglish
Pages (from-to)949-962
Number of pages14
JournalCluster Computing
Volume18
Issue number2
DOIs
Publication statusPublished - 1 Jun 2015

Keywords

  • Distributed computing
  • Message-driven execution
  • Multicore
  • Reconfigration
  • Self-aware parallelism
  • Stream programming

Fingerprint

Dive into the research topics of 'Achieving self-aware parallelism in stream programs'. Together they form a unique fingerprint.

Cite this