Алгоритм GHS: различия между версиями
Перейти к навигации
Перейти к поиску
[непроверенная версия] | [непроверенная версия] |
Daryin (обсуждение | вклад) |
ASA (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | == Свойства и структура | + | == Свойства и структура алгоритма == |
=== Общее описание алгоритма === | === Общее описание алгоритма === | ||
'''Алгоритм GHS''' (сокр. от фамилий авторов: Gallager, Humblet, Spira)<ref>Gallager, Robert G, P A Humblet, and P M Spira. “A Distributed Algorithm for Minimum-Weight Spanning Trees.” ACM Transactions on Programming Languages and Systems 5, no. 1 (1983): 66–77. doi:10.1145/357195.357200.</ref> предназначен для распределённого [[Построение минимального остовного дерева (MST)|построения минимального остовного дерева]] во взвешенном неориентированном графе. Алгоритм GHS основан на [[алгоритм Борувки|алгоритме Борувки]], адаптированном для применения в распределённой среде. Известны модификации алгоритма, улучшающие среднее и наихудшее время работы<ref>Gafni, Eli. “Improvements in the Time Complexity of Two Message-Optimal Election Algorithms,” 175–85, New York, New York, USA: ACM Press, 1985. doi:10.1145/323596.323612.</ref><ref>Awerbuch, B. “Optimal Distributed Algorithms for Minimum Weight Spanning Tree, Counting, Leader Election, and Related Problems,” 230–40, New York, New York, USA: ACM Press, 1987. doi:10.1145/28395.28421.</ref><ref>Garay, Juan A, Shay Kutten, and David Peleg. “A SubLinear Time Distributed Algorithm for Minimum-Weight Spanning Trees.” SIAM Journal on Computing 27, no. 1 (February 1998): 302–16. doi:10.1137/S0097539794261118.</ref><ref>Faloutsos, Michalis, and Mart Molle. “A Linear-Time Optimal-Message Distributed Algorithm for Minimum Spanning Trees.” Distributed Computing 17, no. 2 (August 2004). doi:10.1007/s00446-004-0107-2.</ref>. | '''Алгоритм GHS''' (сокр. от фамилий авторов: Gallager, Humblet, Spira)<ref>Gallager, Robert G, P A Humblet, and P M Spira. “A Distributed Algorithm for Minimum-Weight Spanning Trees.” ACM Transactions on Programming Languages and Systems 5, no. 1 (1983): 66–77. doi:10.1145/357195.357200.</ref> предназначен для распределённого [[Построение минимального остовного дерева (MST)|построения минимального остовного дерева]] во взвешенном неориентированном графе. Алгоритм GHS основан на [[алгоритм Борувки|алгоритме Борувки]], адаптированном для применения в распределённой среде. Известны модификации алгоритма, улучшающие среднее и наихудшее время работы<ref>Gafni, Eli. “Improvements in the Time Complexity of Two Message-Optimal Election Algorithms,” 175–85, New York, New York, USA: ACM Press, 1985. doi:10.1145/323596.323612.</ref><ref>Awerbuch, B. “Optimal Distributed Algorithms for Minimum Weight Spanning Tree, Counting, Leader Election, and Related Problems,” 230–40, New York, New York, USA: ACM Press, 1987. doi:10.1145/28395.28421.</ref><ref>Garay, Juan A, Shay Kutten, and David Peleg. “A SubLinear Time Distributed Algorithm for Minimum-Weight Spanning Trees.” SIAM Journal on Computing 27, no. 1 (February 1998): 302–16. doi:10.1137/S0097539794261118.</ref><ref>Faloutsos, Michalis, and Mart Molle. “A Linear-Time Optimal-Message Distributed Algorithm for Minimum Spanning Trees.” Distributed Computing 17, no. 2 (August 2004). doi:10.1007/s00446-004-0107-2.</ref>. | ||
− | === Математическое описание === | + | === Математическое описание алгоритма === |
=== Вычислительное ядро алгоритма === | === Вычислительное ядро алгоритма === | ||
=== Макроструктура алгоритма === | === Макроструктура алгоритма === | ||
− | === | + | === Схема реализации последовательного алгоритма === |
=== Последовательная сложность алгоритма === | === Последовательная сложность алгоритма === | ||
=== Информационный граф === | === Информационный граф === | ||
− | === | + | === Ресурс параллелизма алгоритма === |
− | === | + | === Входные и выходные данные алгоритма === |
− | === Свойства алгоритма=== | + | === Свойства алгоритма === |
− | == Программная реализация | + | |
+ | == Программная реализация алгоритма == | ||
=== Особенности реализации последовательного алгоритма === | === Особенности реализации последовательного алгоритма === | ||
− | === | + | === Локальность данных и вычислений === |
− | === Возможные способы и особенности реализации | + | ==== Локальность реализации алгоритма ==== |
+ | ===== Структура обращений в память и качественная оценка локальности ===== | ||
+ | ===== Количественная оценка локальности ===== | ||
+ | === Возможные способы и особенности параллельной реализации алгоритма === | ||
=== Масштабируемость алгоритма и его реализации === | === Масштабируемость алгоритма и его реализации === | ||
+ | ==== Масштабируемость алгоритма ==== | ||
+ | ==== Масштабируемость реализации алгоритма ==== | ||
=== Динамические характеристики и эффективность реализации алгоритма === | === Динамические характеристики и эффективность реализации алгоритма === | ||
=== Выводы для классов архитектур === | === Выводы для классов архитектур === | ||
=== Существующие реализации алгоритма === | === Существующие реализации алгоритма === | ||
+ | |||
== Литература == | == Литература == | ||
+ | <references /> | ||
− | + | [[Категория:Начатые статьи]] |
Версия 14:17, 29 июля 2015
Содержание
- 1 Свойства и структура алгоритма
- 1.1 Общее описание алгоритма
- 1.2 Математическое описание алгоритма
- 1.3 Вычислительное ядро алгоритма
- 1.4 Макроструктура алгоритма
- 1.5 Схема реализации последовательного алгоритма
- 1.6 Последовательная сложность алгоритма
- 1.7 Информационный граф
- 1.8 Ресурс параллелизма алгоритма
- 1.9 Входные и выходные данные алгоритма
- 1.10 Свойства алгоритма
- 2 Программная реализация алгоритма
- 2.1 Особенности реализации последовательного алгоритма
- 2.2 Локальность данных и вычислений
- 2.3 Возможные способы и особенности параллельной реализации алгоритма
- 2.4 Масштабируемость алгоритма и его реализации
- 2.5 Динамические характеристики и эффективность реализации алгоритма
- 2.6 Выводы для классов архитектур
- 2.7 Существующие реализации алгоритма
- 3 Литература
1 Свойства и структура алгоритма
1.1 Общее описание алгоритма
Алгоритм GHS (сокр. от фамилий авторов: Gallager, Humblet, Spira)[1] предназначен для распределённого построения минимального остовного дерева во взвешенном неориентированном графе. Алгоритм GHS основан на алгоритме Борувки, адаптированном для применения в распределённой среде. Известны модификации алгоритма, улучшающие среднее и наихудшее время работы[2][3][4][5].
1.2 Математическое описание алгоритма
1.3 Вычислительное ядро алгоритма
1.4 Макроструктура алгоритма
1.5 Схема реализации последовательного алгоритма
1.6 Последовательная сложность алгоритма
1.7 Информационный граф
1.8 Ресурс параллелизма алгоритма
1.9 Входные и выходные данные алгоритма
1.10 Свойства алгоритма
2 Программная реализация алгоритма
2.1 Особенности реализации последовательного алгоритма
2.2 Локальность данных и вычислений
2.2.1 Локальность реализации алгоритма
2.2.1.1 Структура обращений в память и качественная оценка локальности
2.2.1.2 Количественная оценка локальности
2.3 Возможные способы и особенности параллельной реализации алгоритма
2.4 Масштабируемость алгоритма и его реализации
2.4.1 Масштабируемость алгоритма
2.4.2 Масштабируемость реализации алгоритма
2.5 Динамические характеристики и эффективность реализации алгоритма
2.6 Выводы для классов архитектур
2.7 Существующие реализации алгоритма
3 Литература
- ↑ Gallager, Robert G, P A Humblet, and P M Spira. “A Distributed Algorithm for Minimum-Weight Spanning Trees.” ACM Transactions on Programming Languages and Systems 5, no. 1 (1983): 66–77. doi:10.1145/357195.357200.
- ↑ Gafni, Eli. “Improvements in the Time Complexity of Two Message-Optimal Election Algorithms,” 175–85, New York, New York, USA: ACM Press, 1985. doi:10.1145/323596.323612.
- ↑ Awerbuch, B. “Optimal Distributed Algorithms for Minimum Weight Spanning Tree, Counting, Leader Election, and Related Problems,” 230–40, New York, New York, USA: ACM Press, 1987. doi:10.1145/28395.28421.
- ↑ Garay, Juan A, Shay Kutten, and David Peleg. “A SubLinear Time Distributed Algorithm for Minimum-Weight Spanning Trees.” SIAM Journal on Computing 27, no. 1 (February 1998): 302–16. doi:10.1137/S0097539794261118.
- ↑ Faloutsos, Michalis, and Mart Molle. “A Linear-Time Optimal-Message Distributed Algorithm for Minimum Spanning Trees.” Distributed Computing 17, no. 2 (August 2004). doi:10.1007/s00446-004-0107-2.