Mars: A MapReduce Framework on Graphics Processors
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).
Currently, Mars is implemented
using NVIDIA CUDA.
- Nov 16, 2009: The latest version.
This version runs on both 32-bit and 64-bit linux, and supports the latest
CUDA SDK 2.3.
It includes 8 applications:
String Match, Matrix Multiplication, Inverted Index, Word Count, Page
View Rank, Page View Count, Similarity Score, and Kmeans.
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