首页> 外文期刊>Concurrency and Computation >Enabling semantics to improve detection of data races and misuses of lock-free data structures
【24h】

Enabling semantics to improve detection of data races and misuses of lock-free data structures

机译:启用语义,以改善无锁数据结构的数据种族和滥用检测

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

摘要

The rapid progress of multi/many-core architectures has caused data-intensive parallel applicationsnot yet fully optimized to deliver thebest performance. Intheadvent of concurrent programming,frameworks offering structured patterns have alleviated developers' burden adapting suchapplications to multithreaded architectures. Whilesomeof these patterns are implemented usingsynchronization primitives, others avoid them by means of lock-free data mechanisms. However,lock-free programming is not straightforward, ensuring an appropriate use of their interfaces canbe challenging, since different memory models plus instruction reordering at compiler/processorlevels can interfere in the occurrence of data races. The benefits of race detectors are formidablein this sense; however, they may emit false positives if are unaware of the underlying lock-freestructure semantics. To mitigate this issue, this paper extends ThreadSanitizer, a race detectiontool, with the semantics of 2 lock-free data structures: the single-producer/single-consumer andthemultiple-producer/multiple-consumer queues. With it, we are able to drop false positives anddetect potential semantic violations. The experimental evaluation, using different queue implementationson a set of 𜇠benchmarks and real applications, demonstrates that it is possible toreduce, on average, 60% the number of data race warnings and detect wrong uses of thesestructures.
机译:多/多核架构的快速进展导致数据密集型并行应用尚未完全优化以提供最佳性能。并发编程的Inthevent,提供结构化模式的框架已经缓解了开发人员的负担调整应用于多线程架构。使用这些模式的不同的方式使用同步原语,其他人通过锁定数据机制避开它们。然而,无锁编程并不简单,确保适当使用其接口具有挑战性,因为不同的内存模型加上编译器/处理器的指令重新排序水平可能会干扰数据种族的发生。竞赛探测器的好处是强大的在这个意义上;但是,如果没有意识到潜在的锁定,它们可能会发出错误的阳性结构语义。要缓解此问题,本文扩展了ThreadSanitizer,竞争检测工具,具有2个锁定数据结构的语义:单生产商/单消费者和Themultiple-Producer /多消费者队列。有了它,我们能够丢弃误报和检测潜在的语义违规。实验评估,使用不同的队列实现在一组ğœğœ基准和实际应用中,表明它是可能的平均减少60%的数据竞争警告数并检测这些错误的使用结构。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号