2008 · 34 citations · 9 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureFormal MethodsParallel ComputingMemory ConsistencyMemory ModelingMicroarchitecture DesignMultiprocessor SystemsProcessor MicroarchitectureShared-memory MultiprocessingArchitectural ConstraintsConsistency SemanticsMemory Consistency VerificationMemory Model SemanticsShared MemoryShared Memory MultiprocessorsShared-memory Multiprocessor Memory SystemsVerifiable Computation
This paper describes a formalization of the ARM weakly consistent memory model: the architectural contract between parallel programs and shared memory multiprocessor implementations. We claim that a clean, unambiguous, and mechanically verifiable specification is a valuable resource for architects, micro-architects and programmers; it allows implementors to forge aggressive static (compiler) and dynamic (JIT, micro-architecture) machines to run code. We discuss the key construct of the ARM memory model, observability -- the order in which memory accesses become visible to processors in a shared memory multiprocessor system -- and examine its use in litmus tests.
9
Jeremy Manson, William Pugh, Sarita V. Adve · 2005 · 732 citations · Full text
Formal certification of a compiler back-end or
Xavier Leroy · 2006 · 652 citations
Threads cannot be implemented as a library
Hans‐J. Boehm · ACM SIGPLAN Notices · 2005 · 158 citations