Avoiding Deadlocks via Weak Deadlock Sets
Abstract
A deadlock occurs in a network when two or more items prevent each other from moving and are stalled. In a general model, items are stored at vertices and each vertex has a buffer with slots. Given a route for each item toward its destination, the Deadlock Safety Problem asks whether the current state is safe, i.e., it is possible to deliver each item at its destination, or is bound to deadlock, i.e., any sequence of moves will end up with a set of items stalled. While when the problem is solvable in polynomial time building upon a nice characterization of YES/NO-instances, it is NP-hard on quite simple graphs as grids when and on trees when . We improve on these results by means of two new tools, weak deadlock sets and wise states. We show that for general networks and a state that is wise and without weak deadlock sets -- this can be recognized in polynomial time -- is safe: this is indeed a strengthening of the result for . We sharpen this result for trees, where we show that a wise state is safe if and only if it has no weak deadlock set. That is interesting in particular in the context of rail transportation where networks are often single-tracked and deadlock detection and avoidance focuses on local sub-networks, mostly with a tree-like structure. We pose some research questions for future investigations.
Keywords
Cite
@article{arxiv.2410.05175,
title = {Avoiding Deadlocks via Weak Deadlock Sets},
author = {Gianpaolo Oriolo and Anna Russo Russo},
journal= {arXiv preprint arXiv:2410.05175},
year = {2024}
}