室内设计(旧)

为什么渲染农场是高性能的计算机系统?

我要回答
takk 已采纳 有用 0

随着影视行业的发展,人们对影视画面的要求越来越高,画面的精度也越来越高。随之而来的是巨大的渲染时间成本。伴随着渲染需求的增加,渲染农场也慢慢走进各大影视制作公司,为广大影视制作者所熟知。今天我们一起来聊聊这个具有超级计算能力的系统组织。

为什么渲染农场是高性能的计算机系统?
renderbus渲染农场案例

1、什么是渲染农场(Renderfarm)

渲染农场是“分布式并行集群计算系统”,它是一种利用现成的CPU、网络负载和操作系统构建的高性能超级计算机,它使用主流的商业计算机硬件设备通过分布式技术应用达到或接近超级计算机的计算能力。


2、渲染农场最大的特性

通常2K电影分辨率所需要的渲染时间能被大家接受的大概在每帧1小时左右,而好莱坞主流电影的分辨率在2K、4K,甚至达到了6K或者8K,随着每一阶品质的提高而其渲染时间将是上一品质的4倍。

如果场景还涉及到粒子、流体等复杂计算的时候,渲染的速度又会成倍提高,一帧画面的渲染时间可能在10小时以上。

渲染农场在商业硬件设备的基础上有效解决了电影渲染时长的难题,通过并发式作业,将一帧大分辨率图分解成n个小计算单元,各小计算单元并行工作,极大的减少了渲染时间和渲染难度。

分布式并行计算分为空间上的并行和时间上的并行两种,即横向与纵向的并行方式。在横向上,主要是把画面进行切割,然后将单元数据分发到系统的各节点计算后返回结果。纵向上即是时间的并行,例如把一个序列同时进行计算然后再将各结果汇总。

现在的集群计算系统的前沿科学研究主要是空间并行方面的,时间上的流式并行计算已经得到广泛应用。

以电影制作为例,一段电影图像序列需要很长时间的渲染,(通常2K分辨率所需要的渲染时间能被大家接受的大概是在每帧1小时左右),管理节点将序列图像分割为若干单元通过Web分配给其他节点,这个过程是动态的,集群软件会检查每个节点的当前负载,如果某个计算节点硬件配置比较高,很快完成了第一次分配的渲染工作,那么管理节点继续会将剩余工作分割为若干单元然后再发送给这个已完成渲染的空闲计算节点,直到渲染工作完成。

目前用于CG渲染的商业RenderFarm软件的核心功能其实就是动态分配渲染进程、网络监控和数据管理。


3、关于并行计算

并行原理是将整个数据分割成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的效能并且使用性能优异的硬件配置。


综上所述:可以将渲染农场理解为高性能的计算器系统。


2020-05-29 评论
查看更多评论