Download IET Lecture: 3D Computer Rendering

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

IEEE 802.1aq wikipedia , lookup

Lag wikipedia , lookup

Distributed operating system wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Remote Desktop Services wikipedia , lookup

Airborne Networking wikipedia , lookup

CAN bus wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Peer-to-peer wikipedia , lookup

Kademlia wikipedia , lookup

Transcript
3D Computer Rendering
Kevin Ginty
Centre for Internet Technologies
www.cit.sunderland.ac.uk
Welcome!
Overview
The Sunderland Grid architecture
 The rendering process
 Four rendering applications trialled
 Emerging themes and common issues
 Grid rendering demo

Grid Architecture



40 compute nodes (plus 2 head nodes)
runs Linux and Windows 2003 Server
each node has



8GB RAM, 2 dual core processors 2.66GHz
250 GB local scratch disk
3 x 1GB network cards
Grid Architecture

Entirely self contained network







Cisco 6500 series router
10 high specification workstations
VoIP switchgear
Scali grid management software (Linux)
Windows 2003 Server Compute Cluster Edition
(incorporating Grid administration)
Can run either system
Different parts of the grid can run different operating
systems i.e. some nodes can be running Linux while the
rest are in Windows 2k3 CCE
Uses of rendering

Rendering applications are used for
generating graphics, animations and
simulations for
Cartoons and movies (e.g. Toy Story, Star Trek)
 Industrial models
 TV advertisements
 Walk-through simulations for architect’s
designs

The rendering process
Begins with a 3D model, known as a
“wireframe”
 Surface colour and texture detail for the
object
 Background information (may be
photographic)
 Light source and direction
 Camera angle(s)

The rendering process




Algorithms are then used to model the motion of
the object(s) against the background, frame by
frame
Each frame is then completed by filling in the
areas on the wireframe with the colour and
texture data
Each frame can take a long time to render – from
several seconds through to several minutes
Frames are assembled into a movie file, and
saved at the appropriate resolution
The rendering process - interface
The rendering process – camera angles
The rendering process - wireframe

AVIs
Rendering Applications

Four rendering applications were
considered, three commercial and one
open source:Autodesk 3DS Max
 Maxon Cinema 4D
 NewTek Lightwave
 Blender

Uses of rendering

Rendering applications are used for generating
graphics, animations and simulations for





Cartoons and movies (e.g. Toy Story, Star Trek)
Industrial models
TV advertisements
Walk-through simulations for architect’s designs
Examples (run avi’s)



Robot
Apache
Guildhall
Rendering Applications - comparison
Autodesk 3DS Max the most widely used
 Blender is an open source alternative
 All four accomplish essentially the same job
 Differences in performance, arising from
differences in modality and use of system
resources

Rendering applications – common issues


In order to run on the grid, frame rendering operations
need to be farmed out to the compute nodes, processing
carried out there, and the results collated afterwards.
Rendering applications have therefore to




Scheduling work on the nodes


Transfer data to the nodes
Run processes, either locally installed on the node or executable
code copied across at run-time
Transfer the data back to a central location to be collated
afterwards
Needs to be handled efficiently
Rendering applications like to use the high performance
graphics adaptors found in workstations (but not in
servers!)
Rendering applications – data transfer


One node (or workstation) manages the operation
Data can be copied to and from the node




Directly from the workstation (may make a bottleneck on the
workstation due to disk access times, and processor time spent on
handling the file copying across to lots of nodes)
From a third point on the network acting as a data store (e.g.
Network Attached Storage) which is better because the controlling
node or workstation is not tied up most of the time on data transfer
Using mapped drives or UNC paths (Uniform Naming Convention)
where the operating system handles the accessing of remote
logical drives.
Transferring the files using dedicated processes and the nodes’ ip
connections
Rendering applications – data transfer



Operationally, the tidiest way to do it would be via
dedicated processes, and ip connections, using
NAS storage
In practice, few rendering applications support all
of this
NewTek Lightwave uses UNC paths to copy the
data files back to the control node – which gets
into trouble with the 10 connection limit for
mapped drives in Windows XP…
Scheduling tasks on the compute nodes

Efficiency varies enormously



Some applications (3DS Max) schedule quite well, and
make fairly good use of available resources
Others (Blender/YADRA) schedule on the next free
node, and count along from the beginning each time,
meaning that nodes later in the sequence don’t get
used unless the render operation takes a long time
(and the earlier nodes are busy for longer…)
Lightwave clicks along the list of nodes, scheduling the
next one every 3s or so, regardless of how long the
jobs take, or whether or not the previous nodes have
completed their tasks already… so if a render takes
12 seconds, only four of the nodes will ever be in use.
Rendering applications – OS environments


Most rendering applications specify Windows XP, with
some using Vista and occasionally servers
Desktop environments like XP are preferred by the
applications because





Desktop boxes have high performance graphics adaptors
XP has the drivers
Server OS tend not to support powerful graphics, and may not
have drivers for high performance graphics cards
Server hardware is usually configured so as to provide maximum
support to the network adaptors and disks, and not the display
drivers
But…
Rendering applications – OS environments



Copying large amounts of data over the network
Managing large numbers of simultaneous connections
(mapped drives or otherwise)
… are much better handled by server
operating systems, which are designed to
do so
Rendering applications – OS environments, and GPUs


Microsoft are currently considering this problem,
as a range of applications (not just rendering) are
utilising the computer power of the high
performance graphics adaptors now found in
most workstations
Solutions:

MS build the drivers for the cards into Server 2008 !
Start making server hardware that handles high
performance graphics as well…
Questions
?
Questions
Thank you!
Kevin Ginty
[email protected]