42.Планирование в многопроцессорных системах (классификация архитектур, коммуникационных сред и вычислительных систем, назначение процессоров, принципы и типы планирования)
Вследствие постоянного возрастания запросов потребителей к скорости вычислений, уже давно ведутся разработки по объединению процессоров или целых компов в одну вычислительную машину. Здесь возможны 3 варианта.
Мультипроцессорная система с общей памятью.
С-процессор.
В данном случае все процессы обладают равным доступом ко всей физической памяти. Временные показатели (из трех вариантов) лучшие.
Мультикомпьютерная система с передачей сообщений.
М – память одного компьютера.
С – процессор одного компьютера.
В данной схеме пары процессор-память соединены с помощью высокоскоростной схемы передачи сообщений. Временные показатели средние, но сложность в программировании.
Распределенная система.
Полноценные системы связываются между собой с помощью глобальной сети в распределенную систему. Временные показатели наихудшие.
Мультипроцессорные системы.
Основные модели:
1) Для каждого процессора создается собственная копия ОС. Память распределяется статически. Отсутствует совместное обслуживание процессов и пользование страниц. Необходимо отказаться от поблочного кэша, иначе это приведет к порче данных. Планирование осуществляется отдельно для каждой ОС (каждого процессора).
2) Модель «хозяин-подчиненный». Создается одна копия ОС и связывается с процессором – хозяином. Только этот процессор может выполнять системные задачи. Остальные процессоры (подчиненные) являются ресурсом для вычислений и могут выполнять только пользовательские задачи.
3) Симметричные мультипроцессоры. Памяти находится всего одна копия ОС. Все ЦП равнозначны. При системном вызове на каком-то ЦП происходит прерывание и переход в режим ядра для обработки вызова на этом же ЦП. Для обеспечения взаимоисключений необходимо выделить ряд критических областей в самой ОС и связать их мьютексами.
Планирование.
1) Ведение списка или множества списков для разных приоритетов. Освобождающиеся процессоры выбирают процессы из списка по очереди.
2) «умное планирование». Если процесс входит в критическую область, захватывается мьютекс, то он не останавливается по кванту времени, а выполняется до освобождения мьютекса.
3) Родственное планирование. По возможности процессы отправляются на обработку к тому процессору, который обрабатывал их до этого.
4) Планирование по модели «производитель-потребитель».
Планирование с разделением пространства. Алгоритмы этой группы позволяют выполнять связанные процессы на разных процессорах (бригадное, планирование на основе управления степенью распараллеливания процессов).
Планирование в мультикомпьютерах.
В отличии от мультипроцессорных систем, здесь планирование процессов происходит в два этапа. На первом, каждый новый процесс назначается какому-либо процессору (необходимо обеспечить равномерную нагрузку на все ЦП). На втором, каждый процессор планирует запуск процессов внутри себя по алгоритмам однопроцессорной системы. После назначения процесса какому-либо ЦП этот процесс уже не может выполняться на другом ЦП.
Планирование в распределенных системах.
Направление распределенных систем – осуществление связи в глобальных сетях и предоставления доступа к ресурсам. Поэтому планируются не процессы. А предоставление ресурсов.
Аспекты планирования:
Определение исполнительных ресурсов для каждого задания.
Определение времени, в течение которого ресурсы отводятся заданию.
Метод опережающего планирования.
Заключается в предварительном построении точных аллокаций на основе прогноза состояния ресурсов в будущем. Для этого необходимо произвести прогноз загрузки ресурсов (создать расписание загрузки) и предварительное резервирование ресурсов.



