...
【24h】

Grace: Safe Multithreaded Programming for C/C++

机译:Grace:适用于C / C ++的安全多线程编程

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

摘要

The shift from single to multiple core architectures means that programmers must write concurrent, multithreaded programs in order to increase application performance. Unfortunately, multithreaded applications are susceptible to numerous errors, including deadlocks, race conditions, atomicity violations, and order violations. These errors are notoriously difficult for programmers to debug. This paper presents Grace, a software-only runtime system that eliminates concurrency errors for a class of multithreaded programs: those based on fork-join parallelism. By turning threads into processes, leveraging virtual memory protection, and imposing a sequential commit protocol, Grace provides programmers with the appearance of deterministic, sequential execution, while taking advantage of available processing cores to run code concurrently and efficiently. Experimental results demonstrate Grace's effectiveness: with modest code changes across a suite of computationally-intensive benchmarks (1-16 lines), Grace can achieve high scalability and performance while preventing concurrency errors.
机译:从单核架构到多核架构的转变意味着程序员必须编写并发的多线程程序,以提高应用程序性能。不幸的是,多线程应用程序容易受到许多错误的影响,包括死锁,竞争条件,违反原子性和违反顺序。众所周知,这些错误使程序员难以调试。本文介绍了Grace,这是一个纯软件的运行时系统,可以消除一类多线程程序的并发错误:这些程序基于fork-join并行性。通过将线程转换为进程,利用虚拟内存保护并实施顺序提交协议,Grace为程序员提供了确定性,顺序执行的外观,同时利用了可用的处理内核来同时高效地运行代码。实验结果证明了Grace的有效性:通过在一系列计算密集型基准测试(1-16行)中进行适度的代码更改,Grace可以实现高可伸缩性和性能,同时防止并发错误。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号