In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
and
parallel processing, memory semantics refers to the process logic used to control access to
shared memory
In computer science, shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory is an efficient means of passing data between progr ...
locations, or at a higher level to shared variables in the presence of multiple threads or processors.
Memory semantics may also be defined for
transactional memory, where issues related to the interaction of transactions and
locks, and user-level actions need to be defined and specified.
[''Towards transactional memory semantics for C++'' by Tatiana Shpeisman et al in
''Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures''
2009]
/ref>
See also
* Consistency model
In computer science, a consistency model specifies a contract between the programmer and a system, wherein the system guarantees that if the programmer follows the rules for operations on memory, memory will be consistent and the results of rea ...
References
{{Parallel_computing
Consistency models
Transaction processing