项目名称: 基于确定性重演的多核程序并发错误消除方法研究
项目编号: No.61502123
项目类型: 青年科学基金项目
立项/批准年度: 2016
项目学科: 自动化技术、计算机技术
项目作者: 朱素霞
作者单位: 哈尔滨理工大学
项目金额: 21万元
中文摘要: 共享内存的多核程序因为线程间内存交互顺序的不确定,极易发生并发错误,但现有错误处理方法难以确保程序的运行质量。为解决这一问题,本项目拟基于确定性重演原理,研究硬件实现的并发错误消除方法。.确定性重演能够实现程序重现以前的执行轨迹,为程序生产运行时的并发错误消除提供了新途径。本项目基于确定性重演,围绕交互特征提取、交互踪迹记录、交互踪迹过滤和并发错误消除四个方面展开研究。在交互特征提取方面,研究硬件支持的程序特征动态提取方法;在交互踪迹记录方面,考虑到应用前景,面向采用监听一致性协议的现代多核处理器,研究高效的并发式记录策略;在交互踪迹过滤方面,研究基于机器学习的交互顺序分类方法,过滤掉不影响程序执行结果的良性交互;在并发错误消除方面,研究硬件实现的低开销并发错误预测和避免方法;最后,构建原型系统并进行性能评测。本项目的研究对提高多核程序的运行质量和多核处理器错误处理结构设计具有重要的意义。
中文关键词: 多核程序;并发错误;错误消除;确定性重演;机器学习
英文摘要: Because of the nondeterminism of memory interleavings among threads, shared memory multi-core programs are prone to error. However, current concurrency bug processing methods are difficult to ensure the execution quality of multi-core programs. In order to solve this problem, we study concurrency bug eliminating methods based on deterministic replay. .Deterministic replay can replay multi-core programs correctly in the previous execution order, providing a new way to eliminate concurrency bugs. Based on deterministic replay, this study focuses on attribution abstracting, recording, filtering of interleaving traces and concurrency bug elimination. We first study dynamic abstracting methods for the code attributions corresponding to interleavings based on hardware to improve the performance. Then we study concurrent interleaving recording strategies with high efficiency for multi-core processors with snoop-based coherence protocol. In filtering interleaving traces, we study classification methods based on machine learning to filter the benign interleavings from traces. Considering the overhead, we study efficient anticipating strategies and bug avoiding methods based on hardware to eliminate concurrency bugs. Finally, we build a prototype system for concurrency bug elimination to implement performance evaluation. Our study has important significance for improving the production run quality of multi-core programs and multi-core bug processing architecture design.
英文关键词: multi-core program;concurrency bug;bug elimination;deterministic replay;machine learning