Optimizing All-To-All And Allgather Communications On Gpgpu Clusters