期刊文献+

获取访存依赖:并发程序动态分析基础技术综述 被引量:11

Approaches to Obtaining Shared Memory Dependences for Dynamic Analysis of Concurrent Programs: A Survey
下载PDF
导出
摘要 并发错误难触发、难调试、难检测.为应对这一挑战,已有动态程序分析技术通过观测或控制并发程序执行实现其质量保障.由于并发程序不确定性主要来自共享内存,实现其动态分析的基本问题即是获取线程访问共享内存的顺序,即获取访存依赖.提出访存依赖获取技术的综述框架,包含4个评价指标(即时性、准确性、高效性、简化性)、两种方法(在线追踪、离线合成)、两类应用(轨迹分析、并发控制).通过对已有技术的总结和分析框架中的空白,对未来可能的研究方向予以展望. Concurrent bugs are difficult to trigger, debug, and detect. Dynamic program analysis techniques have been proven useful in addressing such challenges. Due to non-deterministic nature of concurrent programs in which the major source of non-determinism is the shared memory, obtaining the order of shared memory accesses, i.e., shared memory dependences, is the basis of such dynamic analyses. This work proposes a survey framework to demonstrate the key issues in obtaining the shared memory dependences. The framework includes four performance metrics (immediacy, accuracy, efficiency and simplicity), two categories of approaches (online tracing and offline synthesis), and two categories of applications (trace analysis and concurrency control). Existing techniques as well as potential future work are studied in the paper.
出处 《软件学报》 EI CSCD 北大核心 2017年第4期747-763,共17页 Journal of Software
基金 国家重点基础研究发展计划(973)(2015CB352202) 国家自然科学基金(61472177 61690204) 江苏省软件新技术与产业化协同创新中心资助~~
关键词 并发 多处理器系统 动态分析 访存依赖 concurrency multi-processor system dynamic analysis shared memory dependence
  • 相关文献

参考文献2

二级参考文献153

  • 1Asanovic K, Bodik R, Demmel J, Keaveny T, Keutzer K, Kubiatowicz J, Morgan N, Patterson D, Sen K, Wawrzynek J, Wessel D, Yelick K. A view of the parallel computing landscape. Communications of the ACM, 2009,52(10):56-67. [doi: 10.1145/1562764. 1562783].
  • 2Nightingale EB, Peek D, Chen PM, Flinn J. Parallelizing security checks on commodity hardware. In: Proc. of the 13th Int'l Conf. on Architectural Support for Programming Languages and Operating Systems. New York: ACM Press, 2008. 308-318. [doi: 10.1145/1346281.1346321].
  • 3Zhai JD, Chen WG, Zheng WM. Phantom: Predicting performance of parallel applications on large-scale parallel machines using a single node. In: Proc. of the 15th Annual Symp. on Principles and Practice of Parallel Programming. New York: ACM Press, 2010. 305-314. [doi: 10.1145/1693453.1693493].
  • 4Lee DY, Wester B, Veeraraghavan K, Narayanasamy S, Chen PM, Flinn J. Respec: Efficient online multiprocessor replay via speculation and external determinism. In: Proc. of the 15th Int'l Conf. on Architectural Support for Programming Languages and Operating Systems. New York: ACM Press, 2010. 77-90. [doi: 10.1145/1736020.1736031].
  • 5Hower D, Hill MD. Rerun: Exploiting episodes for light weight memory race recording. In: Proc. of the 35th Int'l Symp. on Computer Architecture. Washington: IEEE Computer Society, 2008. 265-276. [doi: 10.1109/ISCA.2008.26].
  • 6Montesinos P, Ceze L, Torrellas J. DeLorean: Recording and deterministically replaying shared-memory multiprocessor execution effciently. In: Proc. of the 35th Int'l Symp. on Computer Architecture. 2008. 289-300. [doi: 10.1109/ISCA.2008.36].
  • 7Chen YJ, Hu WW, Chen TS, Wu RY. LReplay: A pending period based deterministic replay scheme. In: Proc. of the 37th Int'l Symp. on Computer Architecture. New York: ACM Press, 2010.187-197. [doi: 10.1145/1815961.1815985].
  • 8Dunlap G, King S, Cinar S, Basrai M, Chen P. ReVirt: Enabling intrusion analysis through virtual-machine logging and replay. In: Proc. of the 5th USENIX Symp. on Operating System Design and Implementation. New York: ACM Press, 2002. 211-224. [doi: 10.1145/844128.844148].
  • 9Xu M, Malyugin V, Sheldon J, Venkitachalam G, Weissman B. ReTrace: Collecting execution trace with virtual machine deterministic replay. In: Proc. of the 2007 Workshop on Modeling, Benchmarking and Simulation. 2007.
  • 10Netzer RHB, Miller BP. What are race conditions?: Some issues and formalizations. ACM Letters on Programming Languages and Systems, 1992,1(1):74-88. [doi: 10.1145/130616.130623].

共引文献27

同被引文献71

引证文献11

二级引证文献21

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部