文件名称:使用本地时钟重现并发错误
文件大小:1.72MB
文件格式:PDF
更新时间:2024-04-17 16:33:27
concurrency; bug reproducing; local clock
多线程程序起着越来越重要的作用在当前的多核环境中扮演的角色。 公开并发错误和调试此类多线程程序有由于其固有的不确定性而变得非常具有挑战性。 为了消除这种不确定性,许多方法例如记录和重放以及其他类似的错误重现已经提出了系统。 但是,这些方法经常遭受严重的性能下降,因为它们需要大量记录的信息和/或长时间的分析和重播时间。 在本文中,我们提出了一种有效的方法充分利用了现代设备上可用的硬件时钟商业处理器。 关键思想是减少开销使用时间记录和分析事件的全局顺序每个线程中记录的图章。 那些时间戳被使用确定线程之间共享访问的顺序。 到避免在访问系统范围的全局数据库时产生的大量开销时钟,我们选择使用会导致大量故障的本地每核时钟更少的访问开销。 然后,我们提出技术来解决本地时钟之间的差异并获得准确的全局事件命令。 通过使用每核时钟,可以再现最新的错误PRES和CLAP等系统可以减少录制管理费用减少了1%85%,分析时间减少了84.66% 分别为99.99%。