Рандомизированная широковещательная передача в радиосетях: различия между версиями

Перейти к навигации Перейти к поиску
м
 
(не показано 6 промежуточных версий этого же участника)
Строка 6: Строка 6:




Модель состоит из произвольной (неориентированной) сети, процессоры которой общаются в синхронных временных интервалах, подчиняясь следующим правилам. В каждом временном интервале каждый процессор выступает либо в роли ''передатчика'', либо в роли ''приемника''. Мы говорим, что процессор, выступающий в роли приемника, получает сообщение во временном интервале <math>t</math>, если ровно один из его соседей ведет передачу в этом временном интервале. Полученное сообщение соответствует переданному. Если в данном временном интервале несколько соседей ведут передачу, возникает ''конфликт''. В этом случае приемник может либо получить сообщение от одного из передающих соседей, либо не получить никакого сообщения. Предполагается, что конфликты (или ''коллизии'') необнаружимы, поэтому процессор не может отличить случай, когда ни один сосед не ведет передачу, от случая, когда два или более его соседей передают в этом временном интервале. Процессоры не обязаны иметь идентификаторы и не знают своих соседей; в частности, процессорам неизвестна топология сети.
Модель состоит из произвольной (неориентированной) сети, процессоры которой общаются в синхронных временных интервалах, подчиняясь следующим правилам. В каждом временном интервале каждый процессор выступает либо в роли ''передатчика'', либо в роли ''приемника''. Мы говорим, что процессор, выступающий в роли приемника, получает сообщение во временном интервале <math>t</math>, если ровно один из его соседей ведет передачу в этом временном интервале. Полученное сообщение соответствует переданному. Если в данном временном интервале передачу ведут несколько соседей, возникает ''конфликт''. В этом случае приемник может либо получить сообщение от одного из передающих соседей, либо не получить никакого сообщения. Предполагается, что конфликты (или ''коллизии'') необнаружимы, поэтому процессор не может отличить случай, когда ни один сосед не ведет передачу, от случая, когда два или более его соседей передают в этом временном интервале. Процессоры не обязаны иметь идентификаторы и не знают своих соседей; в частности, процессорам неизвестна топология сети.




Единственными входными данными, необходимыми протоколу, являются <math>n</math> – количество процессоров в сети, <math>\Delta</math> – априорно известная верхняя граница максимальной степени сети и граница ошибки – <math>\epsilon</math>. (Все границы априорно известны алгоритму).
Единственными входными данными, необходимыми протоколу, являются <math>n</math> – количество процессоров в сети, <math>\Delta</math> – априорно известная верхняя граница максимальной степени сети и <math>\epsilon</math> – граница ошибки. (Все границы априорно известны алгоритму).




Строка 15: Строка 15:


== Основные результаты ==
== Основные результаты ==
Основным результатом является рандомизированный протокол, который обеспечивает широковещательную передачу за время, оптимальное с точностью до логарифмического множителя. В частности, с вероятностью <math>1 - \epsilon</math> протокол обеспечивает широковещательную передачу за <math>O((D + log \; n / \epsilon) \cdot log \; n)</math> временных интервалов.
Главным результатом является рандомизированный протокол, который обеспечивает широковещательную передачу за время, оптимальное с точностью до логарифмического множителя. В частности, с вероятностью <math>1 - \epsilon</math> протокол обеспечивает широковещательную передачу за <math>O((D + log \; n / \epsilon) \cdot log \; n)</math> временных интервалов.




Строка 28: Строка 28:




Далее следует описание процедуры отправки сообщения m, которая выполняется каждым процессором после получения m:
Далее следует описание процедуры отправки сообщения <math>m</math>, которая выполняется каждым процессором после получения <math>m</math>:


   '''procedure''' Decay(k, m);
   '''procedure''' Decay(k, m);
Строка 40: Строка 40:
   
   


'''Теорема 1. Пусть <math>y</math> – вершина из <math>G</math>. Пусть <math>d \ge 2</math> соседей <math>y</math> выполняют процедуру ''Decay'' в течение интервала времени [0, k) (предполагается, что все они начинают выполнение в Time = 0). Тогда <math>P(k, d)</math> – вероятность того, что <math>y</math> получит сообщение к моменту Time = k – удовлетворяет следующим свойствам:
'''Теорема 1. Пусть <math>y</math> – вершина из <math>G</math>. Пусть <math>d \ge 2</math> соседей <math>y</math> выполняют процедуру ''Decay'' в течение интервала времени [0, k) (предполагается, что все они начинают выполнение в момент времени Time = 0). Тогда <math>P(k, d)</math> – вероятность того, что <math>y</math> получит сообщение к моменту Time = k – удовлетворяет следующим свойствам:


