Enabling Efficient Use Of Mpi And Pgas Programming Models On Heterogeneous Clusters With High Performance Interconnects