<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LeX4051</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LeX4051"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/LeX4051"/>
		<updated>2026-05-19T16:38:20Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=15960</id>
		<title>Параллельное программирование</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=15960"/>
				<updated>2012-01-08T23:25:05Z</updated>
		
		<summary type="html">&lt;p&gt;LeX4051: /* 8. Диффундирующие вычисления. Останов. Алгоритм Дейксты и Шолтена */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Параллельное программирование]]&lt;br /&gt;
=Программирование параллельных и распределенных систем=&lt;br /&gt;
==6 семестр==&lt;br /&gt;
===1. Масштабируемость распределенных и параллельных систем, закон Амдала. Отличия распределенных систем от систем с разделяемой памятью===&lt;br /&gt;
*[[Параллельное программирование: Распределенные вычислительные системы|Распределенные системы]]&lt;br /&gt;
*[[Параллельное программирование: Масштабируемость параллельных и распределенных систем|Масштабируемость параллельных и распределенных систем]]&lt;br /&gt;
*[[Параллельное программирование: Закон Амдала| Закон Амдала]]&lt;br /&gt;
&lt;br /&gt;
===2. Логические часы Лампорта и векторные часы, их свойства===&lt;br /&gt;
*[[Параллельное программирование: Частичный порядок| Частичный порядок]]&lt;br /&gt;
*[[Параллельное программирование: Логические часы Лампорта| Логические часы Лампорта]]&lt;br /&gt;
*[[Параллельное программирование: Векторные часы| Векторные часы]]&lt;br /&gt;
&lt;br /&gt;
===3. Часы с прямой зависимостью (и их свойства) и матричные часы===&lt;br /&gt;
*[[Параллельное программирование: Часы с прямой зависимостью|Часы с прямой зависимостью]]&lt;br /&gt;
*[[Параллельное программирование: Матричные часы|Матричные часы]]&lt;br /&gt;
&lt;br /&gt;
===4. Взаимное исключение в распределенной системе. Централизованный, алгоритм Лампорта, алгоритм Рикарта и Агравалы===&lt;br /&gt;
*[[Параллельное программирование: Централизованный алгоритм взаимного исключения|Централизованный алгоритм]]&lt;br /&gt;
*[[Параллельное программирование: Алгоритм Лампорта взаимного исключения|Алгоритм Лампорта]]&lt;br /&gt;
*[[Параллельное программирование: Алгоритм Рикарта-Агравалы|Алгоритм Рикарта-Агравалы]]&lt;br /&gt;
&lt;br /&gt;
===5. Взаимное исключение в распределенной системе. Алгоритм обедающих философов, на основе токена, на основе кворума (простое большинство, рушащиеся стены)===&lt;br /&gt;
&lt;br /&gt;
*[[Задача обедающих философов]]&lt;br /&gt;
*[[Кворум]]&lt;br /&gt;
*[[Кворум простого большинства]]&lt;br /&gt;
*[[Кворум рушащейся стенки]]&lt;br /&gt;
&lt;br /&gt;
===6. Согласованное глобальное состояние (согласованный срез). Алгоритм Чанди-Лампорта. Запоминание сообщений на стороне отправителя===&lt;br /&gt;
&lt;br /&gt;
*[[Срез, согласованный срез]]&lt;br /&gt;
*[[Алгоритм Чанди-Лампорта]]&lt;br /&gt;
&lt;br /&gt;
===7. Глобальные свойства. Стабильные и нестабильные предикаты. Слабый конъюнктивный предикат. Централизованный и распределенный алгоритмы===&lt;br /&gt;
&lt;br /&gt;
*[[Глобальные свойства системы]]&lt;br /&gt;
*[[Слабый конъюнктивный предикат]]&lt;br /&gt;
&lt;br /&gt;
===8. Диффундирующие вычисления. Останов. Алгоритм Дейкстры и Шолтена===&lt;br /&gt;
&lt;br /&gt;
Алгоритм Дейкстры и Шолтена в английской википедии&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Dijkstra-Scholten_algorithm&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===9. Локально-стабильные предикаты, согласованные интервала, барьерная синхронизация (3 алгоритма). Применение для определения взаимной блокировки===&lt;br /&gt;
&lt;br /&gt;
*[[Локально стабильный предикат]]&lt;br /&gt;
*[[Согласованный интервал]]&lt;br /&gt;
*[[Барьерная синхронизация (3 алгоритма)]]&lt;br /&gt;
&lt;br /&gt;
===10. Упорядочивание сообщений. Определения, иерархия порядков. Алгоритм для причинно-согласованного порядка===&lt;br /&gt;
Порядок сообщений:&lt;br /&gt;
# асинхронный&lt;br /&gt;
# FIFO (сообщения доходят получателю в том порядке, в котором они были ему отправлены)&lt;br /&gt;
# причинно-следственный (если одно сообщение было отправлено раньше другого, то оно будет доставлено раньше другого (в системе целиком)&lt;br /&gt;
# синхронный&lt;br /&gt;
&lt;br /&gt;
===11. Упорядочивание сообщений. Определения, иерархия порядков. Алгоритм для синхронного порядка===&lt;br /&gt;
===12. Общий порядок (total order). Алгоритмы Лампорта и Скина===&lt;br /&gt;
*[[Total order]]&lt;br /&gt;
*[[Алгоритм Лампорта]]&lt;br /&gt;
*[[Алгоритм Скрина]]&lt;br /&gt;
&lt;br /&gt;
===13. Выбор лидера. Алгоритм Чанди-Робертса, и алгоритм Хирчберга-Синклера===&lt;br /&gt;
&lt;br /&gt;
'''Алгоритм Чанди-Робертса''' (Chang and Roberts) выбора лидера &amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Chang_and_Roberts_algorithm&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть процессы находятся в кольце. &lt;br /&gt;
Посылаем свой номер налево по кольцу. &lt;br /&gt;
При получении номера справа посылаем налево максимум из своего номера и полученного справа.&lt;br /&gt;
Если полученный справа номер является нашим номером, то заканчиваем работу.&lt;br /&gt;
&lt;br /&gt;
'''Алгоритм Хирчберга-Синклера''' &amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/HS_algorithm&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;http://web.cs.gc.cuny.edu/~vmitsou/presentation.pdf слайды 16-18&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===14. Иерархия ошибок в распределенных системах. Отказ узла в асинхронной системе - невозможность консенсуса (доказательство)===&lt;br /&gt;
&lt;br /&gt;
#Отказ узла&lt;br /&gt;
#Отказ связи&lt;br /&gt;
#Неустойчивая связь / пропуск пакетов&lt;br /&gt;
#Византийская ошибка (сломавшийся процесс может слать любой мусор)&lt;br /&gt;
&lt;br /&gt;
Отказ одного узла в распределенной системе ведет к невозможности консенсуса. Решением является уход от асинхронизации, накладывание ограничений на время ответа.&lt;br /&gt;
&lt;br /&gt;
===15. Синхронные системы. Алгоритм для консенсуса в случае отказа заданного числа узлов===&lt;br /&gt;
&lt;br /&gt;
Пусть в системе имеется ''n'' узлов.&lt;br /&gt;
Пусть из них максимум ''f'' не работают.&lt;br /&gt;
Тогда можно решить задачу консенсуса:&lt;br /&gt;
&lt;br /&gt;
*Каждый узел посылает каждому свое число;&lt;br /&gt;
*Процессы запоминают пришедшие числа;&lt;br /&gt;
*Новые для себя числа процессы рассылают дальше;&lt;br /&gt;
*Каждый процесс выбирает минимально известное ему число.&lt;br /&gt;
&lt;br /&gt;
(возможно, стоит дописать)&lt;br /&gt;
&lt;br /&gt;
===16. Синхронные системы. Проблема двух генералов. Невозможность получения общей информации===&lt;br /&gt;
&lt;br /&gt;
'''Задача двух генералов''' — мысленный эксперимент, призванный проиллюстрировать проблему синхронизации состояния двух систем по ненадежному каналу связи. (Википедия)&lt;br /&gt;
&lt;br /&gt;
Два процесса в случае ненадежного канала не могут достичь [[консенсус|консенсуса]].&lt;br /&gt;
&lt;br /&gt;
===17. Синхронные системы. Проблема византийских генералов. Невозможность решения при N=3, f=1. Формулировка общей теоремы===&lt;br /&gt;
&lt;br /&gt;
'''Задача византийских генералов''' — мысленный эксперимент, призванный проиллюстрировать проблему синхронизации состояния систем в случае, когда коммуникации считаются надёжными, а процессоры — нет. (Вики)&lt;br /&gt;
&lt;br /&gt;
Проблема византийских генералов формулируется так: имеется ''n'' генералов из которых ''f'' являются предателями. Как прийти к консенсусу честным генералам?&lt;br /&gt;
&lt;br /&gt;
Известно, что при ''n'' &amp;gt; 3''f'' задача решаема, а иначе нет.&lt;br /&gt;
&lt;br /&gt;
*Каждый рассылает каждому свое число;&lt;br /&gt;
*Каждый рассылает каждому собранные значения;&lt;br /&gt;
*В полученных векторах каждый проводит голосование.&lt;br /&gt;
&lt;br /&gt;
Можно доказать, например, что при ''n'' = 3, ''f'' = 1 консенсус невозможен.&lt;br /&gt;
&lt;br /&gt;
===18. Синхронные системы. Проблема византийских генералов. Алгоритм для N &amp;gt;= 4, f = 1. Объяснить обобщение для f &amp;gt; 1===&lt;br /&gt;
&lt;br /&gt;
Данный вопрос достаточно хорошо описан в английской версии.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>LeX4051</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=15950</id>
		<title>Параллельное программирование</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5&amp;diff=15950"/>
				<updated>2012-01-08T22:17:48Z</updated>
		
		<summary type="html">&lt;p&gt;LeX4051: /* 8. Диффундирующие вычисления. Останов. Алгоритм Дейксты и Шолтена */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Категория: Параллельное программирование]]&lt;br /&gt;
