Deadlock Avoidance Algorithms for Recursion-Tree Modeled Requests in Parallel Executions

Yang Wang,Min Li,Hao Dai,Kenneth B. Kent,Kejiang Ye,Chengzhong Xu,Cheng-Zhong Xu
DOI: https://doi.org/10.1109/tc.2021.3122843
IF: 3.183
2021-01-01
IEEE Transactions on Computers
Abstract:We present an extension of the banker's algorithm to resolve deadlock for programs whose resource-request graph can be modeled as a recursion tree for parallel execution. Our algorithm implements the banker's logic, with the key difference being that some properties of the tree are fully exploited to improve the resource utilization and safety check in deadlock avoidance. For an $n$n-node tree modeled program making requests to $m$m types of resources, our recursion-tree based algorithm can obtain a time complexity of $O(mn\log \log n)$O(mnloglogn) on average in safety check while reducing the conservativeness in resource utilization. We reap these benefits by proposing a concept of the resource critical tree and leverage it to localize the maximum claim associated with each node in the tree. To tackle the case when the tree model is not statically known, we relax the definition of a local maximum claim by sacrificing some resource utilization. With this trade-off, the algorithm can resolve the deadlock and achieve more efficient safety checks within time of $O(m\log \log n)$O(mloglogn). Our empirical studies on a two-dimensional integration problem on sparse grids show that the proposed algorithms can reduce resource utilization conservativeness and improve avoidance performance by minimizing the number of safety checks.
engineering, electrical & electronic,computer science, hardware & architecture
What problem does this paper attempt to address?