prov/shm: Add implementation for collective building blocks
shefty opened this issue · comments
Sean Hefty commented
Analyze adding support for the following collective operations:
- broadcast
- scatter
- gather
These can be used as building blocks for other collective operations. These are being called out specifically for the shared memory provider as it may be able to provide a more efficient implementation than point to point communication.
For example, broadcast can be implemented by placing or copying the data into a buffer accessible to all peers, then notifying the peers to pull the data. Scatter and gather can use a similar scheme; even though, the peers will only access a portion of the data.