Presentation is loading. Please wait.

Presentation is loading. Please wait.

The TOPIX ShareGrid Project Case Study Distributed Rendering with Blender and ShareGrid Cosimo Anglano, Massimo Canonico, Marco Guazzone Distributed Computing.

Similar presentations


Presentation on theme: "The TOPIX ShareGrid Project Case Study Distributed Rendering with Blender and ShareGrid Cosimo Anglano, Massimo Canonico, Marco Guazzone Distributed Computing."— Presentation transcript:

1 The TOPIX ShareGrid Project Case Study Distributed Rendering with Blender and ShareGrid Cosimo Anglano, Massimo Canonico, Marco Guazzone Distributed Computing Research Group Dipartimento di Informatica Università del Piemonte Orientale http://dcs.di.unipmn.it

2 Dipartimento di Informatica, Universita’ del Piemonte Orientale Outline Rendering: An introduction Distributed Rendering: Why and how? Case Study: Blender on ShareGrid Conclusions Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

3 Dipartimento di Informatica, Universita’ del Piemonte Orientale Rendering The process of transforming a math model into a collection of 2D images (possibly only one) by adding static or dynamic features: textures, lights, bone structures, motion,... Rendering Engine Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

4 Dipartimento di Informatica, Universita’ del Piemonte Orientale Rendering: rendering engines Raster Engine A 3D scene is rendered onto a 2D surface (e.g. the screen) and converted into a 2D raster image via the rendering pipeline Translation, scaling, rotation (3D transformations)‏ Projection (3D to 2D transformations)‏ Clipping (to fit inside the viewing area)‏ Texturing, Shading Scan conversion (rasterization)‏ Display Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

5 Dipartimento di Informatica, Universita’ del Piemonte Orientale Rendering: rendering engines Ray-tracer Engine Traces a path (ray) from an imaginary eye (virtual camera) through each pixel in a virtual screen, accumulating the contribution of each light in the scene to that pixel. It follows the rays of light backward: from virtual camera to light sources. Recursive process: a surface might be reflective (reflection ray), transparent (refractive ray), absorbing (no ray emission). Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

6 Dipartimento di Informatica, Universita’ del Piemonte Orientale Rendering: rendering engines Radiosity Only accounts for paths which leave a light source and are reflected diffusely (i.e. reflected in all directions) some number of times (possibly zero) before hitting the eye. The surfaces of the scene to be rendered are each divided up into one or more smaller surfaces (patches). For each pair of patches, the amount of energy (light) they emit or receive each other is evaluated. Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

7 Dipartimento di Informatica, Universita’ del Piemonte Orientale Rendering: rendering engines Rasterization Local illumination algorithm, fast. Good for real-time rendering. Ray-tracing Global illumination algorithm, slow. Realistic images (reflections, shadows), real-time applications under study (e.g. Interactive r.t.). Radiosity Global illumination algorithm, slower. More realistic images, not suited for real-time. Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

8 Dipartimento di Informatica, Universita’ del Piemonte Orientale Distributed Rendering: motivations Rendering is a compute-intensive and high- costly activity Demand for computing and storing resources continuously grows for several reasons: Rendering high-quality photo-realistic images in short time. Storing large amounts of bytes. Quickly accessing to storage devices. Hardware and software quickly becomes obsolete Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

9 Dipartimento di Informatica, Universita’ del Piemonte Orientale Distributed Rendering: implementation Usually, rendering is a highly parallelizable process. A scene is decomposed into different parts. Tiles, for images, or frames, for animations. Scene parts can be rendered independently from each other and merged together for making the final product. Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

10 Dipartimento di Informatica, Universita’ del Piemonte Orientale Distributed Rendering minimizes the overall rendering time by exploiting the inherent nature of scene rendering and distributing the work to several computing resources. Typical solution: use of a Render-Farm. A cluster of (homogeneous) computers, owned by a single organization. Hardware is very specialized (and expensive!)‏ New alternative: use of a Grid System. A set of heterogeneous computers loosely coupled distributed on a large scale (possibly the Internet). Distributed Rendering: implementation Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

11 Dipartimento di Informatica, Universita’ del Piemonte Orientale Distributed Rendering: benefits Shorter rendering time... and production time too! With Grid-aware rendering: Lower investment and management costs A potentially larger availability of computing and storing resources Quicker system deployment time. A Render-Farm must be accurately tuned. A Grid System should be something like a “big” plug-and- play device. Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