1. <math>lim_{k \to \infty} P(k, d) \ge 2/3</math>;
1. <math>lim_{k \to \infty} P(k, d) \ge 2/3</math>;
Строка 54: Строка 54:
'''Протокол широковещательной передачи (Broadcast)'''
'''Протокол широковещательной передачи (Broadcast)'''


Протокол широковещательной передачи выполняет несколько вызовов процедуры ''Decay''(k, m). Согласно теореме 1 (2), чтобы вероятность получения сообщения процессором <math>y</math> была не ниже 1/2, параметр <math>k</math> должен быть не меньше <math>2 \; log \; d</math> (где <math>d</math> – число соседей, посылающих сообщение процессору <math>y</math>). Поскольку <math>d</math> неизвестно, параметр был выбран равным <math>k = 2 \lceil log \; \Delta \rceil</math> (напомним, что параметр <math>\Delta</math> был определен как верхняя граница полустепени захода). Теорема 1 также требует, чтобы все участники начинали выполнять процедуру ''Decay'' в один и тот же временной интервал. Поэтому ''Decay'' запускается только при целочисленных кратных <math>2 \lceil log \; \Delta \rceil</math>.
Протокол широковещательной передачи выполняет несколько вызовов процедуры ''Decay''(k, m). Согласно теореме 1 (2), чтобы вероятность получения сообщения процессором <math>y</math> была не ниже 1/2, параметр <math>k</math> должен быть не меньше <math>2 \; log \; d</math> (где <math>d</math> – число соседей, посылающих сообщение процессору <math>y</math>). Поскольку <math>d</math> неизвестно, параметр был выбран равным <math>k = 2 \lceil log \; \Delta \rceil</math> (напомним, что значение <math>\Delta</math> было определено как верхняя граница полустепени захода). Теорема 1 также требует, чтобы все участники начинали выполнять процедуру ''Decay'' в один и тот же временной интервал. Поэтому ''Decay'' запускается только при целочисленных кратных <math>2 \lceil log \; \Delta \rceil</math>.
 


   '''procedure''' Broadcast;
   '''procedure''' Broadcast;
Строка 62: Строка 61:
   дождаться получения сообщения, скажем m;
   дождаться получения сообщения, скажем m;
   '''выполнить''' t раз {
   '''выполнить''' t раз {
     дождаться (Time mod k) = 0;
     дождаться (Time '''mod''' k) = 0;
   Decay(k, m); }
   Decay(k, m);
  }




Считается, что сеть выполняет схему широковещательной передачи Broadcast_scheme, если некоторый процессор, обозначаемый s, передает начальное сообщение, и каждый процессор выполняет описанную выше процедуру ''Broadcast''.
Считается, что сеть выполняет схему широковещательной передачи Broadcast_scheme, если некоторый процессор, обозначаемый как <math>s</math>, передает начальное сообщение, и каждый процессор выполняет описанную выше процедуру ''Broadcast''.




'''Теорема 2. Пусть <math>T = 2D + 5 max \{ \sqrt{D}, \sqrt{log(n / \epsilon}) \} \cdot \sqrt{log(n / \epsilon})</math>. Предположим, что Broadcast_scheme запускается в момент времени Time = 0. Тогда с вероятностью выше <math>1 - 2 \epsilon</math> к моменту времени <math>2 \lceil log \; \Delta \rceil \cdot T</math> все узлы получат сообщение. Более того, с вероятностью выше <math>1 - 2 \epsilon</math> все узлы завершат работу к моменту времени <math>2 \lceil log \; \Delta \rceil \cdot (T + \lceil log(N / \epsilon) \rceil )</math>.'''
'''Теорема 2. Пусть <math>T = 2D + 5 max \{ \sqrt{D}, \sqrt{log(n / \epsilon}) \} \cdot \sqrt{log(n / \epsilon})</math>. Предположим, что Broadcast_scheme запускается в момент времени Time = 0. Тогда с вероятностью не менее <math>1 - 2 \epsilon</math> к моменту времени <math>2 \lceil log \; \Delta \rceil \cdot T</math> все узлы получат сообщение. Более того, с вероятностью не менее <math>1 - 2 \epsilon</math> все узлы завершат работу к моменту времени <math>2 \lceil log \; \Delta \rceil \cdot (T + \lceil log(N / \epsilon) \rceil )</math>.'''




