[发明专利]在云系统中自动检测分布式并发错误有效
申请号: | 201780049079.9 | 申请日: | 2017-08-08 |
公开(公告)号: | CN109643255B | 公开(公告)日: | 2020-09-08 |
发明(设计)人: | 陆善;刘浩鹏;李光普;哈里迪·古纳维;田琛;叶枫 | 申请(专利权)人: | 华为技术有限公司;芝加哥大学 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 系统 自动检测 分布式 并发 错误 | ||
一种在分布式云计算系统中检测分布式并发错误的方法,包括:在涉及进程间通讯的函数中跟踪访问对象的操作,并对所述跟踪操作应用一套先行发生规则。分析所述跟踪操作,以标识访问共同对象的并发操作,生成潜在分布式并发错误(DCbug)列表。删减所述DCbug列表,去除只在本地产生影响且不产生运行时错误的DCbug。
交叉申请
本申请要求于2017年8月3日提交的、申请号为15/668,469、发明名称为“在云系统中自动检测分布式并发错误(Automatically Detecting Distributed ConcurrencyErrors in Cloud Systems)”的美国非临时专利申请,该非临时专利申请又要求于2016年8月12日提交的、申请号为62/374,449、发明名称为“在云系统中自动检测分布式并发缺陷(Automatically Detecting Distributed Concurrency Bugs in Cloud Systems)”的美国非临时专利申请,所述两个申请的内容通过引用如全文复制结合在本申请中。
技术领域
本公开涉及在计算系统中检测运行错误,确切地说,涉及在跨多个计算系统分布的系统中检测并发错误。
背景技术
很多大数据和云计算系统通过分布式云系统实现,所述分布式云系统具有跨多个服务器并行运行的多个程序线程。这些系统包括数据管理系统、多人游戏系统、劳动力合作系统(例如和合作软件)等。这些系统包括软件基础设施,例如横向扩展存储、计算架构、同步业务和集群管理业务。这些分布式云系统的可靠性非常重要。很遗憾,这些系统易受分布式并发错误(缺陷)的影响,分布式并发错误(缺陷)在本文中称为DCbug。由于分布式云系统的状态空间较大,可能难以检测DCbug,并且由于分布式计算和通信的时序,DCbug不确定地出现。
发明内容
根据本公开的一个方面,提供一种在包括多个组件计算机的分布式计算系统中检测分布式并发错误的方法,所述方法包括:在运行所述分布式计算系统期间跟踪访问对象的操作,以生成跟踪结果;对所述跟踪结果应用一套先行发生规则,以标识所述跟踪的操作中的候选操作,其中每个先行发生规则指示在第二种操作之前发生的第一种操作;标识访问对应共同对象的对应并发候选操作对,以生成潜在分布式并发错误列表;以及执行运行时分析工具,标识所述多个组件计算机中导致分布式并发错误的冲突存储器访问。
可选地,在前述方面中的任一个中,所述先行发生规则包括关于两个节点之间的消息的消息规则、关于不同节点发起的线程的线程规则、关于不同线程访问的事件的事件规则以及关于不同线程中操作的执行顺序的程序排序规则。
可选地,在前述方面中的任一个中,所述方法还包括将来自对应的不同线程的、访问所述对应的共同对象并包括至少一个写操作的对应候选操作对标识为所述候选操作。
可选地,在前述方面中的任一个中,跟踪所述访问对象的操作包括仅跟踪远程过程调用(remote procedure call,RPC)函数、实施套接字操作的函数和事件处理程序函数。
可选地,在前述方面中的任一个中,所述方法还包括:构建所述候选操作的有序图,所述图的每个顶点表示所述候选操作中的一个,每条两个顶点之间的边表示所述两个顶点表示的操作之间的先行发生关系;以及确定所述图不包括从第一候选操作到第二候选操作的路径后,将所述第一候选操作标识为与所述第二候选操作并发。
可选地,在前述方面中的任一个中,所述方法还包括:向每个顶点分配位阵列,所述位阵列中的每一位表示所述图中的对应顶点;对于每个顶点,遍历所述图,并在遍历所述图期间到达目标顶点时设置所述位阵列中对应于所述目标顶点的一个所述位;以及对于所述第一候选操作的位阵列,当对应于所述第二候选操作的位没有设置时,确定所述第一和第二候选操作并发。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;芝加哥大学,未经华为技术有限公司;芝加哥大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780049079.9/2.html,转载请声明来源钻瓜专利网。