Abstract:
Writing correct and efficient programs for distributed shared memory systems requires a formal specification of memory semantics, named a memory consistency model The main purpose of a memory consistency model is to guarantee the correct event order of shared memory accesses from multiple processes However, current memory consistency models usually face both poor scalability and difficulties of being implemented in operating systems During the research, it is found that to design and implement a memory consistency model from the viewpoint of operating systems and with the support of multithreads may bring great benefits to system performance and scalability And this is both convenient and sufficient for acquiring consistency maintenance information Furthermore, it is also easy to design and implement operating systems In this paper, a new memory consistency model-thread consistency model is proposed, with which correct event order of memory accesses can be observed and constrained through the transformation of threads’ state during the execution of parallel programs Definition, correctness proof, implementation schemes and performance analysis are presented