One main takeaway from the topic of memory consistency is that correctly synchronized programs will not have their functionality altered by their architecture's memory consistency policy. As long as an application programmer takes care to synchronize around data that can be shared between threads, the amount of relaxation of the memory ordering will not effect the sequential consistency of the program.
yonkus
Would re-ordering ever lead to a performance decrease? I know the purpose of re-ordering is to increase performance by means of allowing multiple operations at the same time to optimize the total utilization of the processing power, but is there ever an instance in which the re-ordering might actually make things slower?
One main takeaway from the topic of memory consistency is that correctly synchronized programs will not have their functionality altered by their architecture's memory consistency policy. As long as an application programmer takes care to synchronize around data that can be shared between threads, the amount of relaxation of the memory ordering will not effect the sequential consistency of the program.