© Крюков В.А.
Курс лекций
"Распределенные ОС"
1. Введение в параллельные и распределенные системы
1.1 Достоинства многопроцессорных систем с общей памятью (мультипроцессоров)
- Производительность
- Надежность
Недостатки мультипроцессоров
- ПО (приложения, языки, ОС) сложнее, чем для однопроцессорных ЭВМ
- Ограниченность при наращивании (физ. размеры - близость к памяти, 64 процессора - максимально достигнутое).
1.2 Достоинства распределенных систем
Распределенная система - совокупность независимых компьютеров, которая представляется пользователю единым компьютером. Примеры: сеть рабочих станций (выбор процессора для выполнения программы, единая файловая система), роботизированный завод (роботы связаны с разными компьютерами, но действуют как внешние устройства единого компьютера, банк со множеством филиалов, система резервирования авиабилетов.
Почему создаются распределенные системы? В чем их преимущества перед централизованными ЭВМ?
1-ая причина - экономическая. Закон Гроша (Herb Grosh, 25 лет назад)- быстродействие процессора пропорциональна квадрату его стоимости. С появлением микропроцессоров закон перестал действовать - за двойную цену можно получить тот же процессор с несколько большей частотой.
2-ая причина - можно достичь такой высокой производительности путем объединения микропроцессоров, которая недостижима в централизованном компьютере.
3-я причина - естественная распределенность (банк, поддержка совместной работы группы пользователей ).
4-ая причина - надежность (выход из строя нескольких узлов незначительно снизит производительность).
5-я причина - наращиваемость производительности. В будущем главной причиной будет наличие огромного количества персональных компьютеров и необходимость совместной работы без ощущения неудобства от географического и физического распределения людей, данных и машин.
Почему нужно объединять PC в сети?
- Необходимость разделять данные.
- Преимущество разделения дорогих периферийных устройств, уникальных информационных и программных ресурсов.
- Достижение развитых коммуникаций между людьми. Электронная почта во многих случаях удобнее писем, телефонов и факсов.
- Гибкость использования различных ЭВМ, распределение нагрузки.
- Упрощение постепенной модернизации посредством замены компъютеров.
Недостатки распределенных систем:
- Проблемы ПО (приложения, языки, ОС).
- Проблемы коммуникационной сети (потери информации, перегрузка,развитие и замена).
- Секретность.
1.3 Виды операционных систем (сетевые ОС, распределенные ОС, ОС мультипроцессорных ЭВМ)
Сетевые ОС - машины обладают высокой степенью автономности, общесистемных требований мало. Можно вести диалог с другой ЭВМ, вводить задания в ее очередь пакетных заданий, иметь доступ к удаленным файлам, хотя иерархия директорий может быть разной для разных клиентов. Пример - серверы файлов (многие WS могут не иметь дисков вообще).
Распределенные ОС - единый глобальный межпроцессный коммуникационный механизм, глобальная схема контроля доступа, одинаковое видение файловой системы. Вообще - иллюзия единой ЭВМ.
ОС мультипроцессорных ЭВМ - единая очередь процессов, ожидающих выполнения, одна файловая система.
Сетевая ОС | Распределенная ОС | ОС мультипроцессора | |
---|---|---|---|
Компьютерная система выглядит как виртуальная однопроцессорная ЭВМ | НЕТ | ДА | ДА |
Одна и та же ОС выполняется на всех процессорах | НЕТ | ДА | ДА |
Сколько копий ОС имеется в памяти | N | N | 1 |
Как осуществляются коммуникации | Разделяемые файлы | Сообщения | Разделяемая память |
Требуется ли согласованный сетевой протокол | ДА | ДА | НЕТ |
Имеется ли единая очередь выполняющихся процессов | НЕТ | НЕТ | ДА |
Имеется хорошо определенная семантика разделения файлов | Обычно НЕТ | ДА | ДА |
1.4. Принципы построения распределенных ОС (прозрачность, гибкость, надежность, эффективность, масштабируемость)
(1) Прозрачность (для пользователя и программы).
Прозрачность расположения | Пользователь не должен знать, где расположены ресурсы |
Прозрачность миграции | Ресурсы могут перемещаться без изменения их имен |
Прозрачность размножения | Пользователь не должен знать, сколько копий существует |
Прозрачность конкуренции | Множество пользователей разделяет ресурсы автоматически |
Прозрачность параллелизма | Работа может выполняться параллельно без участия пользователя |
(2) Гибкость (не все еще ясно - потребуется менять решения).
Использование монолитного ядра ОС или микроядра.
(3) Надежность.
- Доступность, устойчивость к ошибкам (fault tolerance).
- Секретность.
(4) Производительность.
Грануллированность. Мелкозернистый и крупнозернистый параллелизм (fine-grained parallelism, coarse-grained parallelism). Устойчивость к ошибкам требует дополнительных накладных расходов.
(5) Масштабируемость.
Плохие решения:
- централизованные компоненты (один почтовый-сервер);
- централизованные таблицы (один телефонный справочник);
- централизованные алгоритмы (маршрутизатор на основе полной информации).
Только децентрализованные алгоритмы со следующими чертами:
- ни одна машина не имеет полной информации о состоянии системы;
- машины принимают решения на основе только локальной информации;
- выход из строя одной машины не должен приводить к отказу алгоритма;
- не должно быть неявного предположения о существовании глобальных часов.
Содержание курса | Далее: Лекция 2. |
© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