Probabilistic guards: A mechanism for increasing the granularity of work-stealing programs - Yoritaka, Hiroshi; Matsui, Ken; Yasugi, Masahiro; Hiraishi, Tasuku; Umatani, Seiji (Parallel computing, 2019)
We propose probabilistic guards and analyze their performance. To reduce the total task division cost, probabilistic guards can prevent thief workers from stealing small tasks from victim workers probabilistically. In this study, we have implemented probabilistic guards on a work-stealing framework called Tascell. Without an upper limit to the number of repeated probabilistically prevented steal attempts, a thief may repeat an unbounded number of probabilistically prevented steal attempts until success if a victim uses a probabilistic guard that rejects steal attempts with a non-zero probability. We measured the actual numbers of repeated attempts until success, and evaluated the performance of probabilistic guards with various upper limits. In this paper, we also propose virtual probabilistic guards that act as probabilistic guards without repeating probabilistically prevented steal attempts. Virtual probabilistic guards exhibit superior performance compared to probabilistic guards. Our evaluation is based on parallelized “highly serial” force calculation in a shared memory environment and five Tascell programs in a distributed memory environment.