Previous | Next --- Slide 10 of 70
Back to Lecture Thumbnails
  1. figure out what need to send.
  2. send, receive
  3. synchronization, wait to finish.

Barriers could be implemented by having all threads send a message to a given thread. When that thread receives the message from all threads, it could then send a message to all threads telling them to continue. Each thread would not continue until receiving this message back--at which point, it would know that all threads had reached the barrier.


The communication serves as a way to do synchronization, if the send/recv is synchronized. Especially when two threads are on different memory spaces or using shared memory is expensive, communication is a good way to help with synchronization.