Previous | Next --- Slide 57 of 60
Back to Lecture Thumbnails
ggm8

Additionally, in a shared address space, there are shared variables, which may result in the need for synchronization methods (locks/mutex), while there are no shared variables in the message passing model, and thus locks are not necessary. My favorite aspect of the data parallel model was its similarity to higher order functions in SML and other functional languages. If we think about ISPC in this way, it is actually quite neat.

jk2d

Just a recap: The use of locks is not necessary in the message passing model because each thread has its own private data stored in the private address space. Other threads can't mess with that data.

username

Even though we don't need locks in the message passing model, we need to be careful we don't change the value after sending it if it's an asynchronous send, and we don't immediately try reading the value on an asynchronous receive