Performance and Stability of Barrier Mode Parallel Systems with Heterogeneous and Redundant Jobs
Brenton Walker, Markus Fidler
TL;DR
This work analyzes Barrier Execution Mode (BEM) in parallel systems, focusing on blocking start and departure barriers and the (s,k,l) redundant-task approach to mitigate stragglers. It derives stability bounds for 1- and 2-barrier configurations, extends the analysis to hybrid systems with a mix of barrier and non-barrier jobs, and uses max-plus and stochastic network calculus to bound waiting and sojourn times. The authors validate theoretical results with Spark-based experiments, uncovering substantial overhead from barrier scheduling and proposing an overhead model that matches observed behavior. The findings highlight conditions under which barrier and redundancy strategies improve stability and throughput, offering practical guidance for deploying barrier-enabled parallel workloads.
Abstract
In some models of parallel computation, jobs are split into smaller tasks and can be executed completely asynchronously. In other situations the parallel tasks have constraints that require them to synchronize their start and possibly departure times. This is true of many parallelized machine learning workloads, and the popular Apache Spark processing engine has recently added support for Barrier Execution Mode, which allows users to add such barriers to their jobs. These barriers necessarily result in idle periods on some of the workers, which reduces their stability and performance, compared to equivalent workloads with no barriers. In this paper we will consider and analyze the stability and performance penalties resulting from barriers. We include an analysis of the stability of $(s,k,l)$ barrier systems that allow jobs to depart after $l$ out of $k$ of their tasks complete. We also derive and evaluate performance bounds for hybrid barrier systems servicing a mix of jobs, both with and without barriers, and with varying degrees of parallelism. For the purely 1-barrier case we compare the bounds and simulation results to benchmark data from a standalone Spark system. We study the overhead in the real system, and based on its distribution we attribute it to the dual event and polling-driven mechanism used to schedule barrier-mode jobs. We develop a model for this type of overhead and validate it against the real system through simulation.
