Towards Automatic And Adaptive Optimizations Of Mpi Collective Operations