分布式计算
Distributed Computing
我的朋友必须在工作中编辑大量视频,他一直在谈论他们如何不得不离开计算机进行渲染,有时一次要超过一天。最后一项工作是在 12 核 Mac Pro 上进行 40 多个小时的渲染。
无论如何,我阅读了一些有关使用 After Effects 进行网络渲染的内容,这让我想起了我想获得一些 raspberry pi 来学习分布式计算编程的经历。
我的问题是:是否有任何 projects/frameworks 抽象了 "distributed" 方面,以便设计时考虑到单机使用的程序,如 Premiere Pro,可以 运行在分布式系统上?例如,也许库,或者它是什么,使单个节点在所述程序中显示为线程,因此它不知道它在分布式系统上 运行ning...?
这对我来说是一个新概念,如果我想象的不可能,我现在真的不想深入研究这些东西。
您指的是所谓的单一系统映像(SSI)计算。该术语描述了一种用于高性能计算(不一定是分布式计算)的计算架构,其中单个操作系统 运行ning,因此应用程序程序员将能够 运行 此单个操作系统中的多个线程.这对应用程序开发人员来说有很大的优势,可以应用并行计算范例,开发人员不必处理来自分布式计算的复杂性,即集群中多台计算机之间的进程间计算和共享内存的缺乏.
集群计算在过去获得了更多的关注。这一趋势背后的驱动因素之一是集群可以很容易地在通用云服务之上实现,并且通常集群方法允许扩展到更大的规模,这通常是网络规模应用程序的要求。
但是,您特别要求 SSI 系统。在高性能计算领域,我们知道很多这样的系统。其中一个非常流行的是 Altix 系列 https://en.wikipedia.org/wiki/Altix。这些是非常大规模的计算机,通常有数千个处理器和 terra-bytes 的 RAM 和 运行 SSI Linux 内核。从硬件的角度来看,各个处理器和内存板相互连接并支持所谓的高速缓存一致性非统一内存访问 (cc-NUMA)。这基本上是一种机制,给操作系统一种印象,即它正在使用一个大型线性内存块,而实际上内存分散在许多计算节点上。显然,这意味着有些内存区域更快,有些内存区域更慢。应用程序开发人员需要牢记这一点。 Altix 使用专有的高带宽互连架构,允许他们非常快速地移动集群中的内存块。您可能会认为这些机器非常昂贵,而且通常只能在研究机构中使用。
有一些方法可以在现成的商品硬件上实现类似的功能。在过去,Beowulf (https://en.wikipedia.org/wiki/Beowulf_cluster) project was very popular and used in practice in quite a lot installations. For this project I am not too sure whether or not you are able to roll out an installation with modern Linux kernels. Similarly the OpenSSI (https://en.wikipedia.org/wiki/OpenSSI) and OpenMosix (https://en.wikipedia.org/wiki/OpenMosix) projects seems to not provide any recent releases. Perhaps Kerrighed (http://www.kerrighed.org/wiki/index.php/Main_Page) 值得一试,至少你应该能够在 x86_64 架构 运行ning.
上获得安装
你提到你想在使用 ARM 处理器架构的 Pi 上推出类似的东西。据我所知 none 上述方法支持 ARM。然而,在集群领域,MPI 是一个使用相当广泛的标准。有关于如何在一组 Pi (http://thenewstack.io/installing-mpi-python-raspberry-pi-cluster-runs-docker/) 上获得 MPI 运行ning 的教程,这些集群用于教授分布式计算。它们的性能绝不能与商业集群系统竞争。然而,架构是相同的,因此这些装置很好地服务于教学目的。试想一个可以装在手提箱里随身携带的集群系统!
我的朋友必须在工作中编辑大量视频,他一直在谈论他们如何不得不离开计算机进行渲染,有时一次要超过一天。最后一项工作是在 12 核 Mac Pro 上进行 40 多个小时的渲染。
无论如何,我阅读了一些有关使用 After Effects 进行网络渲染的内容,这让我想起了我想获得一些 raspberry pi 来学习分布式计算编程的经历。
我的问题是:是否有任何 projects/frameworks 抽象了 "distributed" 方面,以便设计时考虑到单机使用的程序,如 Premiere Pro,可以 运行在分布式系统上?例如,也许库,或者它是什么,使单个节点在所述程序中显示为线程,因此它不知道它在分布式系统上 运行ning...?
这对我来说是一个新概念,如果我想象的不可能,我现在真的不想深入研究这些东西。
您指的是所谓的单一系统映像(SSI)计算。该术语描述了一种用于高性能计算(不一定是分布式计算)的计算架构,其中单个操作系统 运行ning,因此应用程序程序员将能够 运行 此单个操作系统中的多个线程.这对应用程序开发人员来说有很大的优势,可以应用并行计算范例,开发人员不必处理来自分布式计算的复杂性,即集群中多台计算机之间的进程间计算和共享内存的缺乏.
集群计算在过去获得了更多的关注。这一趋势背后的驱动因素之一是集群可以很容易地在通用云服务之上实现,并且通常集群方法允许扩展到更大的规模,这通常是网络规模应用程序的要求。
但是,您特别要求 SSI 系统。在高性能计算领域,我们知道很多这样的系统。其中一个非常流行的是 Altix 系列 https://en.wikipedia.org/wiki/Altix。这些是非常大规模的计算机,通常有数千个处理器和 terra-bytes 的 RAM 和 运行 SSI Linux 内核。从硬件的角度来看,各个处理器和内存板相互连接并支持所谓的高速缓存一致性非统一内存访问 (cc-NUMA)。这基本上是一种机制,给操作系统一种印象,即它正在使用一个大型线性内存块,而实际上内存分散在许多计算节点上。显然,这意味着有些内存区域更快,有些内存区域更慢。应用程序开发人员需要牢记这一点。 Altix 使用专有的高带宽互连架构,允许他们非常快速地移动集群中的内存块。您可能会认为这些机器非常昂贵,而且通常只能在研究机构中使用。
有一些方法可以在现成的商品硬件上实现类似的功能。在过去,Beowulf (https://en.wikipedia.org/wiki/Beowulf_cluster) project was very popular and used in practice in quite a lot installations. For this project I am not too sure whether or not you are able to roll out an installation with modern Linux kernels. Similarly the OpenSSI (https://en.wikipedia.org/wiki/OpenSSI) and OpenMosix (https://en.wikipedia.org/wiki/OpenMosix) projects seems to not provide any recent releases. Perhaps Kerrighed (http://www.kerrighed.org/wiki/index.php/Main_Page) 值得一试,至少你应该能够在 x86_64 架构 运行ning.
上获得安装你提到你想在使用 ARM 处理器架构的 Pi 上推出类似的东西。据我所知 none 上述方法支持 ARM。然而,在集群领域,MPI 是一个使用相当广泛的标准。有关于如何在一组 Pi (http://thenewstack.io/installing-mpi-python-raspberry-pi-cluster-runs-docker/) 上获得 MPI 运行ning 的教程,这些集群用于教授分布式计算。它们的性能绝不能与商业集群系统竞争。然而,架构是相同的,因此这些装置很好地服务于教学目的。试想一个可以装在手提箱里随身携带的集群系统!