Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: Compiling a Calculus for Relaxed Memory: Practical constraint-based
  low-level concurrency   Crary and Sullivan's Relaxed Memory Calculus (RMC) proposed a new declarative
approach for writing low-level shared memory concurrent programs in the
presence of modern relaxed-memory multi-processor architectures and optimizing
compilers. In RMC, the programmer explicitly specifies constraints on the order
of execution of operations and on the visibility of memory writes. These
constraints are then enforced by the compiler, which has a wide degree of
latitude in how to accomplish its goals.
  We present rmc-compiler, a Clang and LLVM-based compiler for RMC-extended C
and C++. In addition to using barriers to enforce ordering, rmc-compiler can
take advantage of control and data dependencies, something that is beyond the
abilities of current C/C++ compilers. In rmc-compiler, RMC compilation is
modeled as an SMT problem with a cost term; the solution with the minimum cost
determines the compilation strategy. In testing on ARM and POWER devices, RMC
performs quite well, with modest performance improvements relative to C++11 on
most of our data structure benchmarks and (on some architectures) dramatic
improvements on a read-mostly list test that heavily benefits from use of data
dependencies for ordering.

3
The categories of this paper are: physics
22
The categories of this paper are: chao-dyn
13
The categories of this paper are: quant-ph
9
The categories of this paper are: nlin
4
The categories of this paper are: cond-mat
25
The categories of this paper are: patt-sol
23
The categories of this paper are: solv-int
5
The categories of this paper are: gr-qc
27
The categories of this paper are: comp-gas
32
The categories of this paper are: atom-ph
6
The categories of this paper are: astro-ph
2
The categories of this paper are: math
26
The categories of this paper are: bayes-an
33
The categories of this paper are: plasm-ph
17
The categories of this paper are: q-fin
36
The categories of this paper are: cmp-lg