completed impl on allgather; implemented reduce-scatter