Да, Hudson должен быть способен запускать несколько ведомых на одной машине. Я делаю это в своих сборках, поэтому каждое задание выполняется на отдельном жестком диске. В моем случае это означает, что у меня есть мастер с подчиненным, который работает на той же машине, что и мастер. Можно было бы иметь 3 подчиненных с 1 исполнителем вместо одного подчиненного с 3 исполнителями, но это не должно влиять на блокировку, поэтому я использую это только в том случае, если у вас разные физические диски и вы хотите увеличить пропускную способность.
Я полагаю, что блокировки как в Hudson (т.е. это задание выполняется), так и в блокировках и защелках (эта блокировка используется) охватывают все подчиненные устройства и мастера для данной установки Hudson. Таким образом, если ведомое устройство 1 выполняет задание, которое удерживает блокировку A, ведомое устройство 2 также не сможет запустить задание, которое удерживает блокировку A. Мне не совсем понятно, ищите ли вы такое поведение.
Есть одно важное замечание:
Предположительно, в настоящее время существует ошибка в ядре hudson, которая иногда позволяет запускать несколько заданий с одной и той же блокировкой при использовании плагина lock-and-latches. Я не эксперт по внутренним элементам блокировки Хадсона и плагину lock-and-защелки, но если вы хотите получить более подробное объяснение, есть разговор, который звучит как в списке рассылки пользователей hudson (users@hudson.dev.java.net).
вот архивная беседа
Автор плагина lock-and-latches обычно довольно чутко реагирует на вопросы.