MapReduce on GPU Clusters