Только мои мысли - не полное решение; не проверено на практике, но все же может затронуть ряд интересных проблем и потенциальных решений.
Стандартизированное время для отказа узла и соединения должно быть зарегистрировано и управляться
Для этого сеть рассчитывает не в режиме реального времени, а на основе номера кадра анимации.
Имейте N внешних процессоров, назначающих идентификатор FEP, идентификатор задания и номер кадра сетевой анимации для входящих заданий. Есть ряд проблем в режиме реального времени, которые не совсем решаются даже при квантовании времени; в некоторых исключительных случаях это немного похоже на учет, публикацию событий, когда они должны рассматриваться как происходящие, а не когда движется наличность.
Для высокой производительности пакеты пульса должны также содержать сведения о выполняемых и недавно выполненных или отмененных заданиях, а также перечень узлов в сети.
Сеть переходит к обработке рабочих элементов и публикует их результаты для соседних узлов или FEP.
FEP пересылает подробности о выполненных заданиях клиентам и может передавать неисправные FEP, так как в FEP указывается только последний номер, указанный на запросе.
Для продолжения работы в сети должен быть кворум. Внешние мониторы отслеживают подключение и информируют узлы, которые испытывают изменения в подключении, независимо от того, находятся ли они сейчас в кворуме или за его пределами.
Если рабочий элемент не завершен машиной из-за сбоя или новый узел присоединяется к сети, должна быть установлена новая политика распределения работ на основе идентификатора рабочего элемента, чтобы распределить работу оставшимся узлам, пока новый узел возвращается в онлайн.
В случаях, когда несколько узлов выполняют одно и то же задание (дублирование усилий - это возможно, но минимизируется путем разумного проектирования обычных тайм-аутов), задания должны быть откатными, а конфликт разрешаться с использованием цепей Маркова.
Для надежного обнаружения возможных дубликатов заданий необходимо выполнить автоматический откат за меньшее время, чем тайм-аут для получения результатов заданий, который применяется в течение кризисного периода , т. Е. При сбоях узлов. Более короткий тайм-аут применяется, когда узлы не выходят из строя.