When to Give Up on a Parallel Implementation
<|reference_start|>When to Give Up on a Parallel Implementation: In the Serial Parallel Decision Problem (SPDP), introduced by Kuszmaul and Westover [SPAA'24], an algorithm receives a series of tasks online, and must choose for each between a serial implementation and a parallelizable (but less efficient) implementation. Kuszmaul and Westover describe three decision models: (1) \defn{Instantly-committing} schedulers must decide on arrival, irrevocably, which implementation of the task to run. (2) \defn{Eventually-committing} schedulers can delay their decision beyond a task's arrival time, but cannot revoke their decision once made. (3) \defn{Never-committing} schedulers are always free to abandon their progress on the task and start over using a different implementation. Kuszmaul and Westover gave a simple instantly-committing scheduler whose total completion time is $3$-competitive with the offline optimal schedule. They conjectured that the three decision models should admit different competitive ratios, but left upper bounds below $3$ in any model as an open problem.   In this paper, we show that the powers of instantly, eventually, and never committing schedulers are distinct, at least in the ``massively parallel regime''. The massively parallel regime of the SPDP is the special case where the number of available processors is asymptotically larger than the number of tasks to process, meaning that the \emph{work} associated with running a task in serial is negligible compared to its \emph{runtime}. In this regime, we show (1) The optimal competitive ratio for instantly-committing schedulers is $2$, (2) The optimal competitive ratio for eventually-committing schedulers lies in $[1.618, 1.678]$, (3) The optimal competitive ratio for never-committing schedulers lies in $[1.366, 1.500]$.<|reference_end|>
@article{sheffield2024when,
    title={When to Give Up on a Parallel Implementation},
    author={Nathan S. Sheffield and Alek Westover},
    journal={arXiv preprint arXiv:2408.16092},
    year={2024},
    archivePrefix={arXiv},
    eprint={2408.16092},
    primaryClass={cs.DS}
}