130 likes | 331 Views
Creating a Renderfarm Using Grid Technology. James Reid Spring 2006. Outline. What is a renderfarm? What is a grid? GSU’s Grid Putting the two together 3D package Grid package Demo Pros & Cons. What is a Renderfarm. 3D animated movies consist of thousands of frames.
E N D
Creating a Renderfarm Using Grid Technology James Reid Spring 2006
Outline • What is a renderfarm? • What is a grid? • GSU’s Grid • Putting the two together • 3D package • Grid package • Demo • Pros & Cons
What is a Renderfarm. • 3D animated movies consist of thousands of frames. • Average 90 min. movie will have around 162,000 frames • Depending on the complexity of the frame, the job could be done on one machine • If (a big if) it only takes one second to render a frame it would take about 2 days to render that many frames
What is a Renderfarm. • It’s not uncommon for a single frame to take 6+ hours to render. • Multiply that by 162,000 frames and that’s a long time! • So, a renderfarm is a farm of computers that all render frames in parallel. • 2 types of rendering • 1) Split the image among the farm and parse image together when finished • 2) Render one image per machine.
What Is A Grid? • From www.grid.org • Grid computing is a form of distributed computing that involves coordinating and sharing computing, application, data, storage, or network resources across dynamic and geographically dispersed organizations
GSU’s Grid • GSU purchased United Devices (UD) in 2005. • Currently only have one application running on it • Blender – 3D modeling and animating tool • Currently have 301 machines connected to the grid • We can have up to 1000 active at any one time
GSU’s Grid • United Devices is also responsible for the World Community Grid project • http://www.worldcommunitygrid.org/stat/viewGlobal.do • GSU’s UD agent uses xml-rpc calls for communication • Also uses SOAP
Putting The Two Together • I’m teaching csc4840 (Computer Graphics Imaging) • We use Blender for our animations • Blender is an open source 3D modeling package which is rapidly reaching the level of Maya and 3DS Max • For better project results we needed more rendering time.
Putting The Two Together • Unfortunately, I had introduce another central point of failure into the workflow. • I created a server for my students to upload their Blender files to. • From there I do some pre-processing to the files and then send it off. • I also gather the results and zip them up for the students to download.
Putting The Two Together • I used c# to interface with the grid server. • Other options include • c/c++ • java • perl • Any .net language • Students upload their file to my server • I preprocess it • Send it to the grid • Monitor it • Pull the results back to my server • Notify the student via email that they can download their job
Demo • Going to start a rendering job here and submit one to the grid.
Pros & Cons • Pros • Dramatically decreases rendering time • 14 day job on a 3.0 Ghz machine was finished in an hour and half on 230 machines (ranging from PIII to Dual Core machines) • Cons • Central point of failure. • If the Grid Server goes down the grid will be come ineffective, thus forcing rendering to be done on single machines
The End • Any Questions?