add reduce op in communicator API