通过弱死锁集避免死锁
最优化与控制
2024-10-08 v1 计算复杂性
摘要
当两个或多个项目相互阻止彼此移动并陷入停滞状态时,就会发生死锁。在一般模型中,项目存储在顶点上,每个顶点 有一个包含 个插槽的缓冲区。给定每个项目的路由以其目的地为目标,死锁安全问题询问当前状态是否安全,即是否可能将每个项目送达其目的地,或者是否注定死锁,即任何移动序列最终都会导致一组项目停滞。虽然当 时问题可在多项式时间内解决(基于 YES/NO 实例的优异描述),但在 时对简单图(如网格)是 NP-hard 的,以及在 时对树状图是 NP-hard 的。我们通过两种新工具——弱死锁集和聪明状态——来改进这些结果。我们展示了对于一般网络和 ,一个聪明且没有弱死锁集的状态是安全的:这实际上是 结果的一个强化。我们对树状图进行了细化,表明聪明状态当且仅当没有弱死锁集时才是安全的。这在铁路交通中尤其有趣,因为网络通常是单轨的,死锁检测和避免主要关注局部子网络,主要具有树状结构。我们提出了一些未来研究问题。
引用
@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}
}