Xoreax IncrediBuild
IncrediBuild Coordinator
IncrediBuild Coordinator – серверный компонент в среде IncrediBuild, отвечающий за отслеживание системного статуса и распределение вычислительных ресурсов по удаленным агентам. Координатор создает динамическую картину среды IncrediBuild в режиме реального времени, сочетая программные и аппаратные профили для каждого агента с их текущей доступностью и статусом. Информация используется для того чтобы обеспечить наилучшее сочетание распределенных задач и ресурсов под каждую из них.
Координатор легко справляется с обработкой 500+ агентов и способен масштабировать существующую среду IncrediBuild по мере подключения новых узлов. Дополнительные рабочие группы с Координаторами могут использоваться бок-о-бок для дальнейшего расширения.
Еще одна важнейшая роль Координатора – это центр администрирования агентов и модификации настроек множества пользователей. Запасной Координатор может быть развернут для обеспечения повышенной отказоустойчивости. Запасной координатор принимает управление при любом отключении основного координатора, сохраняя функциональность системы.
IncrediBuild Agents
Агенты IncrediBuild Agents – клиентские компоненты, отвечающие за создание распределенных задач, а также участвующие в распределенных задачах, созданных другими агентами или удаленными узлами.
На базовом уровне функционала, агент IncrediBuild работает как «помощник», выполняющий вычислительные задачи, инициированные другими агентами. XGE (движок Xoreax Grid Engine) виртуализация обеспечивает надежность отработки задачи, как если бы она была запущена прямо с машины, которая начала выполнение задачи – вне зависимости от файловой системы или системного окружения станции, на которой установлен агент. Выходные файлы создаются на станции, инициировавшей выполнение удаленной задачи. Дополнительные процессорные ядра могут быть использованы для улучшения производительности выполнения задач.
Агенты IncrediBuild также способны сами инициировать распределенные задачи, состоящие из подзадач (например, компиляция кода из исходного файла C++). В процессе распределенных вычислений, Координатор присваивает удаленным («помощникам») агентам выполняемые задания. Выполняющие агенты связываются с этими агентами, обеспечивая непосредственное присваивание заданий. Необходимые файлы ввода передаются по требованию удаленным агентам, в то время как выходные файлы передаются назад от агентов на локальную систему.
