- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Архитектура эвм
- •Часть 2, 3
- •Глава 5. Уровни организации эвм.
- •5.1. Машинный уровень организации
- •5.1.1. Форматы команд.
- •5.1.2. Адресация данных.
- •6.2.1.1. Прямые способы адресации.
- •6.2.1.2. Непрямые способы адресации:
- •3. Автоинкрементная, автодекрементная (индексная) адресация.
- •5.1.3. Адресация команд.
- •5.1.4. Типы машинных команд.
- •5.1.5. Команды обработки данных.
- •5.2. Микропрограммный уровень организации эвм.
- •5.2.1. Принцип микропрограммного управления.
- •5.2.2. Описание функциональных микропрограмм.
- •5.2.3 Набор микроопераций и микроэлементов.
- •1°. Шина.
- •2°. Регистры.
- •3°. Счетчики.
- •4°. Сумматоры.
- •5°. Преобразователи кодов.
- •6°. Вычисление значений логических условий.
- •7°. Комбинированные операционные элементы.
- •5.2.4. Структурное построение и функционирование микропрограммных устройств управления.
- •5.3. Системный уровень организации
- •Глава 6. Организация памяти вс.
- •6.1. Виды запоминающих устройств. Иерархия памяти.
- •6.2. Организация оперативной памяти.
- •Глава 7. Виды и архитектура процессоров.
- •7.1. Матричный процессор.
- •7.2. Процессор с конвейеризацией команд и процессор с конвейеризацией операций.
- •7.3. Суперскалярный процессор.
- •7.4. Коммуникационный процессор
- •7.5. Архитектуры cisc и risc.
- •Глава 8. Организация связей в эвм.
- •Глава 9. Основные классы современных параллельных компьютеров.
- •9.1. Симметричные мультипроцессорные системы (smp) (Symmetric Multi-Processing)
- •9.2. Массивно-параллельные системы (мрр) (Massively Parallel Processing)
- •9.3. Системы с неоднородным доступом к памяти (numa) (non uniform memory access)
- •9.4. Параллельно-векторные системы (pvp)
- •9.5. Кластерные системы
- •Глава 10. Межпроцессорные сети связи в эвм mpp типа (Interconnect Network)
- •Глава 11. Эффективная организация дисковых накопителей при организации параллельного и независимого доступа
- •11.1. Общие вопросы организации.
- •11.2. Время обслуживания.
- •11.3. Затраты и целесообразность.
- •11.4. Технология i2o в raid-контроллерах.
- •Глава 12. Параллельные и распределенные системы Введение.
- •Недостатки мультипроцессоров
- •Pc необходимо объединять в сети, поскольку возникает
- •12.1. Операционные системы мультипроцессорных эвм
- •12.1.1 Процессы и нити
- •12.1.2. Взаимодействие процессов
- •12.1.3 Планирование процессоров
- •12.2. Коммуникации в распределенных системах
- •Локальные сети.
- •Клиент-сервер
- •Удаленный вызов процедур
- •Обмен сообщениями между прикладными процессами send, receive (адресат/отправитель, [тэг], адрес памяти, длина)
- •12.3. Синхронизация в распределенных системах
- •12.3.1. Синхронизация времени
- •Логические часы.
- •Физические часы.
- •12.3.2 Выбор координатора
- •Алгоритм "задиры"
- •Круговой алгоритм.
- •12.3.3 Взаимное исключение Централизованный алгоритм
- •Алгоритм с круговым маркером
- •Алгоритм древовидный маркерный (Raymond)
- •Децентрализованный алгоритм на основе временных меток.
- •Алгоритм широковещательный маркерный (Suzuki-Kasami).
- •12.3.4. Координация процессов
- •12.4. Распределенные файловые системы
- •12.4.1 Архитектура распределенных файловых систем
- •Интерфейс файлового сервера
- •5.1.2 Интерфейс сервера директорий
- •Различают две формы прозрачности именования
- •Семантика разделения файлов
- •12.4.2 Реализация распределенных файловых систем
- •Использование файлов
- •5.2.2 Структура системы
- •Кэширование
- •Когерентность кэшей.
- •Размножение
- •12.4.3. Пример: Sun Microsystems Network File System (nfs)
- •Архитектура nfs.
- •Протоколы nfs.
- •Реализация nfs
- •Список литературы
- •Оглавление:
12.3.2 Выбор координатора
Многие распределенные алгоритмы требуют, чтобы один из процессов выполнял функции координатора, инициатора или некоторую другую специальную роль. Выбор такого специального процесса будем называть выбором координатора. При этом очень часто бывает не важно, какой именно процесс будет выбран. Можно считать, что обычно выбирается процесс с самым большим уникальным номером. Могут применяться разные алгоритмы, имеющие одну цель - если процедура выборов началась, то она должна закончиться согласием всех процессов относительно нового координатора.
Алгоритм "задиры"
Если процесс обнаружит, что координатор очень долго не отвечает, то инициирует выборы. Процесс P проводит выборы следующим образом:
P посылает сообщение "ВЫБОРЫ" всем процессам с большими чем у него номерами.
Если нет ни одного ответа, то P считается победителем и становится координатором.
Если один из процессов с большим номером ответит, то он берет на себя проведение выборов. Участие процесса P в выборах заканчивается.
В любой момент процесс может получить сообщение "ВЫБОРЫ" от одного из коллег с меньшим номером. В этом случае он посылает ответ "OK", чтобы сообщить, что он жив и берет проведение выборов на себя, а затем начинает выборы (если к этому моменту он уже их не вел). Следовательно, все процессы прекратят выборы, кроме одного - нового координатора. Он извещает всех о своей победе и вступлении в должность сообщением "КООРДИНАТОР". Если процесс выключился из работы, а затем захотел восстановить свое участие, то он проводит выборы (отсюда и название алгоритма).
Круговой алгоритм.
Алгоритм основан на использовании кольца (физического или логического), но без маркера. Каждый процесс знает следующего за ним в круговом списке. Когда процесс обнаруживает отсутствие координатора, он посылает следующему за ним процессу сообщение "ВЫБОРЫ" со своим номером. Если следующий процесс не отвечает, то сообщение посылается процессу, следующему за ним, и т.д., пока не найдется работающий процесс. Каждый работающий процесс добавляет в список работающих свой номер и переправляет сообщение дальше по кругу. Когда процесс обнаружит в списке свой собственный номер (круг пройден), он меняет тип сообщения на "КООРДИНАТОР" и оно проходит по кругу, извещая всех о списке работающих и координаторе (процессе с наибольшим номером в списке). После прохождения круга сообщение удаляется.
12.3.3 Взаимное исключение Централизованный алгоритм
Все процессы запрашивают у координатора разрешение на вход в критическую секцию и ждут этого разрешения. Координатор обслуживает запросы в порядке поступления. Получив разрешение процесс входит в критическую секцию. При выходе из нее он сообщает об этом координатору. Количество сообщений на одно прохождение критической секции - 3.
Недостатки алгоритма - обычные недостатки централизованного алгоритма (крах координатора или его перегрузка сообщениями).
Алгоритм с круговым маркером
Все процессы составляют логическое кольцо, когда каждый знает, кто следует за ним. По кольцу циркулирует маркер, дающий право на вход в критическую секцию. Получив маркер (посредством сообщения точка-точка) процесс либо входит в критическую секцию (если он ждал разрешения) либо переправляет маркер дальше. После выхода из критической секции маркер переправляется дальше, повторный вход в секцию при том же маркере не разрешается.
Проблемы:
Если маркер потеряется, то его надо регенерировать. Обнаружить потерю тяжело (время прихода неизвестно).
Если какой-то процесс перестанет функционировать, то алгоритм не работает. Однако восстановление проще, чем в других случаях. Наличие квитанций позволит обнаружить такой процесс в момент передачи маркера (если поломка произошла вне критического интервала). Переставший функционировать процесс должен быть исключен из логического кольца, для этого придется каждому знать текущую конфигурацию кольца.
