Transistency Models: Memory Ordering at the Hardware-OS Interface

Daniel Lustig, Geet Sethi, Abhishek Bhattacharjee, Margaret Rose Martonosi

Research output: Contribution to journalArticlepeer-review

Abstract

Modern computer systems include numerous compute elements, from CPUs to GPUs to accelerators. Harnessing their full potential requires well-defined, properly-implemented memory consistency models and virtual memory subsystems. Unfortunately, it is difficult to specify and implement hardware-OS interactions correctly; in the past, many hardware and OS specification mismatches have resulted in implementation bugs in commercial processors.To resolve this verification gap, this paper makes the following contributions. First, we present COATCheck, an address translation-aware framework for specifying and statically verifying memory ordering enforcement at the microarchitecture and operating system levels. We develop a domain-specific language for specifying ordering enforcement, for including ordering-related OS events and hardware micro-operations, and for programmatically enumerating happens-before graphs. Using a fast and automated static constraint solver, COATCheck can efficiently analyze interesting and important memory ordering scenarios for modern, high-performance, out-of-order processors. Second, we show that previous work on Virtual Address Memory Consistency (VAMC) does not capture every translation-related ordering scenario of interest, and that some such cases even fall outside the traditional scope of consistency. We therefore introduce the term "transistency model" to describe the superset of consistency which captures all translation-aware sets of ordering rules.

Original languageEnglish (US)
JournalIEEE Micro
DOIs
StateAccepted/In press - Jun 14 2017

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture
  • Electrical and Electronic Engineering

Keywords

  • B Hardware
  • B.3 Memory Structures
  • B.3.2 Design Styles
  • B.3.2.g Shared memory
  • C Computer Systems Organization
  • C.0 General
  • C.0.d Modeling of computer architecture
  • D Software/Software Engineering
  • D.2 Software Engineering
  • D.2.5 Testing and Debugging
  • D.2.5.r Testing tools
  • D.4 Operating Systems
  • D.4.2 Storage Management
  • D.4.2.i Virtual memory
  • D.4.5 Reliability
  • D.4.5.f Verification

Fingerprint

Dive into the research topics of 'Transistency Models: Memory Ordering at the Hardware-OS Interface'. Together they form a unique fingerprint.

Cite this