Результаты (
русский) 2:
[копия]Скопировано!
Последнее утверждение программы нуждается в некотором уточнении. Узел с C = 1 , может принимать сигнал от узла, но он быстро посылает ПДТ , так как вычисления графика индуцированного ребрами с положительным дефицитом всегда должен быть деревом. Таким образом, на рисунке 9.2c, если узел 5 посылает сигнал на узел 2, то узел 2 становится активным , но отвергает сигнал путем посылки ACK до 5 , как отказ принять 5 в качестве своего родителя, а дефицит на краю (5 , 2) остается равным 0. Таким образом, вычисление граф остается дерево , состоящее из узлов 1, 2, 3, 4, 5
и ребра (1, 2), (2, 3), (3, 4), (4 ., 5) ,
алгоритм Дейкстра-Шольтен является примером класса алгоритмов называемого зонда-эхо алгоритм: сигналы зонды, и подтверждениями являются эхо - сигналы. Можно использовать основные сообщения от родителей к детям , как сигналы, только управляющие сигналы будут подтверждениями. Поскольку вычисление распространяется по различным узлам, края с положительными дефицитов образуют остова , который увеличивается и уменьшается. Из - за недетерминированном характер вычисления, различных циклов алгоритма может производить различные остовных деревьев. Количество квитанций никогда не будет превышать число сообщений , передаваемых с помощью базового алгоритма. Это происходит потому , что, для каждого сообщения между узлами, АСК генерируется. Если лежащий в основе вычисления не может прекратить (что нарушает наше предположение), то алгоритм прекращения обнаружения также не прекращается. Обратите внимание , что алгоритм не предназначен , чтобы сообщить nontermination.
Проблем сложности: Так как основные сообщения нижележащего вычисления используются в качестве сигналов, и , наконец , дефициты вдоль всех краев должен быть равен нулю, число управляющих сообщений (т.е. ACKs) должен равно числу основных сообщений основного вычисления. Чандрасекаран и Venkateshan [CV90] доказал нижнюю оценку , что если алгоритм начал посылать сигналы после фактического прекращения основного вычисления, то можно обнаружить завершение , используя только O (| E |) сообщений-каждое ребро будет нести один сигнал и один извед. Однако, так как инициатор не сможет правильно угадать время , чтобы достичь прекращения, нижняя граница не будет фактически достигнута. Кроме того, чтобы избежать ложного обнаружения, эта схема требует края , чтобы быть FIFO.
Алгоритм прекращения обнаружения может быть легко изменен , чтобы собрать глобальные состояния , или вычисления других видов глобальных предикатами. Например, рассмотрим задачу подсчета числа процессов в сети. Если (1) лежащий в основе вычисления равна нулю, (2) извед от каждого процесса к его родителя помечается с переменным размером целого числа (к), число процессов в поддереве под ним, и (3) каждого родителя я , после получения от ACKs всех своих детей, передает подсчет
переводится, пожалуйста, подождите..
