Mars: A MapReduce Framework on Graphics Processors

Introduction

Mars is a MapReduce framework on graphic processors (GPUs). We develop this framework aiming at providing a generic framework for developers to implement data- and computation-intensive tasks correctly, efficiently, and easily on the GPU. Mars hides the programming complexity of the GPU behind the simple and familiar MapReduce interface. Therefore, the developers can write their code on the GPU without any knowledge of the graphics APIs or the GPU architecture. We have implemented six common tasks in web applications and our results indicate that Mars is up to over an order of magnitude faster than its CPU-based counterpart for these applications on a quad-core machine.

Mars is developed by Bingsheng He and Wenbin Fang under the supervision of Naga K. Govindaraju (Microsoft Corp.), Qiong Luo (HKUST), and Tuyong Wang (Sina.com).

Papers

Bingsheng He, Wenbin Fang, Qiong Luo, Naga K. Govindaraju, and Tuyong Wang. Mars: A MapReduce Framework on Graphics Processors. PACT 2008.

Software Download

Currently, Mars is implemented using NVIDIA CUDA.

Software License

The license is a free non-exclusive, non-transferable license to reproduce, use, modify and display the source code version of the Software, with or without modifications solely for non-commercial research, educational or evaluation purposes. The license does not entitle Licensee to technical support, telephone assistance, enhancements or updates to the Software. All rights, title to and ownership interest in Software, including all intellectual property rights therein shall remain in HKUST.