如何使用 Xgrid?

如何使用 Xgrid?

我阅读了一些关于 Mac OS X 上的 Xgrid 的内容,我了解到我可以使用它来为某些应用程序提供更强大的功能。

什么类型的软件可以使用 Xgrid?如何使用它?

答案1

我发现,要了解 Xgrid 是否符合您的要求,最好的办法之一就是阅读Xgrid 教程来自 MacResearch。

可以说,Xgrid 主要针对的是科学界,他们编写程序来利用它,因此想要利用它来利用 iMovie、Photoshop、Final Cut 等程序是不可能的。

请参阅 Xgrid 邮件列表中的常见问题解答

如果您想在 Final Cut 套件或 Maya 中使用类似于 Xgrid 的东西,请查看 Final Cut 套件的一部分 QMaster。

答案2

Chealion 很好地回答了你的问题中的“如何”部分。

要解决哪些类型的应用程序可以使用 Xgrid:

Xgrid 非常适合任何可以分布在多台计算机上并行运行的任务,无论是工作站还是服务器。有时这些问题集被称为“令人尴尬的并行”。需要很长时间才能完成但只需要很少数据通过网络的计算是极好的候选者(例如 Seti@Home)。

Xgrid 由 3 个主要部分组成(控制器、代理、客户端)。任务从客户端(命令行或 API)发送到控制器并在任何可用的代理上运行,类似于早期的分布式调度系统,如 SGE(bsub/qsub)或 MPI。除了使用 xgrid API 的自定义代码外,任何可以从命令行调用的应用程序都可以使用 xgrid。运行任务非常简单(其中 uname 可以是任何命令行应用程序,如 matlab、R、blender、maya 等):

$ xgrid -h controller.mygrid.com -job run /usr/bin/uname -a  
Darwin node006.mygrid.com 10.2.0 Darwin Kernel Version 10.2.0 ...

Xgrid 的常见用途:

  • 科学计算
  • 分布式3D渲染
  • 分布式音频/视频处理

Xgrid 是不是非常适合相互依赖的任务(必须串行执行)或需要移动大量数据的任务(复制数据所花的时间比本地运行更长)。

Xgrid 本身只是在远程系统上执行给定任务,它无法将应用程序执行的操作分解为更小的部分(例如 Photoshop 将效果应用于单个图像)。无法分解为更小部分的任务更适合使用协处理器或 GPU 处理(通过 CUDA / OpenCL / GPGPU)。

以 Photoshop 为例,如果您必须对数千张图像应用变换/效果,xgrid 将会很有用,因为网格中的每台计算机都可以同时处理单独的图像。

其他资源:

相关应用程序...

跨平台 Xgrid 组件...

答案3

有许多现有应用程序会使用它,例如 Compressor。如果您希望将其用于您自己的应用程序,则需要使用 Apple 的 X-Code IDE 和为此目的提供的特定 API 来编写它们。这里是 Apple 网站上 xgrid 编程说明的链接。

相关内容