分布式计算

Euroclydon37

我的朋友在工作中不得不编辑很多视频,他一直在谈论他们如何不得不离开计算机进行渲染,有时一次渲染超过一天。最后的工作是在12核Mac Pro上进行40个小时以上的渲染。

无论如何,我读了一些有关使用After Effects进行网络渲染的知识,它使我想起了什么时候我想买些树莓派来学习分布式计算的程序设计的。

我的问题是:是否有任何项目/框架可以抽象化“分布式”方面,从而使设计用于单机使用的程序(如Premiere Pro)可以在分布式系统上运行?例如,也许是这个库,或者说它是什么,都使单个节点在程序中看起来像线程,因此它不知道它在分布式系统上运行...?

对我来说,这是一个新概念,如果我无法想象的话,我现在真的不想深入研究这些东西。

马蒂亚斯·斯坦鲍尔(Matthias Steinbauer)

您所指的是所谓的单系统映像(SSI)计算。该术语描述了用于高性能计算(不一定是分布式计算)的计算体系结构,其中单个操作系统正在运行,因此应用程序程序员将能够在该单个操作系统内运行多个线程。对于应用程序开发人员而言,这具有很大的优势,即可以应用并行计算范式,并且开发人员不必处理来自分布式计算的复杂性,即群集中几台计算机之间的进程间计算以及缺少共享内存。

集群计算在过去引起了越来越多的兴趣。推动这一趋势的因素之一是,可以轻松地在通用云服务之上实现群集,并且通常,群集方法可以扩展到更大的规模,这通常是Web规模应用程序所必需的。

但是,您明确要求使用SSI系统。在高性能计算领域,我们知道许多这样的系统。其中一项很受欢迎的是Altix系列https://en.wikipedia.org/wiki/Altix这些是超大型计算机,通常具有数千个处理器和TB的RAM,并运行SSI Linux内核。从硬件的角度来看,各个处理器和内存板是互连的,并支持所谓的高速缓存一致性非均匀内存访问(cc-NUMA)。从根本上讲,这是一种机制,使操作系统给人一种印象,即它正在使用一个大型线性内存块,而实际上内存分散在许多计算节点上。显然,这意味着存在更快的存储区域,而其他存储区域则较慢。应用程序开发人员需要牢记这一点。Altix使用专有的高带宽互连体系结构,使它们可以非常快速地在群集中移动内存块。

有一些方法可以在现成的商品硬件之上实现类似的功能。过去,Beowulf(https://en.wikipedia.org/wiki/Beowulf_cluster)项目非常受欢迎,并在许多安装中得到了实际使用。对于这个项目,我不太确定您是否能够推出使用现代Linux内核的安装。同样,OpenSSI(https://en.wikipedia.org/wiki/OpenSSI)和OpenMosix(https://en.wikipedia.org/wiki/OpenMosix)项目似乎未提供任何最新版本。也许Kerrighed(http://www.kerrighed.org/wiki/index.php/Main_Page)值得一试,至少您应该能够在运行于x86_64的顶级体系结构上进行安装。

您提到的是要在使用ARM处理器体系结构的Pi上推出类似的东西。据我所知,上述方法均不支持ARM。但是,在集群领域中,MPI是一种非常广泛使用的标准。关于如何在一组Pi上运行MPI的教程(http://thenewstack.io/installing-mpi-python-raspberry-pi-cluster-runs-docker/),这些集群用于教学分布式计算。它们的性能绝不能与商业集群系统竞争。但是,架构是相同的,因此这些安装非常适合教学目的。试想一下一个群集系统,您可以将它随身携带在手提箱中!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章