专访《地心引力》背后的IT英雄

日期: 2015-08-16 作者:Cliff Saran翻译:杨琪 来源:TechTarget中国 英文

Steve MacPherson是位于伦敦的特效工作室Framestore的首席技术官,该公司为广告和电影业提供视频特效服务,其案例包括电影《地心引力》、电信公司O2的广告以及伦敦证券交易所的Stellar Atrium项目。

在视频特效行业的背后,是大量运行视频渲染任务的服务器在进行支撑。

MacPherson的背景是高性能计算(High-Performance computing),曾于上世纪80年代中期就职于超级计算机的先驱Cray公司。MacPherson表示:“如果我说经历了Cray的光辉岁月,无疑会暴露自己的年龄。”

Steve MacPherson

尽管MacPherson在Cray能接触到当时堪称现象级的计算设施,但是“没人关注性能的级别”。

对MacPherson来说,并不在意如今用智能手机就能获得Cray 1的性能。相反,他认为当前人们更关注的是高性能计算环境的可管理性。

“你是否能一次动用1万个核做仿真计算?或者,面对一个动用手头所有资源也需要计算48小时的任务,却又必须在12小时乃至8小时之内完成?”MacPherson问到。

这些就是MacPherson在2010年加入Framestore时所面临的挑战。当时,他的目标很简单:为电影《地心引力》的特效渲染提供足够的基础架构支撑。该片最终在2014年获得了奥斯卡最佳视觉效果奖。

Framestore的主要应用是其自建的服务器集群,特效团队通过渲染队列(由Framestore自行开发的作业调度系统,名为fQ)让作业排队运行。MacPherson表示:“通过fQ队列,硬件系统的利用率很少会低于96%。fQ能够收集空闲的资源,供合适的排队作业运行。因此,如果计算任务都在本地通过fQ运行,服务器总是能保持满载的状况。”

在Framestore,MacPherson主要任务是应对好渲染队列的负载高峰。除了本地的服务器集群之外,他也调研了将一部分负载迁移到Google Compute Engine上的可行性。

“任务的并行化是主要挑战。”MacPherson表示:“当我在Cray工作时,构建双核或四核对称多处理系统(symmetric multi-processing)是主要的挑战。”

在硬件平台的问题解决之后,接下来就是软件 – 要让应用代码能适用于并行计算的体系架构。“可扩展性是高性能计算的趋势之一,另一个焦点则是如何充分发挥并行架构的威力。这其中的工作包括编译器技术、编码能力以及对计算任务本身的理解。”MacPherson解释到。

应对压力

作为首席技术官,MacPherson表示:“团队基本每周会给我列出当前工作中的主要问题。我的责任就是一一解决这些难题。在预算管理、寻找人才、保持团队进取心等方面,都有大量的工作要做。以此才能顺利解决问题,让产品总监和首席执行官满意。”

对于如何完成使命的,MacPherson谈到了来自高层的支持。“这一点非常重要。我不需要为期六个月的采购周期,我要的是所有人能专注于解决方案本身。”

“当我们为《地心引力》做准备时,所有人都全力以赴。”

地心引力

MacPherson表示,公司现在已经变得更加敏捷。从技术的角度看,他不认为需要进行很大的变革。

相反,他觉得技术的发展是日积月累逐步形成的。

“比如,以云计算来说,由于各种浮华不实的鼓吹,两年前高性能计算圈子内普遍认为其‘就是一堆狗屎’。但是,随着各类云服务的逐渐成熟,我发现,在短时间内实现数千个核的扩展确实为系统提供了足够的弹性。”

在态度扭转之后,人们开始考虑什么样的工作负载可以迁移到云中、输入输出的限制、数据是否应该存储在云端以及传输延迟等问题。但是,MacPherson补充到:“除了这些技术因素外,我们首先还需要得到公司的批准。”

随后,Framestore将一些敏感性不高或较少输入输出操作的负载放到了Google云上。

云中的渲染任务

目前,Framestore已经开始用Google在比利时的云平台承载渲染任务。MacPherson在其近期的一则博客中写到:“通过将Google Compute Engine与我们的工作负载相集成,所有的项目都能获得所需的计算资源。创新团队能够拥有实现创意并快速实证的资源。最终结果就是,瓶颈减少、创意更多以及业务不确定性的下降。而且,在计算资源采购上还节省了20万欧元。”

在Framestore的服务器和Google位于比利时的云系统之间,大概有9毫秒的延迟,对此MacPherson认为完全是可以接受的。但是,如果要实现大文件在本地和云端服务器之间的来回传输,仍然不够现实。

因此,MacPherson借助Avere(大数据存储和管理服务提供商)来实现渲染引擎在云中的部署:“我们正在研究是否能用Avere来作为数据缓冲,从而减少文件在云端和服务器之间的传输。”

如果实验证明可行,Framestore将能够将更多的工作放到云中进行。“不像如今仅仅20%的比例,到时候能够将40%到50%的渲染工作迁移到云中,从而在资源供给上带来更大的弹性。”MacPherson表示。

事实上,Avere作为缓冲提高了渲染工作的效率(很多中间文件被缓存在Avere的系统中)。MacPherson表示,如果能将效率从70%提升到80%,将会带来极为显著的效益 – 只有不到10%的任务还需要将数据写回到本地服务器上。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

Cliff Saran
Cliff Saran

总编辑

翻译

杨琪
杨琪

相关推荐