Experiences with optimizing two stream-based applications for cluster execution

Yavor Angelov, Umakishore Ramachandran, Kenneth MacKenzie, James Matthew Rehg, Irfan Essa

Research output: Contribution to journalArticlepeer-review


We explore optimization strategies and resulting performance of two stream-based video applications, video texture and color tracker, on a cluster of SMPs. The two applications are representative of a class of emerging applications, which we call "stream-based applications", that are sensitive to both latency of individual results and overall throughput. Such applications require non-trivial parallelization techniques in order to improve both latency and throughput, given that the stream data emanates from a limited set of sources (exactly one in the two applications studied) and that the distribution of the data cannot be done a priori. We suggest techniques that address in a coordinated fashion the problems of data distribution and work partitioning. We believe the two problems are related and need to be addressed together. We have parallelized two applications using the Stampede cluster programming system that provides abstractions for implementing time- and throughput-sensitive applications elegantly and efficiently. For the Video Textures application we show that we can achieve a speedup of 24.26 on a 112 processor cluster. For the Color Tracker application, where latency is more crucial, we identify the extent of data parallelism that ensures that the slowest member of the pipeline is no longer the bottleneck for achieving a decent frame rate.

Original languageEnglish (US)
Pages (from-to)678-691
Number of pages14
JournalJournal of Parallel and Distributed Computing
Issue number6
StatePublished - Jun 2005
Externally publishedYes


  • Cluster computing
  • Multimedia applications
  • Performance tuning
  • Stream-based applications

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Artificial Intelligence


Dive into the research topics of 'Experiences with optimizing two stream-based applications for cluster execution'. Together they form a unique fingerprint.

Cite this