Ваша задача звучит очень абстрактно, поэтому вы получите максимально абстрактный и, скорее всего, непонятный ответ. Давайте подумаем, как можно решить вашу задачу:
1. "программа которая ставится на сервер но 1 сервер её не тянет и надо подсоединить ещё пару" - из этого выражения непонятно, она в принципе "не тянет" или "не тянет на вашем сервере". Может ли условно "крутой сервер" запустить её, чтобы она работала корректно? Если так, то проще всего будет купить/арендовать сервер с необходимым железом.
2. Ваша "программа" может успешно обработать одну задачу, но задач слишком много, она не справляется с потоком данных.
Это другой случай. Для такого случая можно написать некий балансировщик, который раскидывать задачи на экземпляры вашего приложения. Например: у вас есть много видеофайлов, которые через ffmpeg перекодируются в нужные форматы. Тогда одно ваше приложение принимает файлы, сохраняет их и дальше добавляет в очередь, а второе ваше приложение-перекодировщик, которое берет их из очереди в работу запущено на n-серверах.
3. Ваша программа не может выполнить 1 задачу на 1 сервере любой конфигурации и мощности. Тогда есть вариант переписать её, добавив распараллеливание, но не факт, что это повысит её эффективность или выполнимость. Не все алгоритмы хорошо параллелятся.
Опишите проблему получше, может, не всё так страшно