Typical implementation of sequential consistency in shared-memory systems requires each access to be delayed until the previous access in the same process completes. This is detrimental to system performance. This paper proposes a way of out-of-order execution in sequentially consistent shared-memory systems. It first builds an execution model of shared-memory systems, studies the event ordering condition for correct executions in write atomic and write nonatomic systems, and then proposes and proves that out-of-order execution does not influence the correctness of an execution providing certain condition is met. Implementation strategy of out-of-order execution in sequentially consistent shared-memory systems is also discussed.
/lp/association-for-computing-machinery/out-of-order-execution-in-sequentially-consistent-shared-memory-6x0tcALJiJ