StarFS方案 | 并行存储加速影视动漫渲染

概述

日常生活中的电影、电视、动画、游戏,都离不开渲染,可以说渲染是与人们日常生活中最为贴近的高性能计算(HPC)应用之一。渲染在计算机绘图中是指:将模型(3D模型)变换为图像的过程,模型是用语言或者数据结构进行严格定义的二维、三维物体的虚拟场景的描述,他包括几何形状、视点、材质、纹理、光线和阴影等多个参数。渲染是计算机图形学中最重要的研究课题之一,并且在实际应用领域它与其他技术密切相关,在图形流水线中,渲染是最后一项重要步骤,通过它得到模型与动画最终显示效果。每幅图片的渲染时间,根据模型复杂度的不同,从几秒到几天,都是有可能;模型越复杂,显示要求越高,渲染时间就越长。

渲染分为预渲染和实时渲染,这两种渲染的速度都非常慢。预渲染的计算强大很大,需要大量的专业服务器运算完成,通常被用于电影/动画制作;实时渲染经常用于三维游戏,通常依靠GPU完成。

 

场景解析

 

如何计算一部的电影大小:

一帧画面=分辨率*像素大小*元数据因子

分辨率=横向像素数*纵向像素数

像素大小=色位深度*颜色通道

元数据因子是指保存元数据所需的附件空间,通常按照1.03或1.05计算。

按照上述计算方式,比如一幅2K高清24位的真彩色画面(2048*1080像素),按照常用的RGB色彩通道来进行计算,一帧画面的大小为:

(2048*1080)*(24b*3)*1.05=159252480b*1.05

大约20MB,按照此核算,一部两小时的电影,元数据所需要的空间为:

20BM*24fps*60s*120min=3.3TB

最常见的3D制作渲染软件有:3ds Max/Maya等。其中3ds Max/Maya主要用于图像模型制作、其他用于图形渲染。RenderMan、Mental Ray和V-Ray是目前常用的渲染器,它们既有独立的渲染器,在Maya、3ds Maya等软件中也有集成版本:

渲染农场技术

渲染农场是一个通俗的名称,由于其计算过程的长期性和分布式特点与农场作业颇为相似,故得名为渲染农场。他本质上是采用分布式计算机集群,是HPC应用的一种简单架构类型。

如今渲染农场已经成为许多动画及特效公司的标准配置,实际上,离开了渲染农场,任何动画及特效影片几乎寸步难行,而且渲染农场的规模也意味着影片制作的效率和产能。

渲染农场一般采用管理节点、调度服务器、数据库服务器、存储服务器。

对于存储系统而言,主要用于存储计算任务所需的资源、素材文件,支持所有计算节点的实时访问,需要较高的网络带宽和IOPS能力。不管存储系统是分布式存储还是集中式存储,首先需要满足所有计算节点并发密集读写需求。对于大多数渲染农场而说,数据读写带宽或IOPS能力底下对于集群的影响是全局性的,从存储系统往往成为整个集群的性能瓶颈。

根据任务类型的不同,从存储系统承受的压力也有所不同,在三维动画渲染节点,如Maya、3ds Max的动画渲染任务是一次性读取场景资源,进入渲染阶段后不会有大规模的数据交换。而后期处理任务如After Effects、Nuks等,输入和输入都是批量的图像文件,存储系统长期需要保持很高的带宽和请求数,因此动画公司和后期制作公司对存储的要求相差很大。

从上述的说明,我们可以看出,渲染需要存储系统:

1

大容量

2

高并发下的吞吐能力

3

高并发下的IOPS能力

为什么选择StarFS?

出众的性能

StarFS是一个性能为中心,围绕简单易用、易安装以及易管理而设计的领先并行文件系统。StarFS可以支持上百GB/s的吞吐性能,并且通过高效的切片算法,保证数据能均匀的落到不同的硬盘上,从而能对外提供稳定的IO能力。StarFS不断地发展和持续优化赢得了广大用户的信赖。

                                                                                           图1StarFS架构图

近乎无限的在线扩展能力

渲染应用除了高并发访问的特点之外,海量数据存储也是其重要特征之一。随着影片数量越来越多和清晰度越来越高,渲染平台的存储容量会不断的扩大,甚至达到几十PB或者上百PB。

现有的存储系统会不断的扩展,为此,存储系统的海量高可扩展技术对计算平台非常重要,我们在StarFS在线无限制快速扩容以及负载均衡技术的基础上研制高可扩展存储技术,使得存储系统的规模能够随着计算应用的发展而高效、无需中断服务的在线扩展,同时达到随着容量的增加性能的线性增长。

面向海量文件的小文件聚合存储技术

在影视渲染的海量客户端超高并发文件访问的过程中,会产生海量的小文件,并且需要对小文件进行高效率的检索和访问。

传统的NAS存储系统、普通的文件系统在面对海量小文件时都面临着文件创建、检索效率低下的问题,这也导致前段数百台计算节点无法更加有效的进行渲染任务,延缓了渲染作业的进展。

StarFS并行文件系统实现了自动化的小文件聚合落盘存储的技术,当创建的文件如果小于指定的容量就会将该小文件自动进行聚合成为大文件的方式进行落盘存储,从而能够充分的利用预读提升访问速度、减少落盘的元数据数量降低检索压力、利用大文件数据恢复速度快来提升纠删码重建速度等优势。StarFS并行文件系统通过种种优化,能够渲染农场的应用场景中可将小文件的检索访问效率提升十倍以上。

面向高计算的智能数据缓存技术

高效的数据缓存技术能够帮助存储系统发挥更好的性能,提高计算任务的效率。我们拟采用多级智能数据缓存技术来实现高效缓存。

首先,通过应用服务器上自主研发客户端内核模块,分析应用访问数据的特点,采用特定的缓存算法在应用服务器上有效缓存应用的访问数据;

其次,将所有存储服务器的内存集合起来形成一个大的缓存池,通过存储服务器上独特的缓存算法缓存不同应用访问的数据;

最后,将所有元数据服务器的内存集合起来形成一个高效的元数据缓存池,通过复杂的元数据淘汰算法来缓存元数据信息。通过这样多级数据的缓存技术,会使得整个存储系统的性能能够得到大幅提高。

“海量文件存储专家”

星实科技是一家致力于给客户提供海量数据存储和管理、云计算、空间可视化等产品方案的公司,目前有两个核心事业部:数据存储事业部、空间信息可视化事业部。

星实公司存储事业部核心研发人员曾经在国际知名存储公司从事研发和管理工作,具有多年的数据存储相关的研发产品化经验,基于完全自主研发的核心产品StarFS并行文件系统推出了高性能、高可扩展能力的大规模数据存储系统。