返回
TEMpesT: Testing Empirically for Memory Transistency
DOI:10.1145/3774419.png)
摘要
En 中文
在当今的并行系统中,当内存被多个处理单元共享时,确保程序的正确执行变得困难。内存一致性模型(MCMs)被定义为在硬件-软件栈的不同层级之间提供一种契约,以指定共享内存访问顺序,从而实现正确的实现。然而,传统的指令集架构(ISA)MCMs仅考虑用户级程序指令对共享内存访问的可见影响。但在虚拟内存系统中,存在额外的硬件和操作系统(OS)级别的共享内存访问,这些访问可能为了地址转换而触发,并可能影响程序执行。因此,提出了内存时序性模型(MTMs),以定义MCMs的超集,并额外考虑底层的虚拟内存操作。然而,MTM的实现因涉及硬件和OS的管理而复杂,导致其难以规范。在这种情况下,经验性测试通常是验证规范有效性的常用方法。然而,经验性MTM测试具有挑战性,因为硬件、OS和用户级操作之间存在复杂的顺序关系,且无法在用户级程序中显式运行和控制虚拟内存操作。尽管存在许多MCM测试工具并被用于发现系统错误,但目前尚无关于开发系统性MTM测试技术的工作,也未对这类技术的有效性进行分析。在本研究中,我们引入了TEMpesT,这是首个采用与ISA无关技术、在硬件和OS层面执行MTM模糊测试的全系统框架。TEMpesT利用增强型litmus测试(ELTs)和创新的用户级MTM模糊测试技术,以诱导虚拟内存操作并揭示边缘情况行为。我们使用TEMpesT在运行Linux的Intel x86系统上验证了形式化MTM规范x86t_elt。结果表明,TEMpesT的技术能够产生高度多样的结果,在仅执行10,000次针对x86t_elt合成的每个ELT迭代后,观察到所有可能结果的94%,比先前的方法提高了5.8倍。本文还介绍了MTM变异测试,我们利用其评估了TEMpesT的模糊测试技术,并证明了其有效的MTM错误检测能力。
Keyword:
Memory transistency
virtual memory management
empirical testing
formal specifications
memory consistency
期刊
A
IF:
1.8
论文数:
96
被引数:
1.1K

