论文标题

变换:正式指定跨性别模型并合成增强的石蕊测试

TransForm: Formally Specifying Transistency Models and Synthesizing Enhanced Litmus Tests

论文作者

Hossain, Naorin, Trippel, Caroline, Martonosi, Margaret

论文摘要

内存一致性模型(MCMS)指定并行程序中共享内存访问的法律排序和可见性。传统上,指令集体系结构(ISA)MCMS假定相关的程序可见内存订购行为仅来自用户级程序指令之间发生的共享内存交互产生的。此假设无法解释可能导致用户级程序指令和两者之间的其他共享内存交互的虚拟内存(VM)。这些附加的共享内存互动可能会影响用户级程序的可观察到的内存顺序行为。因此,记忆透视模型(MTMS)已被认为是MCM的超集,以表达VM感知的一致性规则。但是,没有先前的工作启用正式的MTM规格,也没有支持其自动分析的方法。 为了填补上述空白,本文提出了转换框架。首先,变换具有用于正式指定MTM的公理词汇。其次,转换包括一个合成引擎,以支持使用MTM功能(即增强的石蕊测试或ELTS)增强的LITMUS测试的自动生成引擎。作为案例研究,我们正式定义了Intel X86处理器的估计MTM,称为X86T_ELT,该处理器基于对Intel X86 MTM实现的基于ELT的评估,从先前的工作和可用的公共文档进行了观察。给定X86T_ELT和作为输入的综合,Transform的合成引擎成功地生产了一组ELT,包括先前工作中的相关ELT。

Memory consistency models (MCMs) specify the legal ordering and visibility of shared memory accesses in a parallel program. Traditionally, instruction set architecture (ISA) MCMs assume that relevant program-visible memory ordering behaviors only result from shared memory interactions that take place between user-level program instructions. This assumption fails to account for virtual memory (VM) implementations that may result in additional shared memory interactions between user-level program instructions and both 1) system-level operations (e.g., address remappings and translation lookaside buffer invalidations initiated by system calls) and 2) hardware-level operations (e.g., hardware page table walks and dirty bit updates) during a user-level program's execution. These additional shared memory interactions can impact the observable memory ordering behaviors of user-level programs. Thus, memory transistency models (MTMs) have been coined as a superset of MCMs to additionally articulate VM-aware consistency rules. However, no prior work has enabled formal MTM specifications, nor methods to support their automated analysis. To fill the above gap, this paper presents the TransForm framework. First, TransForm features an axiomatic vocabulary for formally specifying MTMs. Second, TransForm includes a synthesis engine to support the automated generation of litmus tests enhanced with MTM features (i.e., enhanced litmus tests, or ELTs) when supplied with a TransForm MTM specification. As a case study, we formally define an estimated MTM for Intel x86 processors, called x86t_elt, that is based on observations made by an ELT-based evaluation of an Intel x86 MTM implementation from prior work and available public documentation. Given x86t_elt and a synthesis bound as input, TransForm's synthesis engine successfully produces a set of ELTs including relevant ELTs from prior work.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源