250 likes | 578 Views
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
E N D
3D Computer Rendering Kevin Ginty Centre for Internet Technologies www.cit.sunderland.ac.uk
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
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 • 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 • Scheduling work on the nodes • 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 Thank you! Kevin Ginty kevin.ginty@sunderland.ac.uk