Post on 06-Jan-2016
description
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
•21st Century is the Information Age
•Arts applications use & need advanced IT
Convergence of Media & Information Technologies
Scientific Visualization
Video & Computer Games
Web-delivered Information
Digital Animation
Video & Audio Production
New Media Art Works
Convergence
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 display
For 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.
Discovery Channel
QuickTime™ and aPhoto decompressor
are needed to see this picture.
QuickTime™ and aPhoto decompressor
are needed to see this picture.
Source: Wilhelmson, Jewett, Shaw