Not only has uncontended synchronization gotten a lot cheaper since then, but the new changes to the semanticsof volatile make it relatively more expensive than the old semantics on some platforms.
A method for the design ofsynchronization server is discussed on the basis of common data replica model combining the semantics of the application, and the algorithms are proposed.
Among other things, the compiler is required to make sure that necessary synchronization is introduced to preserve the sequential semanticsof the original program.