Содержание
- 2. План Балансировка нагрузки Выбор координатора Модели консистентности Создание общего состояния Распределенные блокировки
- 3. Балансировка нагрузки Дисбаланс уменьшает эффективность вычислений Самый медленный процессор параллельной схемы заканчивает свою работу последним Все
- 4. Характеристики загруженности процессоров Чтобы балансировать нагрузку необходимо количественно измерять загруженность процессоров Количество задач на узле (workload)
- 5. Методы балансировки нагрузки Статические Распределение работы между процессорами выполнятся на этапе запуска программ Динамические Распределение выполняется
- 6. Алгоритмы статической балансировки нагрузки Круговой алгоритм (round robin) Задачи запускаются по очереди на каждом процессоре, который
- 7. Эффективность статического распределения Эффективно при малом времени работы программ При большом времени накапливается дисбаланс нагрузки Не
- 8. Методы динамической балансировки нагрузки Централизованная схема Децентрализованная схема Балансировка на основе миграции процессов Требуют специальных возможностей
- 9. Централизованная схема Один процессор – главный Остальные – рабочие На главном поддерживается очередь задача Задачи раздаются
- 10. Децентрализованная схема Несколько главных процессоров На первом этапе инициализация заданий Далее каждый процессор выполняет балансировку по
- 11. Балансировка на основании миграции процессов Процессы во время выполнения мигрируют между процессорами для обеспечения балансировки нагрузки
- 12. Оптимизация использования ресурсов Вводится количественная характеристика использования ресурсов Вводится целевая функция, которая принимает большие значения при
- 13. Целевая функция Должна включать все количественные характеристики использования всех ресурсов Характеристики использования ресурсов должны быть безразмерными
- 14. Безразмерные характеристики использования ресурсов Ресурсы – память, процессор, сеть, диск Каждый ресурс имеет свою количественную характеристику
- 15. Вид целевой функции F – цена возможного состояния Степенная функция – очень быстро растет, когда показатель
- 16. Результаты измерения производительности при большом количестве невзаимодействующих процессов
- 17. Выбор координатора Во многих случаях возникает задача выбора одной главной машины среди равноправных – координатора (инициатора)
- 18. Условия Есть произвольное количество процессов, которые могут взаимодействовать между собой Каждый процесс имеет уникальный номер Выбрать
- 19. Алгоритм задиры (bully algorithm) 1982 Процесс i обнаружил пропажу координатора и отправляет сообщение E о начале
- 20. Пример Узел 2 обнаружил потерю координатора Отправляет сообщение узлам 3,4,5 Узлы 3 и 4 приняли сообщение
- 21. Кольцевой алгоритм (1977) Узел i обнаружил потерю координатора, он отправляет сообщение E со своим номером узлу
- 22. Пример кольцевого алгоритма
- 23. Количество операций
- 24. Синхронизация времени Лампортовские метки – определение раньше-позже для определенной последовательности событий Достаточно для многих проблем
- 25. Метки Лампорта Поддерживается счетчик событий В начальном состоянии от равен 1 После каждого события счетчик увеличивается
- 26. Пример
- 27. Синхронизация в распределенных системах Доступ к общим ресурсам в сети требует синхронизации так же как и
- 28. Взаимоисключающий доступ По аналогии с общей памятью Есть некоторый общий ресурс (блок файловой системы) Его может
- 29. Централизованный алгоритм Один из процессов выбирается координатором Все доступы к общему ресурсу выполняются через координатора Для
- 30. Пример работы централизованного менеджера блокировок
- 31. Особенности CLM Преимущества Просто реализовать Недостатки Единая точка сбоя Плохо масштабируется Возможность возникновения узкого места в
- 32. Алгоритм Token Ring Создается логическое кольцо процессов По кольцу передается маркер Блокировку захватывает тот, кто получает
- 33. Особенности Преимущества Простой и обеспечивает взаимоисключающий доступ Недостатки Ненадежный Если маркер недоступен длительное время, то его
- 34. Распределенный менеджер блокировок Каждый узел может обмениваться с остальными Возможны три типа сообщений REQUEST QUEUED GRANT
- 35. Алгоритм работы Каждый узел выполняет общий алгоритм
- 36. Распределенный захват блокировки Алгоритм захвата блокировки Узел i, который желает захватить блокировку отправляет сообщение REQUEST всем
- 37. Конфликт при захвате Если после отправки сообщения REQUEST узел получает сообщение REQUEST с узла j (или
- 38. Распределенное удержание блокировки Алгоритм работы узла в состоянии удержания блокировки Узел j захватил блокировку и поддерживает
- 39. Освобождение распределенной блокировки Алгоритм освобождения блокировки Если в очереди i-го узла есть запросы на захват, он
- 40. Восстановление после сбоя узла Вышел из строя узел, который не удерживает блокировку Количество участников уменьшается на
- 41. Сравнение алгоритмов блокировки
- 42. Консистентность Консистентность – поддерживание общих ресурсов в распределенной системе в непротиворечивом состоянии Пример Эмуляция общей памяти
- 43. Модели консистентности Строгая (последовательная) консистентность Процессорная консистентность (ослабленная консистентность) Слабая консистентность Косистентность захвата-освобождения
- 44. Процессорная консистентность Все операции чтения записи одного процессора должны выполняться строго последовательно, но порядок операций разных
- 45. Строгая (последовательная) консистентность Все операции чтения-записи общего ресурса должны выполняться в строго в той последовательности, в
- 46. Слабая консистентность Доступ разделяется на операции чтения-записи и операции синхронизации. Все операции синхронизации выполняются последовательно по
- 47. Косистентность захвата-освобождения Доступ к ресурсу разделяется на операции захвата и освобождения После захвата (GET) можно эксклюзивно
- 48. Другие модели консистентности Консистентность областей Ресурс разбивается на области и для каждой области используется своя модель
- 49. Алгоритмы сохранения общего консистентного состояния (snapshot) Общее состояние запись данных распределенной файловой системы Checkpoint распределенной программы
- 50. Алгоритм Ченди-Лампорта Любой процесс распределенной системы может инициировать создание слепка Инициатор передает сообщение всем участникам о
- 52. Скачать презентацию