distcc 类似 Windows 框架 [已关闭]

问题描述 投票:0回答:2

我们正在运行一些繁重的计算,可能需要很多时间(甚至几天)。我们有一个类似于编译器的架构(编译器+链接器):

  • 许多需要计算的数据块(它们由 solver.exe 可执行文件计算) - 类似于 编译器
  • 一个收集器应用程序,将所有结果组合成最终形式 - 类似于 链接器

我看到的是 distcc 在网络上的分发效果非常好。不幸的是distcc在unix环境下工作。

是否有一个平台可以提供类似于 distcc 的功能,但在 Windows(7+)平台下?

稍后编辑: 添加了 C++ 标签,因为如果存在这样的框架,我们将从我们的 C++ 编码经验中受益。

c++ windows distributed-computing distcc
2个回答
4
投票

我不知道有任何适用于 Windows 的免费/开源解决方案,但有两种商业产品可能会有所帮助:

来自 Electric Cloud 的

ElectricAccelerator。 ElectricAccelerator 最初设计用于加速软件构建,但可以将任意进程分发到计算机网络以并行执行。根据您所说的,使用 Accelerator 来满足您的需求应该很简单。它可在 Linux 和 Windows 上使用。

Xoreax Incredibuild 最初也是为了加速软件构建而设计的,但与 Accelerator 一样,Incredibuild 可以分发任意进程。它仅适用于 Windows。

免责声明:我是ElectricAccelerator的架构师


4
投票

FastBuild 是免费且开源的。它适用于 Windows/Linux/OSX。它有自己的构建配置文件语言。您可以在本地网络上设置工作人员以及连接到工作人员并向他们交付工作的客户端。

FastBuild 适用于 C++,并且可能适用于任何语言,因为您可以设置任何编译器可执行文件和依赖项(编译器分发给工作人员,因此您不需要在每台计算机上设置编译器)。

我发现的唯一缺点是,为了将工作人员与客户端连接,您需要设置带有可写文件夹的 Windows 网络共享,我认为这是设置构建集群的非常不方便的方法,更好的方法是使用以下命令编写配置服务器列表,也许将来会修复。

FastBuild 集群也只能在本地网络上运行,如果能够通过互联网设置多台计算机就太好了,实施起来应该不难,而且互联网连接应该加密以保护秘密来源。

© www.soinside.com 2019 - 2024. All rights reserved.