1313
правок
Irina (обсуждение | вклад) (Новая страница: «== Ключевые слова и синонимы == Синхронизация сетей, остовные подграфы с низким коэффицие…») |
KVN (обсуждение | вклад) |
||
| (не показано 10 промежуточных версий 1 участника) | |||
| Строка 1: | Строка 1: | ||
== Ключевые слова и синонимы == | == Ключевые слова и синонимы == | ||
Синхронизация | Синхронизация в сети, остовные подграфы с низким коэффициентом растяжения | ||
== Постановка задачи == | == Постановка задачи == | ||
Рассмотрим коммуникационную сеть, моделируемую неориентированным взвешенным графом G = (V, E) с n вершинами, где n – целое положительное число. Каждая вершина G содержит процессор неограниченной вычислительной мощности; вершины имеют уникальные идентификационные номера и общаются друг с другом посредством | Рассмотрим коммуникационную сеть, моделируемую неориентированным взвешенным графом G = (V, E) с n вершинами, где n – целое положительное число. Каждая вершина G содержит процессор неограниченной вычислительной мощности; вершины имеют уникальные идентификационные номера и общаются друг с другом посредством ребер из G, пересылая друг другу сообщения размера O(log n). | ||
В случае синхронной организации коммуникация осуществляется в виде дискретных раундов, и сообщение, отправленное в начале раунда R, прибывает в точку назначения до его окончания. В случае асинхронной организации каждая вершина поддерживает собственный тактовый синхронизатор, причем у разных вершин они могут не совпадать. Предполагается, что каждое отправленное сообщение (в случае | В случае ''синхронной'' организации коммуникация осуществляется в виде дискретных ''раундов'', и сообщение, отправленное в начале раунда R, прибывает в точку назначения до его окончания. В случае ''асинхронной'' организации каждая вершина поддерживает собственный тактовый синхронизатор, причем у разных вершин они могут не совпадать. Предполагается, что каждое отправленное сообщение (в случае асинхронной организации) прибывает в точку назначения в течение определенного временного интервала <math>\tau \;</math> после отправки, однако значение <math>\tau \;</math> процессорам неизвестно. | ||
В общем случае оказывается намного проще разрабатывать алгоритмы, рассчитанные на синхронную организацию (называемые синхронными алгоритмами), чем на асинхронную (соответственно, асинхронные). Авербух [ ] инициировал исследование техник моделирования, которые переводили бы синхронные алгоритмы в асинхронные. Такие техники моделирования называются синхронизаторами. | В общем случае оказывается намного проще разрабатывать алгоритмы, рассчитанные на синхронную организацию (называемые синхронными алгоритмами), чем на асинхронную (соответственно, асинхронные). Авербух [1] инициировал исследование техник моделирования, которые переводили бы синхронные алгоритмы в асинхронные. Такие техники моделирования называются ''синхронизаторами''. | ||
При разработке первых синхронизаторов Авербух предложил определенное разбиение графа, представляющее интерес само по себе. В частности, Пелег и Шеффер [8] заметили, что это разбиение порождает подграф с определенными любопытными свойствами. Такой подграф они назвали остовом графа. Формально для целого положительного параметра k k-остовом графа G = (V, E) является подграф | При разработке первых синхронизаторов Авербух предложил определенное разбиение графа, представляющее интерес само по себе. В частности, Пелег и Шеффер [8] заметили, что это разбиение порождает подграф с определенными любопытными свойствами. Такой подграф они назвали [[Остов|остовом графа]]. Формально для целого положительного параметра k k-остовом графа G = (V, E) является подграф G' = (V, H), <math>H \subseteq E</math>, такой, что для каждого ребра <math>e = (v, u) \in E \;</math> расстояние между вершинами v и u в H, <math>dist_{G'}(v, u) \;</math>, не превышает k. | ||
== Основные результаты == | == Основные результаты == | ||
Авербух предложил три основных синхронизатора, назвав их | Авербух предложил три основных синхронизатора, назвав их <math>\alpha \;</math>, <math>\beta \;</math> и <math>\gamma \;</math>. Синхронизатор <math>\alpha \;</math> является самым простым; при его использовании накладные расходы по времени оказываются константными, в то время как расходы на коммуникации – очень значительными. Точнее говоря, последние являются линейными относительно количества ребер в сети, лежащей в основе системы. В отличие от синхронизатора <math>\alpha \;</math>, синхронизатору <math>\beta \;</math> требуется довольно дорогостоящий этап инициализации. Кроме того, его использование сопровождается значительными временными накладными расходами (линейными относительно количества вершин n), зато с точки зрения коммуникаций он более эффективен по сравнению с <math>\alpha \;</math>. Накладные расходы на коммуникации являются линейными относительно n. | ||
Наконец, синхронизатор | Наконец, синхронизатор <math>\gamma \;</math> представляет собой нечто среднее между <math>\alpha \;</math> и <math>\beta \;</math>. Этот синхронизатор параметризован положительным целочисленным параметром k. Если значение k мало, то поведение синхронизатора схоже с поведением <math>\alpha \;</math>, а если велико – то он ведет себя подобно <math>\beta \;</math>. Особенно важным вариантом параметра k является k = log n. В этой точке кривая компромиссного выбора синхронизатора <math>\gamma \;</math> соответствует временным накладным расходам, логарифмическим относительно n, и линейным относительно n издержкам синхронизации. Однако синхронизатор <math>\gamma \;</math> также требует весьма дорогостоящей инициализации. | ||
Основной результат работы [ ], относящийся к остовам, заключается в том, что для любого значения k = 1, 2, … и любого невзвешенного неориентированного графа G = (V, E) с n вершинами существует O(k)-остов с O( | Основной результат работы [1], относящийся к остовам, заключается в том, что для любого значения k = 1, 2, … и любого невзвешенного неориентированного графа G = (V, E) с n вершинами существует O(k)-остов с <math>O(n^{1+1/k}) \;</math> ребрами. (Этот результат был развернут в работе Пелега и Шеффера [8]). | ||
== Применение == | == Применение == | ||
Синхронизаторы активно используются для построения асинхронных алгоритмов. Первыми вариантами их применения стали построение дерева обхода в ширину и вычисление максимального потока. Эти варианты | Синхронизаторы активно используются для построения асинхронных алгоритмов. Первыми вариантами их применения стали построение [[Дерево поиска в ширину|дерева обхода в ширину]] и вычисление [[Максимальный поток|максимального потока]]. Эти варианты были представлены и проанализированы Авербухом в [1]. Позднее синхронизаторы использовались в задачах о [[Паросочетание максимальное|максимальном паросочетании]] [10], вычислении кратчайших путей [7] и многих других. | ||
Остовы графов оказались полезными для различных задач распределенных вычислений. В частности, они используются некоторыми видами синхронизаторов [1, 9]. Кроме того, остовы применяются для маршрутизации [4] и | Остовы графов оказались полезными для различных задач распределенных вычислений. В частности, они используются некоторыми видами синхронизаторов [1, 9]. Кроме того, остовы применяются для [[Маршрутизация|маршрутизации]] [4] и вычисления почти кратчайших путей в графах [5]. | ||
== Открытые вопросы == | == Открытые вопросы == | ||
Синхронизаторы с улучшенными свойствами разработали Авербух и Пелег [ ] и Авербух и др. [2]. И у тех, и у других накладные расходы по времени и коммуникациям являются полилогарифмическими. При этом синхронизаторы Авербуха и Пелега [ ] требуют большого времени инициализации (в последнем случае оно по меньшей мере линейно относительно n). С другой стороны, синхронизаторы из [ ] являются рандомизированными. Основной нерешенной задачей является получение детерминированных синхронизаторов с полилогарифмическими накладными расходами по времени и коммуникациям, с сублинейным относительно n временем инициализации. Кроме того, степени логарифма в выражении полилогарифмических накладных расходов по времени и коммуникациям | Синхронизаторы с улучшенными свойствами разработали Авербух и Пелег [3] и Авербух и др. [2]. И у тех, и у других накладные расходы по времени и коммуникациям являются полилогарифмическими. При этом синхронизаторы Авербуха и Пелега [3] требуют большого времени инициализации (в последнем случае оно по меньшей мере линейно относительно n). С другой стороны, синхронизаторы из [2] являются рандомизированными. Основной нерешенной задачей является получение ''детерминированных'' синхронизаторов с полилогарифмическими накладными расходами по времени и коммуникациям, с сублинейным относительно n временем инициализации. Кроме того, степени логарифма в выражении полилогарифмических накладных расходов по времени и коммуникациям у синхронизаторов из [2, 3] весьма высоки. Еще одной важной задачей является построение синхронизаторов с улучшенными параметрами. | ||
Элкин и Пелег в [6] построили остовы, в которых большие расстояния искажаются значительно меньше, чем короткие. Этим остовам не удается обеспечить строго аддитивный уровень искажений. Построение остовов со строго аддитивным уровнем искажений остается главной нерешенной задачей. | Элкин и Пелег в [6] построили остовы, в которых большие расстояния искажаются значительно меньше, чем короткие. Этим остовам не удается обеспечить ''строго аддитивный уровень искажений''. Построение остовов со строго аддитивным уровнем искажений остается главной нерешенной задачей. | ||
== См. также == | == См. также == | ||
| Строка 59: | Строка 59: | ||
10. Schieber, B., Moran, S.: Slowing sequential algorithms for obtaining fast distributed and parallel algorithms: Maximum matchings. In: Proc. of 5th ACM Symp. on Principles of Distributed Computing, Calgary, 11-13 Aug. 1986, pp. 282-292 | 10. Schieber, B., Moran, S.: Slowing sequential algorithms for obtaining fast distributed and parallel algorithms: Maximum matchings. In: Proc. of 5th ACM Symp. on Principles of Distributed Computing, Calgary, 11-13 Aug. 1986, pp. 282-292 | ||
[[Категория: Совместное определение связанных терминов]] | |||