MapReduce Based Ray Tracing Class Project

Project ID
FG-200
Project Categories
Computer Science
Project Alumni
David Brown (brown353)
Joseph Graham (jngraham)
Matthew Smith-Daniels (masmithd)
Connor Ford (cxford)
Gavin Whelan (gavwhela)
Daniel Sokolowski (dsokolow)
Justin Rohl (jrohl)
Jay Warrick (jjwarric)
Alex Hearn (adhearn)
Completed
Abstract
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.
Use of FutureSystems
Students are going to require VMs, where they can deploy and config the Hadoop software stack and then run the MapReduce based ray tracing job.
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.