Scheduling a streaming application on high-performance computing (HPC)
resources
has to be sensitive to the computation and communication needs of each stage
of the application dataflow graph to ensure QoS criteria such as latency and
throughput. Since the grid has evolved out of traditional high-performance
computing, the tools available for scheduling are more appropriate for
batch-oriented applications. Our scheduler, called Streamline, considers the
dynamic nature of the grid and runs periodically to adapt scheduling decisions
using application requirements (per-stage computation and communication needs),
application constraints (such as co-location of stages),
and resource availability. The performance of Streamline is compared with
an Optimal placement, Simulated Annealing (SA) approximations, and
E-Condor, a streaming grid scheduler built using Condor. For kernels of
streaming applications, we show that Streamline performs close to the Optimal
and SA algorithms, and an order of magnitude better than E-Condor under
non-uniform load conditions. We have also conducted scalability studies showing
the advantage of Streamline over other approaches.