  The task-based dataflow programming model has emerged as an alternative to
the process-centric programming model for extreme-scale applications. However,
load balancing is still a challenge in task-based dataflow runtimes. In this
paper, we present extensions to the PaR-SEC runtime to demonstrate that
distributed work stealing is an effective load-balancing method for task-based
dataflow runtimes. In contrast to shared-memory work stealing, we find that
each process should consider future tasks and the expected waiting time for
execution when determining whether to steal. We demonstrate the effectiveness
of the proposed work-stealing policies for a sparse Cholesky factorization,
which shows a speedup of up to 35% compared to a static division of work.

Distributed, Parallel, and Cluster Computing