Мы выполняем некоторые сложные вычисления, которые могут занять много времени (даже дней). У нас есть архитектура, аналогичная архитектуре компилятора (компилятор + компоновщик):
Я видел, что DistCC делает распределение по сети довольно красиво. К сожалению, distcc работает в среде Unix.
Есть ли платформа, которая может обеспечить что-то похожее на то, что делает distcc, но под платформой Windows (7+)?
ПОСЛЕДНЕЕ РЕДАКТИРОВАНИЕ: Добавлен тег C ++, потому что, если такая структура существует, мы извлечем пользу из нашего опыта программирования на C ++.
Я не знаю каких-либо бесплатных / открытых решений для Windows, но есть два коммерческих предложения, которые могут помочь:
ElectricAccelerator от электрического облака. Изначально ElectricAccelerator был разработан для ускорения сборки программного обеспечения, но может распределять произвольные процессы по сети компьютеров для параллельного выполнения. Исходя из того, что вы сказали, использовать акселератор для ваших нужд должно быть просто. Он доступен как в Linux, так и в Windows.
Xoreax Incredibuild Первоначально был также разработан для ускорения сборки программного обеспечения, но, как и Accelerator, Incredibuild может распространять произвольные процессы. Он доступен только в Windows.
Отказ от ответственности: я архитектор ElectricAccelerator
FastBuild является бесплатным и открытым исходным кодом. Он доступен для Windows / Linux / OSX. Он имеет свой собственный язык для сборки конфигурационных файлов. Вы можете настроить рабочих в локальной сети и клиента, который подключается к рабочим и доставляет им работу. FastBuild работает для C ++ и, вероятно, должен работать для любого языка, так как вы можете настроить любой исполняемый файл компилятора и зависимости (компилятор распространяется среди рабочих, поэтому вам не нужно устанавливать компилятор на каждой машине). Единственный недостаток, который я обнаружил, заключается в том, что для того, чтобы связать работников с клиентами, вам нужно настроить сетевой ресурс Windows с доступной для записи папкой, я думаю, что это очень неудобный способ настройки кластера сборки, лучше было бы написать конфигурацию со списком серверов, возможно, это будет исправлено в будущем. Кроме того, кластер FastBuild может быть запущен только в локальной сети, было бы замечательно, если бы можно было настроить множество компьютеров, хотя интернет, это не должно быть сложно реализовать, также интернет-соединение должно быть зашифровано для обеспечения безопасности секретных источников.