Дублирование многих управляющих структур
Нет совместного использования ЦП. Один ЦП перегружен, второй в простое.
Нет совместного использования страниц ОЗУ один процессор имеет память, а второй нет
При использовании разделяемых ВнУ невозможно обеспечить когерентность дисков, т. е. их кэш ведется независимо каждым ЦП.
Многопроцессорные ос – модуль Хозяин-подчиненный(Главный цп)
Выполняется одна копия ОС на главном процессоре(хозяин)
Все остальные выполняют приложения
Главный ЦП выполняет приложения при отсутствии необходимости выполнения ОС
Плюсы: здесь устраняются недостатки первого принципа.
Минусы:
При большом количестве ЦП хозяин может стать узким местом
Такая модель работоспособна при небольшом количестве процессоров
Модель: Симметричная мос
Имеется одна копия ОС
ОС может выполняться на любом процессоре
Плюсы:
Динамический баланс загрузки процессоров
Эффективное использование ОЗУ
Минусы:
Необходимость синхронизации доступа различных процессоров к управляющим структурам
Простое решение: Вся ОС- критический участок
Эффективное решение: разбить ОС на независимые части и необходима синхронизация только к частям
Сложность ОС из-за пункта (b)
ПЛАНИРОВАНИЕ ВРЕМЕНИ МУЛЬТИПРОЦЕССОРА
Факторы усложнения планирования
Двухмерность (по времени, по ЦП)
Взаимная зависимость процессов группы процессов:
Процессы независимы
Процессы зависимы
Планирование для независимых процессов:
Список готовых процессов
Много списков процессов, упорядоченных по приоритету
Плюсы: автоматическая балансировка нагрузки готовых процессов
Минусы:
Высокая конкуренция за доступ к спискам задач
Высокий объем накладных расходов на переключение процессов из различных состояний( из выполняющегося в готовый, из блокированного в готовый)
Вставка промахов в кэш данных и команд в кэш TLB (отображение логичечких адресов в физические адреса) ведет к росту объема перемещений страниц, сегментов снижение скорости доступа к адр. объектам. Причина – запуск задач на выполнение без памяти и предыстории траектории процессов.
Родственное планирование времени мультипроцессов – снимает недостаток iii-минуса Идея – запускать процесс на том ЦП, на котором процесс уже выполнялся в предыдущих квантах. Реализация двухуровневая:
LVL1: В момент создания процесса он закрепляется за определенным процессором каждый ЦП имеет свой набор процессов
LVL2: планирование времени жизни процесса – процесс выполняется на закрепленном процессоре. При отсутствии работы у какого-либо ЦП происходит перераспределение задач.
Плюсы:
равномерное распределение нагрузки
используется родственность кэшей ЦП
минимизируется конкуренция за доступ к спискам(во всяком случае, готовых)
ПЛАНИРОВАНИЕ СВЯЗАННЫХ ПРОЦЕССОВ группа процессов одной задачи
разделение пр-ва ЦП пакетная обработка
совместное использование пр-ва ЦП аналог квантов времени
Планирование пакетами потоков в пр-ве ЦП – каждому потоку назначается свой ЦП и удерживается до конца работы пакета. При блокировках процессор удерживается за заблокированным процессом до завершения всего пакета
Плюсы: управление степенью параллелизма
Минусы: потери времени ЦП при блокировании потока
Бригадное планирование – в пр-ве ЦП и во времени.
Группы связанных потоков планируются как единое целое – бригада
Все потоки бригады запускаются одновременно(каждый на своем ЦП) с квантованием времени
Все члены бригады начинают и завершают кванты одновременно. В начале каждого кванта происходит перепланирование бригад.
При блокировании потока бригады этот поток удерживает за собой ЦП(В середине кванта нет преепланирования) SMP – общая память(сильная связь)
Коммуникационные средства многомашинных ВС
с архитектурой MPP уровня пользователя
Распределенная память
Слабая
Различают три типа средств:
Обмен сообщениями(команды послать/принять)
Синхронный |
Асинхронный |Парадигма ввода-вывода.
Вызов удаленных процедур RPC универсальное средство разработки ПО для SMP&MPP
Распределенная память совместного доступа DSM
2+3
инструменты для создания ПО для SMP&MPP
систем.
Подробнее…Основан на 2х операциях вызова SEND (что, куда) и RECIEVE(что, откуда) что=сообщ. Куда=Id-процесса.
Варианты реализации SEND
Синхронная – блокирующие операции Send – после запуска операции ЦП простаивает
Асинхронная – неблокирующая операция Send- копирует сообщения в буфер ядра системы
Минус: накладные расходы на копирование сообщений для ЦП и ОП
Асинхронная№2- неблокирующая операция Send с прерываниями при завершении передачи данных
Минус: усложенние обработки
Неблокирующая операция Send с блокированием буфера с сообщением только на чтение.
Минус: усложенние управления буферами
Варианты реализации RECIEVE
блокирующая операция – ЦП простаивает до прибытия сообщения
неблокирующая операция с прерыванием при поступлении сообщения.
неблокирующая операция с почтовым ящиком и его адресом.
неблокирующая операция с активными сообщениями – порождает временные потоки для обработки поступившего сообщения.
Минус: накладные расходы на создание и завершение потоков обработки.
