4817
правок
Irina (обсуждение | вклад) |
Irina (обсуждение | вклад) |
||
Строка 79: | Строка 79: | ||
• '''Идентификаторы процессоров''': протокол не использует идентификаторы процессоров и, следовательно, не требует, чтобы процессоры имели различные идентификаторы (или чтобы они знали идентификаторы своих соседей). Более того, процессор даже не обязан знать количество своих соседей. Это свойство делает протокол адаптивным к изменениям топологии, происходящим на протяжении выполнения, и устойчивым к незлонамеренным сбоям. | • '''Идентификаторы процессоров''': протокол не использует идентификаторы процессоров и, следовательно, не требует, чтобы процессоры имели различные идентификаторы (или чтобы они знали идентификаторы своих соседей). Более того, процессор даже не обязан знать количество своих соседей. Это свойство делает протокол адаптивным к изменениям топологии, происходящим на протяжении выполнения, и устойчивым к незлонамеренным сбоям. | ||
• '''Знание размера сети''': протокол работает почти так же хорошо, если вместо фактического числа процессоров (т. е. n) дать «хорошую» верхнюю границу этого числа (обозначается N). Верхняя граница, полиномиальная от n, дает ту же самую временную сложность с поправкой на константный коэффициент (поскольку сложность логарифмически зависит от N). | • '''Знание размера сети''': протокол работает почти так же хорошо, если вместо фактического числа процессоров (т. е. <math>n</math>) дать «хорошую» верхнюю границу этого числа (обозначается <math>N</math>). Верхняя граница, полиномиальная от <math>n</math>, дает ту же самую временную сложность с поправкой на константный коэффициент (поскольку сложность логарифмически зависит от <math>N</math>). | ||
• Обнаружение конфликтов: алгоритм и его сложность остаются действительными, даже если при возникновении конфликта не может быть получено ни одного сообщения. | • '''Обнаружение конфликтов''': алгоритм и его сложность остаются действительными, даже если при возникновении конфликта не может быть получено ни одного сообщения. | ||
• Простота и быстрота локальных вычислений: в каждый временной интервал каждый процессор выполняет постоянный объем локальных вычислений. | • '''Простота и быстрота локальных вычислений''': в каждый временной интервал каждый процессор выполняет постоянный объем локальных вычислений. | ||
• Сложность по числу сообщений: каждый процессор активен в течение | • '''Сложность по числу сообщений''': каждый процессор активен в течение <math>\lceil log(N / \epsilon) \rceil</math> последовательных фаз, а среднее число передач за фазу составляет не более 2. Таким образом, ожидаемое число передач всей сети ограничено <math>2n \cdot \lceil log(N / \epsilon) \rceil</math>. | ||
• Адаптивность к изменению топологии и отказоустойчивость: протокол устойчив к некоторым изменениям в топологии сети. Например, ребра могут быть добавляться или удаляться в любое время, при условии, что сеть неизменных ребер остается связной. Это соответствует отказам или остановке работы ребер, так что система демонстрирует устойчивость к некоторым незлонамеренным сбоям. | • '''Адаптивность к изменению топологии и отказоустойчивость''': протокол устойчив к некоторым изменениям в топологии сети. Например, ребра могут быть добавляться или удаляться в любое время, при условии, что сеть неизменных ребер остается связной. Это соответствует отказам или остановке работы ребер, так что система демонстрирует устойчивость к некоторым незлонамеренным сбоям. | ||
• Ориентированные сети: протокол не использует подтверждения. Таким образом, он может применяться даже тогда, когда каналы связи не симметричны; иначе говоря, тот факт, что процессор v может передать сообщение процессору u, не означает, что | • '''Ориентированные сети''': протокол не использует подтверждения. Таким образом, он может применяться даже тогда, когда каналы связи не симметричны; иначе говоря, тот факт, что процессор <math>v</math> может передать сообщение процессору <math>u</math>, не означает, что <math>u</math> может передать сообщение <math>v</math>. (Соответствующей моделью сети, таким образом, является ориентированный граф). В реальной жизни такая ситуация возникает, например, когда <math>v</math> имеет более мощный передатчик, чем <math>u</math>. | ||
'''Нижняя граница для детерминированных алгоритмов''' | '''Нижняя граница для детерминированных алгоритмов''' | ||
Для детерминированных алгоритмов можно продемонстрировать нижнюю границу: для любого n существует семейство n-узловых сетей, такое, что каждая детерминированная широковещательная схема требует | Для детерминированных алгоритмов можно продемонстрировать нижнюю границу: для любого <math>n</math> существует семейство <math>n</math>-узловых сетей, такое, что каждая детерминированная широковещательная схема требует <math>\Omega(n)</math> времени. Для любого '''непустого''' подмножества <math>S \subseteq \{1, 2, ...n \}</math> рассмотрим следующую сеть <math>G_s</math> (рис. 1). | ||
Строка 101: | Строка 101: | ||
Узел 0 является источником, а узел n + 1 – стоком. Источник инициирует сообщение, и задача широковещательной передачи в | Узел 0 является ''источником'', а узел n + 1 – ''стоком''. Источник инициирует сообщение, и задача широковещательной передачи в <math>G_S</math> заключается в том, чтобы достичь стока. Сложность проистекает из того факта, что разбиение среднего уровня (т. е. <math>S</math>) не известно заранее. Следующая теорема может быть доказана путем ряда сокращений до определенной «игры на попадание»: | ||
'''Теорема 3. Каждый детерминированный протокол широковещательной передачи, корректный для всех n-узловых сетей, требует | '''Теорема 3. Каждый детерминированный протокол широковещательной передачи, корректный для всех <math>n</math>-узловых сетей, требует <math>\Omega(n)</math> времени.''' | ||
В работе [2] была допущена некоторая путаница в отношении модели широковещательной передачи. В ней ошибочно утверждалось, что нижняя граница справедлива и тогда, когда коллизия неотличима от отсутствия передачи. Ковальски и Пелц [5] опровергли это утверждение, показав, как можно вести широковещательную передачу за логарифмическое время во всех сетях типа | В работе [2] была допущена некоторая путаница в отношении модели широковещательной передачи. В ней ошибочно утверждалось, что нижняя граница справедлива и тогда, когда коллизия неотличима от отсутствия передачи. Ковальски и Пелц [5] опровергли это утверждение, показав, как можно вести широковещательную передачу за логарифмическое время во всех сетях типа <math>G_S</math>. | ||
== Применение == | == Применение == |
правок