Message Passing And Shared Memory Consistency