渲染农场(Renderfarm),学名:分布式并行
集群计算系统,这是一种利用现成的CPU、
以太网和操作系统构建的
超级计算机,它使用主流的商业
计算机硬件设备达到或接近超级计算机的计算能力。
集群
(cluster)指的是一组计算机通过
通信协议连接在一起的计算机群,它们能够将工作负载从一个超载的计算机迁移到集群中的其他计算机上,这一特性称为
负载均衡(load balancing),它的目标是使用主流的硬件设备组成网格计算能力,达到、甚至超过天价的超级计算机的计算性能。典型的超级计算机生产厂商包括IBM、SGI,以及其他一些大学、科研组织,以IBM Blue Pacific超级计算机为例,它拥有5800 个处理器来计算
核反应的物理模拟过程,这样的计算机价格对于绝大部分商业用户是很难承受的,而且要面临很多的技术和维护问题,并且换代成本也很高,升级能力差。因此,发展了利用通信技术连接其他计算机,组成一个网格计算系统,可以分配负载的工作给其他计算机的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的效能并且使用性能优异的
硬件配置。
参考价格表
自助渲染平台
基于Web界面的自助式渲染农场为用户提供了更简单易用的使用界面,相对于传统渲染农场,它能充分发挥互联网的优势,通过ftp进行渲染输入输出文件的上传下载。而提交渲染任务的设置界面通过网页实现,避免了传统渲染农场需要管理员通过特殊的管理界面进行任务的提交。基于Web的渲染农场将是未来渲染行业的主流,国外已经有数家大型农场实现了web自助化。如respower、renderrocket,等等。
一般自助式渲染平台具备如下特性:
1.网页提交渲染、实时监控任务
2.智能识别软件与渲染器的版本
3.自动检测缺失的贴图和代理文件
4.自动重设光子文件路径
5.自动分析场景文件参数
6.智能加载插件,按需加载
7.24小时运营、24小时服务
8.渲染完成后实时Email、手机短信通知
9.自动下载渲染结果
10.自动计算渲染时间,按帧计费