12 Dipartimento di Informatica, Universita’ del Piemonte Orientale Distributed Rendering: issues Rendering algorithm must be parallelizable. Actually, in ShareGrid, “sub-renderings” must be independents from each other. In Grid Systems: Resources are not under the own control. Resource availability cannot be guaranteed. High latency for transferring large files. Security. Privacy and Data Integrity. Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

13 Dipartimento di Informatica, Universita’ del Piemonte Orientale Case Study: Blender on ShareGrid Distributed Rendering in ShareGrid POV-Ray Each computing node renders a tile of the input scene. Blender Each computing node renders a frame of the input animation scene. Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

14 Dipartimento di Informatica, Universita’ del Piemonte Orientale Case Study: Blender on ShareGrid Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

15 Dipartimento di Informatica, Universita’ del Piemonte Orientale Case Study: Blender on ShareGrid Job Selection Scene Name: Scene symbolic name. Scene File: Blender scene file (mandatory)‏. First Frame: Number of the first frame. Last Frame: Number of the last frame. Step Frame: Number of contiguous frames. Input Files: Additional input files (for textures, etc.)‏. Job Execution A grid node renders Step Frame contiguous frames. Job Finalization Rendered images are assembled together. Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

16 Dipartimento di Informatica, Universita’ del Piemonte Orientale Case Study: Blender on ShareGrid Blender is executed on a grid node. Blender deployment can be done in several ways. On-demand Blender executable is sent during the job submission along with job files to the remote node. Flexible but slower and inefficient. Needs a statically compiled Blender to avoid library dependencies. (Possible, but difficult!)‏ Or a virtual machine with the right environment. Pre-installed System administrator installs Blender on machines he administers and that are part of the grid system. In ShareGrid, Blender is pre-installed. Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

17 Dipartimento di Informatica, Universita’ del Piemonte Orientale Conclusions Grid Systems do not replace Render Farms Render-Farms are superior in performance thanks to optimized hardware and system tuning. Grid Systems are a good low-cost alternative. Grid Systems can occasionally provide a larger resource availability...... but it can be a burst availability. Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

18 Dipartimento di Informatica, Universita’ del Piemonte Orientale Blender on ShareGrid Questions? Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

19 Dipartimento di Informatica, Universita’ del Piemonte Orientale Blender on ShareGrid: internals DcsGridBlender.jar Java 1.6 runtime log4j.jar (Apache Logging system API v. 1.2)‏ ourgrid.jar (OurGrid API v. 3.3.2)‏ javacc.jar (Java Compiler Compiler v. 4.0)‏ Blender executable Pre-installed on Grid computing nodes Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

20 Dipartimento di Informatica, Universita’ del Piemonte Orientale Blender on ShareGrid: internals ‏### Job selection ### --- New job 1. Scene name { } 2. Scene file { } [*] 3. First frame { } 4. Last frame { } 5. Step frame { } 6. Input files { } 98. Review job settings 99. Back to previous menu ? Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone ‏  ArrayDemo ./examples/data/blender/array3.blend  1  737  25

21 Dipartimento di Informatica, Universita’ del Piemonte Orientale Blender on ShareGrid: internals job: label: ArrayDemo requirements: blender == true task: init: put examples/data/blender/array3.blend $PLAYPEN/array3.blend remote: mkdir array3.blend-rendered/ && blender -b array3.blend -s 1 - e 25 -o array3.blend-rendered/ -a && zip -r -9 -q array3.blend- rendered.zip_1_25 array3.blend-rendered final: get $PLAYPEN/array3.blend-rendered.zip_1_25 array3.blend- rendered.zip_1_25 task:... Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone

22 Dipartimento di Informatica, Universita’ del Piemonte Orientale Blender on ShareGrid: internals Unpack all resulting zip files For each zip file 'array3.blend-rendered.zip_%02d_%02d' do unzip array3.blend-rendered.zip_%02d_%02d end Assemble together PNG files ffmpeg -i %04d.png ArrayDemo.mpeg Play the animation ffplay ArrayDemo.mpeg Incontro su ShareGrid, 5/12/2007, TorinoMarco Guazzone


Download ppt "The TOPIX ShareGrid Project Case Study Distributed Rendering with Blender and ShareGrid Cosimo Anglano, Massimo Canonico, Marco Guazzone Distributed Computing."

Similar presentations


Ads by Google