Barriers
Software algorithms implemented using locks, flags, counters
Hardware barriers
- Wired-AND line separate from address/data bus
- Set input high when arrive, wait for output to be high to leave
- In practice, multiple wires to allow reuse
- Useful when barriers are global and very frequent
- Difficult to support arbitrary subset of processors
- even harder with multiple processes per processor
- Difficult to dynamically change number and identity of participants
- e.g. latter due to process migration
- Not common today on bus-based machines