Flexible filters: load balancing through backpressure for stream programs

  • Collins R
  • Carloni L
  • 16


    Mendeley users who have this article in their library.
  • 21


    Citations of this article.


Stream processing is a promising paradigm for programming multi-core systems for high-performance embedded applications. We propose flexible filters as a technique that combines static mapping of the stream program tasks with dynamic load balancing of their execution. The goal is to improve the system-level processing throughput of the program when it is executed on a distributed-memory multi-core system as well as the local (core-level) memory utilization. Our technique is distributed and scalable because it is based on point-to-point handshake signals exchanged between neighboring cores. Load balancing with flexible filters can be applied to stream applications that present large dynamic variations in the computational load of their tasks and the dimension of the stream data tokens. In order to demonstrate the practicality of our technique, we present performance improvements for the case study of a JPEG encoder running on the IBM Cell multi-core processor.

Author-supplied keywords

  • dynamic load balancing
  • stream programming

Get free article suggestions today

Mendeley saves you time finding and organizing research

Sign up here
Already have an account ?Sign in

Find this document


  • Rl Collins

  • Lp Carloni

Cite this document

Choose a citation style from the tabs below

Save time finding and organizing research with Mendeley

Sign up for free