=Программирование параллельных и распределенных систем=&lt;br /&gt;
==6 семестр==&lt;br /&gt;
===1. Масштабируемость распределенных и параллельных систем, закон Амдала. Отличия распределенных систем от систем с разделяемой памятью===&lt;br /&gt;
*[[Параллельное программирование: Распределенные вычислительные системы|Распределенные системы]]&lt;br /&gt;
*[[Параллельное программирование: Масштабируемость параллельных и распределенных систем|Масштабируемость параллельных и распределенных систем]]&lt;br /&gt;
*[[Параллельное программирование: Закон Амдала| Закон Амдала]]&lt;br /&gt;
&lt;br /&gt;
===2. Логические часы Лампорта и векторные часы, их свойства===&lt;br /&gt;
*[[Параллельное программирование: Частичный порядок| Частичный порядок]]&lt;br /&gt;
*[[Параллельное программирование: Логические часы Лампорта| Логические часы Лампорта]]&lt;br /&gt;
*[[Параллельное программирование: Векторные часы| Векторные часы]]&lt;br /&gt;
&lt;br /&gt;
===3. Часы с прямой зависимостью (и их свойства) и матричные часы===&lt;br /&gt;
*[[Параллельное программирование: Часы с прямой зависимостью|Часы с прямой зависимостью]]&lt;br /&gt;
*[[Параллельное программирование: Матричные часы|Матричные часы]]&lt;br /&gt;
&lt;br /&gt;
===4. Взаимное исключение в распределенной системе. Централизованный, алгоритм Лампорта, алгоритм Рикарта и Агравалы===&lt;br /&gt;
*[[Параллельное программирование: Централизованный алгоритм взаимного исключения|Централизованный алгоритм]]&lt;br /&gt;
*[[Параллельное программирование: Алгоритм Лампорта взаимного исключения|Алгоритм Лампорта]]&lt;br /&gt;
*[[Параллельное программирование: Алгоритм Рикарта-Агравалы|Алгоритм Рикарта-Агравалы]]&lt;br /&gt;
&lt;br /&gt;
===5. Взаимное исключение в распределенной системе. Алгоритм обедающих философов, на основе токена, на основе кворума (простое большинство, рушащиеся стены)===&lt;br /&gt;
&lt;br /&gt;
*[[Задача обедающих философов]]&lt;br /&gt;
*[[Кворум]]&lt;br /&gt;
*[[Кворум простого большинства]]&lt;br /&gt;
*[[Кворум рушащейся стенки]]&lt;br /&gt;
&lt;br /&gt;
===6. Согласованное глобальное состояние (согласованный срез). Алгоритм Чанди-Лампорта. Запоминание сообщений на стороне отправителя===&lt;br /&gt;
&lt;br /&gt;
*[[Срез, согласованный срез]]&lt;br /&gt;
*[[Алгоритм Чанди-Лампорта]]&lt;br /&gt;
&lt;br /&gt;
===7. Глобальные свойства. Стабильные и нестабильные предикаты. Слабый конъюнктивный предикат. Централизованный и распределенный алгоритмы===&lt;br /&gt;
&lt;br /&gt;
*[[Глобальные свойства системы]]&lt;br /&gt;
*[[Слабый конъюнктивный предикат]]&lt;br /&gt;
&lt;br /&gt;
===8. Диффундирующие вычисления. Останов. Алгоритм Дейксты и Шолтена===&lt;br /&gt;
&lt;br /&gt;
Алгоритм Дейкстры и Шолтена в английской википедии&amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Dijkstra-Scholten_algorithm&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===9. Локально-стабильные предикаты, согласованные интервала, барьерная синхронизация (3 алгоритма). Применение для определения взаимной блокировки===&lt;br /&gt;
&lt;br /&gt;
*[[Локально стабильный предикат]]&lt;br /&gt;
*[[Согласованный интервал]]&lt;br /&gt;
*[[Барьерная синхронизация (3 алгоритма)]]&lt;br /&gt;
&lt;br /&gt;
===10. Упорядочивание сообщений. Определения, иерархия порядков. Алгоритм для причинно-согласованного порядка===&lt;br /&gt;
Порядок сообщений:&lt;br /&gt;
# асинхронный&lt;br /&gt;
# FIFO (сообщения доходят получателю в том порядке, в котором они были ему отправлены)&lt;br /&gt;
# причинно-следственный (если одно сообщение было отправлено раньше другого, то оно будет доставлено раньше другого (в системе целиком)&lt;br /&gt;
# синхронный&lt;br /&gt;
&lt;br /&gt;
===11. Упорядочивание сообщений. Определения, иерархия порядков. Алгоритм для синхронного порядка===&lt;br /&gt;
===12. Общий порядок (total order). Алгоритмы Лампорта и Скина===&lt;br /&gt;
*[[Total order]]&lt;br /&gt;
*[[Алгоритм Лампорта]]&lt;br /&gt;
*[[Алгоритм Скрина]]&lt;br /&gt;
&lt;br /&gt;
===13. Выбор лидера. Алгоритм Чанди-Робертса, и алгоритм Хирчберга-Синклера===&lt;br /&gt;
&lt;br /&gt;
'''Алгоритм Чанди-Робертса''' (Chang and Roberts) выбора лидера &amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/Chang_and_Roberts_algorithm&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Пусть процессы находятся в кольце. &lt;br /&gt;
Посылаем свой номер налево по кольцу. &lt;br /&gt;
При получении номера справа посылаем налево максимум из своего номера и полученного справа.&lt;br /&gt;
Если полученный справа номер является нашим номером, то заканчиваем работу.&lt;br /&gt;
&lt;br /&gt;
'''Алгоритм Хирчберга-Синклера''' &amp;lt;ref&amp;gt;http://en.wikipedia.org/wiki/HS_algorithm&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;http://web.cs.gc.cuny.edu/~vmitsou/presentation.pdf слайды 16-18&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===14. Иерархия ошибок в распределенных системах. Отказ узла в асинхронной системе - невозможность консенсуса (доказательство)===&lt;br /&gt;
&lt;br /&gt;
#Отказ узла&lt;br /&gt;
#Отказ связи&lt;br /&gt;
#Неустойчивая связь / пропуск пакетов&lt;br /&gt;
#Византийская ошибка (сломавшийся процесс может слать любой мусор)&lt;br /&gt;
&lt;br /&gt;
Отказ одного узла в распределенной системе ведет к невозможности консенсуса. Решением является уход от асинхронизации, накладывание ограничений на время ответа.&lt;br /&gt;
&lt;br /&gt;
===15. Синхронные системы. Алгоритм для консенсуса в случае отказа заданного числа узлов===&lt;br /&gt;
&lt;br /&gt;
Пусть в системе имеется ''n'' узлов.&lt;br /&gt;
Пусть из них максимум ''f'' не работают.&lt;br /&gt;
Тогда можно решить задачу консенсуса:&lt;br /&gt;
&lt;br /&gt;
*Каждый узел посылает каждому свое число;&lt;br /&gt;
*Процессы запоминают пришедшие числа;&lt;br /&gt;
*Новые для себя числа процессы рассылают дальше;&lt;br /&gt;
*Каждый процесс выбирает минимально известное ему число.&lt;br /&gt;
&lt;br /&gt;
(возможно, стоит дописать)&lt;br /&gt;
&lt;br /&gt;
===16. Синхронные системы. Проблема двух генералов. Невозможность получения общей информации===&lt;br /&gt;
&lt;br /&gt;
'''Задача двух генералов''' — мысленный эксперимент, призванный проиллюстрировать проблему синхронизации состояния двух систем по ненадежному каналу связи. (Википедия)&lt;br /&gt;
&lt;br /&gt;
Два процесса в случае ненадежного канала не могут достичь [[консенсус|консенсуса]].&lt;br /&gt;
&lt;br /&gt;
===17. Синхронные системы. Проблема византийских генералов. Невозможность решения при N=3, f=1. Формулировка общей теоремы===&lt;br /&gt;
&lt;br /&gt;
'''Задача византийских генералов''' — мысленный эксперимент, призванный проиллюстрировать проблему синхронизации состояния систем в случае, когда коммуникации считаются надёжными, а процессоры — нет. (Вики)&lt;br /&gt;
&lt;br /&gt;
Проблема византийских генералов формулируется так: имеется ''n'' генералов из которых ''f'' являются предателями. Как прийти к консенсусу честным генералам?&lt;br /&gt;
&lt;br /&gt;
Известно, что при ''n'' &amp;gt; 3''f'' задача решаема, а иначе нет.&lt;br /&gt;
&lt;br /&gt;
*Каждый рассылает каждому свое число;&lt;br /&gt;
*Каждый рассылает каждому собранные значения;&lt;br /&gt;
*В полученных векторах каждый проводит голосование.&lt;br /&gt;
&lt;br /&gt;
Можно доказать, например, что при ''n'' = 3, ''f'' = 1 консенсус невозможен.&lt;br /&gt;
&lt;br /&gt;
===18. Синхронные системы. Проблема византийских генералов. Алгоритм для N &amp;gt;= 4, f = 1. Объяснить обобщение для f &amp;gt; 1===&lt;br /&gt;
&lt;br /&gt;
Данный вопрос достаточно хорошо описан в английской версии.&lt;br /&gt;
&lt;br /&gt;
==Ссылки==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>LeX4051</name></author>	</entry>

	</feed>