StreamMR: An Optimized MapReduce Framework for AMD GPUs
City of Scientific Researches and Technology Applications, Egypt
17th IEEE International Conference on Parallel and Distributed Systems, 2011
@article{elteir2011streammr,
title={StreamMR: An Optimized MapReduce Framework for AMD GPUs},
author={Elteir, M. and Lin, H. and Feng, W. and Scogland, T.},
year={2011}
}
MapReduce is a programming model from Google that facilitates parallel processing on a cluster of thousands of commodity computers. The success of MapReduce in cluster environments has motivated several studies of implementing MapReduce on a graphics processing unit (GPU), but generally focusing on the NVIDIA GPU. Our investigation reveals that the design and mapping of the MapReduce framework needs to be revisited for AMD GPUs due to their notable architectural differences from NVIDIA GPUs. For instance, current state-of-the-art MapReduce implementations employ atomic operations to coordinate the execution of different threads. However, atomic operations can implicitly cause inefficient memory access, and in turn, severely impact performance. In this paper, we propose StreamMR, an OpenCL MapReduce framework optimized for AMD GPUs. With efficient atomic-free algorithms for output handling and intermediate result shufling, StreamMR is superior to atomic-based MapReduce designs and can outperform existing atomic-free MapReduce implementations by nearly five-fold on an AMD Radeon HD 5870.
November 19, 2011 by hgpu