Ебусь со всякой системщиной. Явно чего-то не хватает в императивном описании алгоритмов. Например:
1. указываем, что кое-какой процесс должен быть запущен на всех живых хостах из данного множества. Если хост из множества был дохлым, но потом ожил, то надо запустить процесс на нём тоже, когда он ожил.
2. спрашиваем что-то у процессов и ждём ответа, но, если хост умер (по независимым от нас причинам), и мы это знаем, то не надо ждать ответа. (таймауты тут сработали бы надёжно, но и без них часто ясно, что ответа не будет.)
Нужна какая-то декларативная шняга, что ли? Давайте идеи.