Demand-Based Scheduling Priorities for Performance Optimisation of Stream Programs on Parallel Platforms

This paper introduces a heuristic-based scheduler to optimise the throughput and latency of stream programs with dynamic network structure. The novelty is the utilisation of positive and negative demands of the stream communications. It is a centralised approach to provide load balancing for stream programs with dynamic network structures. The approach is designed for shared-memory multi-core platforms. The experiments show that our scheduler performs significantly better than the reference implementation without demand considerations.

[1]  Vivek Sarkar,et al.  Concurrent Collections Programming Model , 2010, Encyclopedia of Parallel Computing.

[2]  Bernd Burgstaller,et al.  Orchestration by approximation: mapping stream programs onto multicore architectures , 2011, ASPLOS XVI.

[3]  J. Little A Proof for the Queuing Formula: L = λW , 1961 .

[4]  Leandros Tassiulas,et al.  Stability properties of constrained queueing systems and scheduling policies for maximum throughput in multihop radio networks , 1992 .

[5]  Jiawen Chen,et al.  A reconfigurable architecture for load-balanced rendering , 2005, HWWS '05.

[6]  William Thies,et al.  Phased scheduling of stream programs , 2003 .

[7]  Ying Xing,et al.  Dynamic load distribution in the Borealis stream processor , 2005, 21st International Conference on Data Engineering (ICDE'05).

[8]  Michael I. Gordon,et al.  Exploiting coarse-grained task, data, and pipeline parallelism in stream programs , 2006, ASPLOS XII.

[9]  D C LittleJohn A Proof for the Queuing Formula , 1961 .

[10]  J D Littler,et al.  A PROOF OF THE QUEUING FORMULA , 1961 .

[11]  Raimund Kirner,et al.  A Multi-level Monitoring Framework for Stream-Based Coordination Programs , 2012, ICA3PP.

[12]  William Thies,et al.  StreamIt: A Language for Streaming Applications , 2002, CC.

[13]  Shuvra S. Bhattacharyya Optimization Trade-offs in the Synthesis of Software for Embedded DSP , 1995 .

[14]  Rahul Sukthankar,et al.  Dynamic load balancing for distributed search , 2005, HPDC-14. Proceedings. 14th IEEE International Symposium on High Performance Distributed Computing, 2005..

[15]  David Padua,et al.  Encyclopedia of Parallel Computing , 2011 .

[16]  Robert Stephens,et al.  A survey of stream processing , 1997, Acta Informatica.

[17]  Alexander V. Shafarenko,et al.  A Gentle Introduction to S-Net: Typed Stream Processing and Declarative Coordination of Asynchronous Components , 2008, Parallel Process. Lett..

[18]  Henry Hoffmann,et al.  A stream compiler for communication-exposed architectures , 2002, ASPLOS X.

[19]  David Zhang,et al.  A lightweight streaming layer for multicore execution , 2008, CARN.

[20]  Luca P. Carloni,et al.  Flexible filters: load balancing through backpressure for stream programs , 2009, EMSOFT '09.

[21]  Michael F. P. O'Boyle,et al.  Partitioning streaming parallelism for multi-cores: A machine learning based approach , 2010, 2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT).

[22]  Scott A. Mahlke,et al.  Orchestrating the execution of stream programs on multicore platforms , 2008, PLDI '08.

[23]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.