Reputation: 10820
We are running some heavy computations that can take a lot of time (even days). We have an architecture similar to that of a compiler (compiler + linker):
What I saw is that distcc does the distribution over the network quite nicely. Unfortunately distcc works under unix environment.
Is there a platform that can provide something similar to what distcc does, but under Windows (7+) platform?
LATER EDIT: Added C++ tag because if such framework exists we would benefit from our C++ coding experience.
Upvotes: 3
Views: 7182
Reputation: 16765
FastBuild is free and opensource. It is available for Windows/Linux/OSX. It has its own language for build config files. You can setup workers on local network and a client that connects to workers and delivers work to them.
FastBuild works for C++ and should probably work for any language, as you can setup any compiler executable and dependencies (compiler is distributed to workers, so that you don't need to setup compiler on every machine).
The only drawback that I found is that in order to connect workers with clients you need to setup a Windows network share with writable folder, I think that's very inconvenient way to setup a build cluster, a better way would be to write a config with list of servers, maybe it will be fixed in the future.
Also FastBuild cluster can be run only on local network, would be great to be possible to setup many computers though internet, it shouldn't be difficult to implement, also internet connection should be encrypted to secure secret sources.
Upvotes: 5
Reputation: 16840
I don't know of any free/open source solutions for Windows, but there are two commercial offerings which may help:
ElectricAccelerator from Electric Cloud. ElectricAccelerator was originally designed to accelerate software builds, but can distribute arbitrary processes to a network of computers for execution in parallel. Based on what you've said, it should be straightforward to use Accelerator for your needs. It is available on both Linux and Windows.
Xoreax Incredibuild was also originally designed to accelerate software builds, but like Accelerator, Incredibuild can distribute arbitrary processes. It is available only on Windows.
Disclaimer: I am the architect of ElectricAccelerator
Upvotes: 4