150 likes | 309 Views
CACTUS & Rendering in HPC Clusters Stacey Simmons Assistant Director Laboratory for Creative Arts & Technologies. Laboratory for Creative Arts & Technologies. Artists always use the technology of their age 21 st Century is the Information Age Arts applications use & need advanced IT.
E N D
CACTUS & Rendering in HPC ClustersStacey Simmons Assistant DirectorLaboratory for Creative Arts & Technologies
Laboratory for Creative Arts & Technologies • Artists always use the technology of their age • 21st Century is the Information Age • Arts applications use & need advanced IT
Convergence Convergence of Media & Information Technologies Scientific Visualization Video & Computer Games Web-delivered Information Digital Animation Video & Audio Production New Media Art Works
Software Far Behind Hardware • In HPC, hardware developments are much faster than application developments. • CACTUS can help overcome this. • Commercially viable.
What is rendering? • rendering - The conversion of a high-level object-based description into a graphical image for displayFor example, ray-tracing takes a mathematical model of a three-dimensional object or scene and converts it into a bitmap image. Another example is the process of converting HTML into an image for display to the user. • “Reality begins at 80 million polygons” -Alvy Ray Smith
Some Problems in Rendering Technologies • Computing Power • Task Farming • Load Balancing • Primitive Reflection • Communication • Scalability
Computing Power • Parallelization has increased capacity, but communication and scalability are problems. • Opportunities exist for advancement, but we’re still behind where we’d like to be
Primitives • Primitives are course images sent from the client to the processor. • These are used by the processor as references in the rendering process. • The more complex the image, the more memory it takes up, this affects efficiency, correction, and thus, delivery time.
Primitives and Distributed Rendering • Distributed Rendering refers to the distribution of an image over a network of machines. • The image is broken up into tiles. • Each tile is assigned to a processor, with its primitive. • The computer then converts that numerical data into a graphic image. • The tile image is composited and sent back to the client where the tiles are then composited into a single image.
Task Farming • In a multi-processor environment, task farming is essential but comes with inherent problems. • Scalability is limited because of mirrored primitives needing to be loaded on each processor. • Some researchers have new techniques which are not appropriate for every project, but which sometimes need to be integrated in a greater project. • Being able to assign individual groups of processors is ideal, but difficult. • Need to be able to track distributed components as well as composite/reassembly.
Load Balancing • One of the greatest obstacles is the need for a reference primitive to be loaded on every tasked machine. • Scheduling becomes an issue without proper checks and redundancies • Having a thorn that could properly analyze and distribute the tasks would be ideal. • Having a thorn that would check, schedule, and reassign simultaneously would be a great help.
Thorn Opportunities • Thorns that analyze the complexity of an image and distribute the tiles based on complexity. • Thorns that schedule and check the completed tasks over the system. • Thorns that segregate groups of processors and tasks. • Thorns that could help with efficiency of primitives on each processor. • Thorns that could assign a different rendering program simultaneously for a given project. • Thorns that could manage compositing. • Thorns for research purposes, assigning varying groups of processors and testing experimental formulae simultaneously over clusters or grids.
Thorn Opportunities • Thorns that can analyze the boundaries of 3D data, and predict where data starvation may occur. • Thorns that can insert program algorithms as needed. • Thorns that can apply texture maps or schedule secondary rendering or compositing processes.