{"title":"使用资源占用的并发程序的死锁检测","authors":"Sonam Sherpa, Abdi Vicenciodelmoral, Xinghui Zhao","doi":"10.1145/3368235.3369370","DOIUrl":null,"url":null,"abstract":"Concurrency bugs are difficult to diagnose and fix, due to the nature of the bugs and how they manifest themselves during execution. Traditional approaches for diagnosing concurrency bugs attempt to reproduce the exact execution schedule which reveals the bug, resulting in high runtime overhead. In this paper, we present our work in identifying concurrency bugs using resource consumption footprints. This is based on the observation that resource access and consumption patterns are critical indications of the run-time behavior of concurrent software, and can be used as a powerful mechanism to guide the software debugging process. We demonstrate that monitoring resource footprints at runtime can effectively help detect software bugs. Specifically, for MPI programs, a simple SVM classifier can detect deadlocks with high accuracy using only the CPU usage patterns.","PeriodicalId":166357,"journal":{"name":"Proceedings of the 12th IEEE/ACM International Conference on Utility and Cloud Computing Companion","volume":"115 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Deadlock Detection for Concurrent Programs Using Resource Footprints\",\"authors\":\"Sonam Sherpa, Abdi Vicenciodelmoral, Xinghui Zhao\",\"doi\":\"10.1145/3368235.3369370\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Concurrency bugs are difficult to diagnose and fix, due to the nature of the bugs and how they manifest themselves during execution. Traditional approaches for diagnosing concurrency bugs attempt to reproduce the exact execution schedule which reveals the bug, resulting in high runtime overhead. In this paper, we present our work in identifying concurrency bugs using resource consumption footprints. This is based on the observation that resource access and consumption patterns are critical indications of the run-time behavior of concurrent software, and can be used as a powerful mechanism to guide the software debugging process. We demonstrate that monitoring resource footprints at runtime can effectively help detect software bugs. Specifically, for MPI programs, a simple SVM classifier can detect deadlocks with high accuracy using only the CPU usage patterns.\",\"PeriodicalId\":166357,\"journal\":{\"name\":\"Proceedings of the 12th IEEE/ACM International Conference on Utility and Cloud Computing Companion\",\"volume\":\"115 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-12-02\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 12th IEEE/ACM International Conference on Utility and Cloud Computing Companion\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3368235.3369370\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 12th IEEE/ACM International Conference on Utility and Cloud Computing Companion","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3368235.3369370","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Deadlock Detection for Concurrent Programs Using Resource Footprints
Concurrency bugs are difficult to diagnose and fix, due to the nature of the bugs and how they manifest themselves during execution. Traditional approaches for diagnosing concurrency bugs attempt to reproduce the exact execution schedule which reveals the bug, resulting in high runtime overhead. In this paper, we present our work in identifying concurrency bugs using resource consumption footprints. This is based on the observation that resource access and consumption patterns are critical indications of the run-time behavior of concurrent software, and can be used as a powerful mechanism to guide the software debugging process. We demonstrate that monitoring resource footprints at runtime can effectively help detect software bugs. Specifically, for MPI programs, a simple SVM classifier can detect deadlocks with high accuracy using only the CPU usage patterns.