Accelerating MapReduce framework on multi-GPU systems
- 747 Downloads
Graphics processors evolve rapidly and promise to support power-efficient, cost, differentiated price-performance, and scalable high performance computing. MapReduce is a well-known distributed programming model to ease the development of applications for large-scale data processing on a large number of commodity CPUs. When compared to CPUs, GPUs are an order of magnitude faster in terms of computation power and memory bandwidth, but they are harder to program. Although several studies have implemented the MapReduce model on GPUs, most of them are based on the single GPU model and bounded by a GPU memory with inefficient atomic operations. This paper focuses on the development of MGMR, a standalone MapReduce system that utilizes multiple GPUs to manage large-scale data processing beyond the GPU memory limitation, and also to eliminate serial atomic operations. Experimental results have demonstrated the effectiveness of MGMR in handling large data sets.
KeywordsGPU MapReduce Large scale data processing Multi-GPUs
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation. This research is based upon work partially supported by National Science Foundation, USA (Awards No. 0918970 and CCF-1065448), National Science Council (NSC), Taiwan, under grants NSC101-2221-E-126-002 and NSC101-2915-I-126-001, and NVIDIA.
- 1.NVIDIA CUDA Programming Guide 5.0. http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html
- 2.OpenCL—The open standard for parallel programming of heterogeneous systems. http://www.khronos.org/opencl
- 3.Caylor, M.: Numerical solution of the wave equation on dual-GPU platforms using Brook+. Presentation, Boise State University (2010) Google Scholar
- 5.Ekanayake, J., Pallickara, S., Fox, G.: MapReduce for data intensive scientific analyses. In: eScience’08. IEEE Fourth International Conference on eScience (2008) Google Scholar
- 7.Elteir, M., Lin, H., Feng, W., Scogland, T.: StreamMR: an optimized MapReduce framework for AMD GPUs. In: Proceedings of the 21st International Symposium on High-Performance Parallel and Distributed Computing, pp. 364–371 (2011) Google Scholar
- 8.Fang, W., He, B., Luo, Q., Govindaraju, N.K.: Mars: accelerating MapReduce with graphics processors. In: Proceedings of the 2011 IEEE 17th International Conference on Parallel and Distributed Systems, pp. 608–620 (2011) Google Scholar
- 10.Alam, S.R., Fourestey, G., Videau, B., Genovese, L., Goedecker, S., Dugan, N.: Overlapping computations with communications and I/O explicitly using OpenMP based heterogeneous threading models. In: Proceedings of the 8th International Conference on OpenMP in a Heterogeneous World, pp. 267–270 (2012) CrossRefGoogle Scholar
- 11.White, T.: Hadoop: The Definitive Guide. O’Reilly Media, Inc./Yahoo Press, Sebastopol (2010) Google Scholar
- 15.Bell, N., Hoberock, J.: Thrust: a productivity-oriented library for CUDA. In: GPU Computing Gems: Jade Edition, pp. 359–371. Morgan Kaufmann, San Francisco (2011) Google Scholar