This document discusses several common group communication operations used in parallel programs, including one-to-all broadcast, all-to-one reduction, all-to-all broadcast, all-reduce, and prefix-sum operations. It describes algorithms for implementing each of these operations on different network topologies like rings, meshes, and hypercubes. The algorithms are analyzed and their communication costs are derived in terms of the number of messages and message size.