MapReduce Based Ray Tracing Class Project

Project Details

Project Lead
Jingya Wang 
Project Manager
Jingya Wang 
Indiana University, CSCI Spring 2012 P434 Distributed Systems  
Computer Science (401) 


The MapReduce based ray tracing project is for undergraduate's distributed systems course (P434) offered by professor Beth Plale at Indiana University at spring 2012. Ray tracing is to render an image more accurately using the ray tracing algorithm, which is computational intensive. Prior to this project, students are asked to implement a basic version of the ray tracing, which employs a client-server model with web services (AXIS2). Parallelization is done in the client side which partitions the whole image into multiple sub-images. Each child thread makes an individual web service request for one sub-image and the parent thread combines the whole ray traced image after all child threads are done. In this project we are going to implement an advanced version of ray tracing by using the popular parallelization paradigm MapReduce. Under this scenario each map job will be responsible for the calculation of one sub-image and the reduce job will combine the whole image. Students are also going to be familiar with virtualization and cloud computing through the FutureGrid.

Intellectual Merit

Students will learn the popular paradigm MapReduce and also the concept of virtualization and cloud computing through the FutureGrid.

Broader Impacts

Student will learn the usage of the cloud/grid cyberinfrastructure.

Scale of Use

Each student (We only have 10 students) should be able to require a few VMs (we can restrict the maximum # can be allocated to a small one such as 4), Each run will take less than half an hour, we'll also ask the students to release the VMs immediately when the job is done so the resources can be reused.