DRF x

Abstract

The most intuitive memory model for shared-memory multi-threaded programming is sequential consistency (SC), but it disallows the use of many compiler and hardware optimizations and thus affects performance. Data-race-free (DRF) models, such as the C++11 memory model, guarantee SC execution for data-race-free programs. But these models provide no guarantee at all for racy programs, compromising the safety and debuggability of such programs. To address the safety issue, the Java memory model, which is also based on the DRF model, provides a weak semantics for racy executions. However, this semantics is subtle and complex, making it difficult for programmers to reason about their programs and for compiler writers to ensure the correctness of compiler optimizations.

Document Details

Document Type
Pub Defense Publication
Publication Date
Sep 15, 2016
Source ID
10.1145/2925988

Entities

People

  • Abhayendra Singh
  • Daniel Marino
  • Madanlal Musuvathi
  • Satish Narayanasamy
  • Todd Millstein

Organizations

  • Defense Advanced Research Projects Agency
  • Google
  • Microsoft Research
  • National Science Foundation
  • University of California, Los Angeles
  • University of Michigan

Tags

Fields of Study

  • Computer science

Readers

  • Emergency Management and Homeland Security.
  • Mental Health of Military Veterans with Posttraumatic Stress Disorder (PTSD): Risk Factors, Prevalence, Symptoms, and Treatment.
  • Parallel and Distributed Computing.