Строка 79: Строка 79:
• '''Идентификаторы процессоров''': протокол не использует идентификаторы процессоров и, следовательно, не требует, чтобы процессоры имели различные идентификаторы (или чтобы они знали идентификаторы своих соседей). Более того, процессор даже не обязан знать количество своих соседей. Это свойство делает протокол адаптивным к изменениям топологии, происходящим на протяжении выполнения, и устойчивым к незлонамеренным сбоям.
• '''Идентификаторы процессоров''': протокол не использует идентификаторы процессоров и, следовательно, не требует, чтобы процессоры имели различные идентификаторы (или чтобы они знали идентификаторы своих соседей). Более того, процессор даже не обязан знать количество своих соседей. Это свойство делает протокол адаптивным к изменениям топологии, происходящим на протяжении выполнения, и устойчивым к незлонамеренным сбоям.


• '''Знание размера сети''': протокол работает почти так же хорошо, если вместо фактического числа процессоров (т. е. <math>n</math>) дать «хорошую» верхнюю границу этого числа (обозначается <math>N</math>). Верхняя граница, полиномиальная от <math>n</math>, дает ту же самую временную сложность с поправкой на константный коэффициент (поскольку сложность логарифмически зависит от <math>N</math>).
• '''Знание размера сети''': протокол работает почти так же хорошо, если вместо фактического числа процессоров (т. е. <math>n</math>) дать ему «хорошую» верхнюю границу этого числа (обозначается <math>N</math>). Верхняя граница, полиномиальная от <math>n</math>, дает ту же самую временную сложность с поправкой на константный коэффициент (поскольку сложность логарифмически зависит от <math>N</math>).


• '''Обнаружение конфликтов''': алгоритм и его сложность остаются действительными, даже если при возникновении конфликта не может быть получено ни одного сообщения.
• '''Обнаружение конфликтов''': алгоритм и его сложность остаются действительными, даже если при возникновении конфликта не может быть получено ни одного сообщения.
Строка 97: Строка 97:




[[Файл:Randomized_1.png]]


Рисунок 1. Сеть, используемая для получения нижней границы
Рисунок 1. Сеть, используемая для получения нижней границы
Строка 110: Строка 111:


== Применение ==
== Применение ==
Процедура Decay использовалась для разрешения соперничества устройств в радиосетях и сетях сотовой связи.
Процедура ''Decay'' использовалась для разрешения соперничества устройств в радиосетях и сетях сотовой связи.


== См. также ==
== См. также ==
Строка 121: Строка 122:
Последующие работы продемонстрировали оптимальность рандомизированного алгоритма:
Последующие работы продемонстрировали оптимальность рандомизированного алгоритма:


• Алон и др. [ ] доказали существование семейства сетей радиуса 2 с n вершинами, для которых любое расписание широковещательной передачи требует не менее £?(log n) временных слотов.
• Алон и др. [1] доказали существование семейства сетей радиуса 2 с <math>n</math> вершинами, для которых любое расписание широковещательной передачи требует не менее <math>\Omega(log^2 \; n)</math> временных интервалов.


• Кушилевиц и Мансур [ ] показали, что для любого рандомизированного широковещательного протокола существует сеть, в которой ожидаемое время передачи сообщения равно ^(Dlog(WD)).
• Кушилевиц и Мансур [7] показали, что для любого рандомизированного широковещательного протокола существует сеть, в которой ожидаемое время передачи сообщения равно <math>\Omega(D \; log(N/D))</math>.


• Бруски и Дель Пинто [ ] показали, что для любого детерминированного алгоритма распределенной трансляции, любых n и D < n/2 существует сеть с n узлами диаметром D, такая, что время, необходимое для широковещательной передачи, равно £2(Dlogn).
• Бруски и Дель Пинто [3] показали, что для любого детерминированного распределенного алгоритма шировокещательной передачи, любых <math>n</math> и <math>D \le n/2</math> существует сеть с <math>n</math> узлами диаметром <math>D</math>, такая, что время, необходимое для широковещательной передачи, равно <math>\Omega(D \; log \; n)</math>.


• Ковальски и Пелц [ ] обсудили сети, в которых коллизии неотличимы от отсутствия передачи. Они представили нижнюю границу £?(nlog n/log(n/D)) и верхнюю границу O(nlogn). Для этой модели они также предложили рандомизированный алгоритм O(Dlog n + log2 n), подтвердив нижнюю границу из [ ] и улучшив границу из работы [ ] для графов, для которых D = e(n/logn).
• Ковальски и Пелц [6] обсудили сети, в которых коллизии неотличимы от отсутствия передачи. Они представили нижнюю границу <math>\Omega(n \; log \; n/log(n/D))</math> и верхнюю границу <math>O(n \; log \; n)</math>. Для этой модели они также предложили рандомизированный алгоритм <math>O(D \; log \; n + log^2 \; n)</math>, подтвердив нижнюю границу из [1] и улучшив границу из работы [2] для графов, для которых <math>D = \theta(n/log \;n)</math>.




4824

правки

Навигация