У нас есть система сборки на основе Linux, в которой сборка состоит из множества различных встроенных целей (с соответственно разными драйверами и включенными наборами функций), каждая из которых построена с другим единственным основным деревом исходного кода.
Вместо того, чтобы пытаться преобразовать нашу основанную на make систему во что-то более дружелюбное к многопроцессорным процессам, мы просто хотим найти лучший способ запускать сборки для всех этих целей одновременно. Я не уверен в том, как добиться максимальной производительности.
Я рассмотрел следующие возможные решения:
Я собираюсь просто сесть и поэкспериментировать с этими возможностями, но я хотел проверить, не упустил ли я что-нибудь. Спасибо!
Ты бежишь make -j
и создание параллельных рабочих мест? У Sun есть хорошее руководство по этому поводу.
Идея гипервизора немного глупая. Вам нужна скорость и производительность ввода-вывода, что может отнять у вас один сервер vmware. Вероятно, вы захотите установить как можно больше ядер и дисков. Это будут два реальных ограничивающих фактора вашей системы сборки.
Есть ли причина, по которой вы не можете запускать их последовательно, а не параллельно? Выбери самый простой маршрут, а не самый легкий.
На будущее: хороший список альтернативы сделать.
Виртуализировать и использовать шаблоны, единый код, множество опций - большая победа :)
Вы можете виртуализировать и использовать высокоскоростные диски или перейти на твердотельное хранилище. Однако стоимость твердотельного накопителя может быть ограничивающим фактором. Также существует ограничение на объем данных с твердотельным накопителем.
В этом случае, вероятно, лучше всего иметь быстрые системы с хорошим программным обеспечением для виртуализации. Это просто, легко и экономично.