
- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Архитектура эвм
- •Часть 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
- •Список литературы
- •Оглавление:
Алгоритм древовидный маркерный (Raymond)
Все процессы представлены в виде сбалансированного двоичного дерева. Каждый процесс имеет очередь запросов от себя и соседних процессов (1-го, 2-х или 3-х) и указатель в направлении владельца маркера.
Вход в критическую секцию:
Если есть маркер, то процесс выполняет КС.
Если нет маркера, то процесс:
помещает свой запрос в очередь запросов
посылает сообщение "ЗАПРОС" в направлении владельца маркера и ждет сообщений.
Поведение процесса при приеме сообщений:
Процесс, не находящийся внутри КС должен реагировать на сообщения двух видов -"МАРКЕР" и "ЗАПРОС".
А) Пришло сообщение "МАРКЕР"
1. Взять 1-ый запрос из очереди и послать маркер его автору (концептуально, возможно себе);
2. Поменять значение указателя в сторону маркера;
3. Исключить запрос из очереди;
4. Если в очереди остались запросы, то послать сообщение "ЗАПРОС" в сторону маркера.
Б) Пришло сообщение "ЗАПРОС".
Поместить запрос в очередь
Если нет маркера, то послать сообщение "ЗАПРОС" в сторону маркера, иначе (если есть маркер) - перейти на пункт 1.
Выход из критической секции.
Если очередь запросов пуста, то при выходе ничего не делается, иначе - перейти к пункту 1.
Децентрализованный алгоритм на основе временных меток.
Алгоритм носит имя Ricart-Agrawala и является улучшением алгоритма, который предлжил Lamport.
Требуется глобальное упорядочение всех событий в системе по времени.
Вход в критическую секцию:
Когда процесс желает войти в критическую секцию, он посылает всем процессам сообщение-запрос, содержащее имя критической секции, номер процесса и текущее время. После посылки запроса процесс ждет, пока все дадут ему разрешение. После получения от всех разрешения, он входит в критическую секцию.
Поведение процесса при приеме запроса:
Когда процесс получает сообщение-запрос, в зависимости от своего состояния по отношению к указанной критической секции он действует одним из следующих способов.
Если получатель не находится внутри критической секции и не запрашивал разрешение на вход в нее, то он посылает отправителю сообщение "OK".
Если получатель находится внутри критической секции, то он не отвечает, а запоминает запрос.
Если получатель выдал запрос на вхождение в эту секцию, но еще не вошел в нее, то он сравнивает временные метки своего запроса и чужого. Побеждает тот, чья метка меньше. Если чужой запрос победил, то процесс посылает сообщение "OK". Если у чужого запроса метка больше, то ответ не посылается, а чужой запрос запоминается.
Выход из критической секции:
После выхода из секции он посылает сообщение "OK" всем процессам, запросы от которых он запомнил, а затем стирает все запомненные запросы.
Количество сообщений на одно прохождение секции - 2(n-1), где n - число процессов. Кроме того, одна критическая точка заменилась на n точек (если какой-то процесс перестанет функционировать, то отсутствие разрешения от него всех остановит). И, наконец, если в централизованном алгоритме есть опасность перегрузки координатора, то в этом алгоритме перегрузка любого процесса приведет к тем же последствиям. Некоторые улучшения алгоритма (например, ждать разрешения не от всех, а от большинства) требуют наличия неделимых широковещательных рассылок сообщений.