首页> 外文期刊>Concurrency, practice and experience >Runtime deadlock tracking and prevention of concurrent multithreaded programs: A learning-based approach
【24h】

Runtime deadlock tracking and prevention of concurrent multithreaded programs: A learning-based approach

机译:运行时死锁跟踪和防止并发多线程程序:一种基于学习的方法

获取原文
获取原文并翻译 | 示例

摘要

Allocation of shared resources by multithreaded programs faces problem of deadlock. Many solutions have been presented to resolve this problem. Among others, the deadlock prevention is stressed when the deadlock detection and removal are costly. Removing deadlocks, which is carried out by aborting/recovering deadlocked threads, causes the waste of the resources used by the deadlocked threads. In such case, deadlock prevention can lead to avoiding the waste of resources. To this end, the runtime behavior of threads should be monitored in order to predict possible future deadlocks. In such case, the prediction mechanism becomes significant because a proper prediction helps us deny the allocation request of a resource by a thread if the allocation leads to a potential deadlock. A method to attain to proper prediction is learning the behavior of threads based on runtime monitoring their past behavior. In fact, based on past behavior of threads, potential deadlocks in their future behavior are verified, and current allocation request of a resource is denied if a future deadlock is predicted. The current study is an extension of our previous work where just deadlock tracking was predicted and no adaptation was suggested. In this study, a composite structure of a recurrent Neural Network (NN) called NARX (to track a potential deadlock) and a Multi-perceptron NN called MLP (to select a suitable action to resolve the potential deadlock) is proposed. Based on the experimental results, the accuracy of the first NN was about 80%, leading to high performance of the second NN, and more than 82% of the real deadlocks were prevented by selecting suitable actions.
机译:多线程程序分配共享资源面临死锁问题。已经提出了许多解决方案来解决该问题。其中,当死锁检测和消除的成本很高时,就强调了防止死锁。通过中止/恢复死锁线程来执行的死锁删除会浪费死锁线程使用的资源。在这种情况下,防止死锁可以避免浪费资源。为此,应该监视线程的运行时行为,以预测将来可能出现的死锁。在这种情况下,预测机制变得很重要,因为如果分配导致潜在的死锁,那么正确的预测将帮助我们拒绝线程对资源的分配请求。一种获得正确预测的方法是基于运行时监视线程的过去行为来学习线程的行为。实际上,基于线程的过去行为,可以验证线程未来行为中的潜在死锁,并且如果预测到未来死锁,则将拒绝资源的当前分配请求。当前的研究是对我们以前工作的扩展,在该工作中,仅预测了死锁跟踪,没有提出任何适应性建议。在这项研究中,提出了一种称为NARX的递归神经网络(NN)(用于跟踪潜在的死锁)和称为MLP的多感知器NN(用于选择适当的动作来解决潜在的死锁)的复合结构。根据实验结果,第一个NN的准确性约为80%,从而导致第二个NN的高性能,并且通过选择合适的动作可以防止超过82%的实际死锁。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号