四核Xeon渲染农场(Renderfarm)解决方案
- 格式:doc
- 大小:25.50 KB
- 文档页数:7
四核Xeon渲染农场(Renderfarm)解决方案
Renderfarm(渲染农场)其实是一种通俗的叫法,实际上我们应该叫他“分布式并行集群计算系统”,这是一种利用现成的CPU、以太网和操作系统构建的超级计算机,它使用主流的商业计算机硬件设备达到或接近超级计算机的计算能力。
集群(cluster)指的是一组计算机通过通信协议连接在一起的计算机群,它们能够将工作负载从一个超载的计算机迁移到集群中的其他计算机上,这一特性称为负载均衡(load balancing),它的目标是使用主流的硬件设备组成网格计算能力,达到、甚至超过天价的超级计算机的计算性能。
典型的超级计算机生产厂商包括SUN、SGI,以及其他一些大学、科研组织,它拥有数千个处理器来计算核反应的物理模拟过程,这样的计算机价格对于绝大部分商业用户是很难承受的,而且要面临很多的技术和维护问题,并且换代成本也很高,升级能力差。
因此,发展了利用通信技术连接其他计算机,组成一个网格计算系统,可以分配负载的工作给其他计算机的CPU进行处理的解决方法来模拟超级计算机的能力。
目前很多超级计算机也是通过集群技术得到的,特别是近年,名列世界Top500的超级计算机多数指集群系统,集群计算已经是比较成熟技术,但它仍在继续发展着。
目前的集群技术绝大多数都具有负载平衡的特性,他们主要应用与科学计算,包括航天航空、石油、科研、网络等行业,这种技术应用于电影电视、CG行业时,因为
主要用来解决长时间的图像渲染问题,所以被称为“Renderfarm(渲染农场)”,最近的几部大片的制作都依赖Renderfarm系统来进行快速渲染,比如Weta制作的《魔戒》,如果没有Renderfarm(渲染农场)平台,而是使用高性能计算机的话,我们不知需要多少年以后才能看到这部电影,或者导演根本就不可能考虑制作这样视觉效果的电影。
负载均衡的工作原理
分布式并行计算分为空间上的并行和时间上的并行。
空间上的并行是指用多个处理器并发的执行计算,比如Mentalray渲染器就支持单帧画面分割渲染,时间上的并行就是指流水线技术。
现在的集群计算系统的前沿科学研究主要是空间并行方面的,时间上的流式并行计算已经得到广泛应用。
以电影制作为例,一段电影图像序列需要很长时间的渲染,(通常2K分辨率所需要的渲染时间能被大家接受的大概是在每帧1小时左右),管理节点将序列图像分割为若干单元通过Web分配给其他节点,这个过程是动态的,集群软件会检查每个节点的当前负载,如果某个计算节点硬件配置比较高,很快完成了第一次分配的渲染工作,那么管理节点继续会将剩余工作分割为若干单元然后再发送给这个已完成渲染的空闲计算节点,直到渲染工作完成。
目前用于CG渲染的商业RenderFarm软件的核心功能其实就是动态分配渲染进程、网络监控和数据管理。
负载均衡系统使计算负载可以在计算机集群中尽可能平均分摊处理。
负载一般是需要应用程序处理,这样的系
统适合于运行同一组应用程序的大量用户,比如用于Maya渲染的工
作组,每个节点都可以处理一部分工作,并且可以在集群节点之间动态分配负载,以实现平衡。
集群计算管理需要涉及网络流量和流量管理。
负载均衡应用服务要求集群软件检查每个节点的当前负载,并确定哪些节点可以接受新的作业,这最适合运行如数据分析等串行和批处理作业,所以很容易允许具有批渲染能力的应用软件加载集群功能,一些集群软件被开发出来,它们通过TCP/IP 进行流量管理,并且针对特定的应用程序的API或Script接口编写批处理命令,如Muster,并且这些集群软件还可以配置成关注某特定节点的硬件或操作系统功能(受应用软件制约),这样,群集中的节点就没有必要是一致的,硬件和系统异构也就很容易实现。
实现负载均衡的方式可以分为软件负载均衡和硬件负载均衡两种方式,由于硬件负载均衡的实现非常昂贵,很多集群系统都采用了软件负载均衡,正睿集群系统就是使用软件均衡。
并行计算的问题
并行原理是将整个数据分割成N个模块分配给N个CPU 计算,在每一个CPU中启动计算进程,由主进程调度各CPU的计算。
并行集群计算有一个效率发挥的问题,理论上CPU数量和渲染时间与实际会有差异,而且不同系统的实际时间也不尽相同。
理论上说CPU数量越大,渲染时间越短,它们成反比关系。
例如,一个任务由N颗CPU 来完成,假设1颗CPU(N = 1)完成此任务所需要的时间T为1, 则n颗CPU的效率是1颗CPU 效率的N倍,然而事实上,动画渲染花费
的时间和CPU的数量并非成线性反比。
当计算节点到某个数量级别的时候,简单地增加CPU数量或者计算节点根本无法有效地提高渲染的效率,这时的计算方式为:
CPU个数达到一定数量后系统效率不但不增加,还有可
能减少。
造成这种问题的瓶颈主要在于通信(不止网络通信,还包括PC内部CPU、内存和硬盘之间的通信)和
软件的算法,系统中使用多少个节点计算机(基于CPU的数量)也是需要考虑的问题。
这就需要一个拥有优秀算法的集群渲染管理软件进行调度并发挥每个CPU的效能并且使用性能优异的硬件配置。
Renderfarm特性
Renderfarm是基于软件和硬件应用的完美结合,采用基于微软Windows的Render farm,最新的网络管理方式,是用于管理复杂的和跨平台的高级3D和2D网络渲染解决方案,在渲染效率、稳定性、灵活性方面具有强有力的优势!
Renderfarm独特的“蜂群”构架消除了对集中“管理
器“的需求??就像程序一样。
1)基于1U平台解决方案
在标准的42U机轨上轻松部署160颗处理器运算节点,提供业内独一无二的高性能--它带有众多创新性的选项:
多核处理器、NVIDIA Quadro FX 图形处理和高性能千
兆以太网。
2)强劲的处理器支持
支持最新的双核心处理器,在1U平台上集成四颗物理核心处理器,提供超过普通双处理器平台双倍的运算效率!
3)64位系统构架
采用64位系统架构,良好兼容32位运算,平滑过渡到
64位系统!
4)友善的用户界面
针对广大用户的反馈,Renderfarm对自身做出了相应的
改进:没有了缓慢的页面、晦涩难懂的术语和运行怪异
的多平台用户界面窗口部件,取而代之的是一个单一完
整的Monitor 用户界面。
5)对当前各种渲染包的完美支持
除了能够支持所有标准命令行渲染工具,Renderfarm带
有针对Maya,3ds max,Digital Fusion, Lightwave, Softimage XSI 和AfterEffects等软件的自定义编写
窗口,通过专门的应用软件脚本或者插件,以实现高效率及可配置性。
广泛的应用程序支持包括:3dsmax After Effects Combustion Digital Fusion Gelato Lightwave Maya Shake Softimage XSI
基于RIB渲染引擎3Delight、AIR、BMRT、Entropy、PRMan、Pixie、RenderDotC 脚本和C++SDK插件,支持
渲染引擎的脚本,SDK提供强大灵活的特性。
整合RPManager
6)多个工作时间表选项。