42.Планирование в многопроцессорных системах (классификация архитектур, коммуникационных сред и вычислительных систем, назначение процессоров, принципы и типы планирования)

Вследствие постоянного возрастания запросов потребителей к скорости вычислений, уже давно ведутся разработки по объединению процессоров или целых компов в одну вычислительную машину. Здесь возможны 3 варианта.

Мультипроцессорная система с общей памятью.

С-процессор.

В данном случае все процессы обладают равным доступом ко всей физической памяти. Временные показатели (из трех вариантов) лучшие.

Мультикомпьютерная система с передачей сообщений.

М – память одного компьютера.

С – процессор одного компьютера.

В данной схеме пары процессор-память соединены с помощью высокоскоростной схемы передачи сообщений. Временные показатели средние, но сложность в программировании.

Распределенная система.

Полноценные системы связываются между собой с помощью глобальной сети в распределенную систему. Временные показатели наихудшие.

Мультипроцессорные системы.

Основные модели:

1)  Для каждого процессора создается собственная копия ОС. Память распределяется статически. Отсутствует совместное обслуживание процессов и пользование страниц. Необходимо отказаться от поблочного кэша, иначе это приведет к порче данных. Планирование осуществляется отдельно для каждой ОС (каждого процессора).

2)  Модель «хозяин-подчиненный». Создается одна копия ОС и связывается с процессором – хозяином. Только этот процессор может выполнять системные задачи. Остальные процессоры (подчиненные) являются ресурсом для вычислений и могут выполнять только пользовательские задачи.

3)  Симметричные мультипроцессоры. Памяти находится всего одна копия ОС. Все ЦП равнозначны. При системном вызове на каком-то ЦП происходит прерывание и переход в режим ядра для обработки вызова на этом же ЦП. Для обеспечения взаимоисключений необходимо выделить ряд критических областей в самой ОС и связать их мьютексами.

Планирование.

1)  Ведение списка или множества списков для разных приоритетов. Освобождающиеся процессоры выбирают процессы из списка по очереди.

2)  «умное планирование». Если процесс входит в критическую область, захватывается мьютекс, то он не останавливается по кванту времени, а выполняется до освобождения мьютекса.

3)  Родственное планирование. По возможности процессы отправляются на обработку к тому процессору, который обрабатывал их до этого.

4)  Планирование по модели «производитель-потребитель».

Планирование с разделением пространства. Алгоритмы этой группы позволяют выполнять связанные процессы на разных процессорах (бригадное, планирование на основе управления степенью распараллеливания процессов).

Планирование в мультикомпьютерах.

В отличии от мультипроцессорных систем, здесь планирование процессов происходит в два этапа. На первом, каждый новый процесс назначается какому-либо процессору (необходимо обеспечить равномерную нагрузку на все ЦП). На втором, каждый процессор планирует запуск процессов внутри себя по алгоритмам однопроцессорной системы. После назначения процесса какому-либо ЦП этот процесс уже не может выполняться на другом ЦП.

Детерминированный графовый алгоритм. Если известны схемы обмена данными между процессами, то процессы назначаются ЦП таким образом, чтобы минимизировать сетевой трафик. Алгоритм: стоится граф связей между процессами, затем разбивается на подграфы так, чтобы между ними было как можно меньше связей. Распределенный эвристический алгоритм, инициируемый отправителем. Если создающий процесс ЦП перегружен, то он пытается случайным образом найти такой ЦП, который перегружен меньше него, и передать ему процесс. Распределенный эвристический алгоритм, инициируемый получателем. При завершении процесса анализируется загруженность данного процессора. Если он свободен, то ищет случайным образом загруженный процессор и запрашивает процесс на выполнение. Алгоритм торгов. ЦП формирует предложение. Каждому ЦП назначается цена. При создании дочернего процесса, родительский анализирует рынок и выбирает самый дешевый ЦП. Процесс отправляет заявку со своей ценой этому ЦП. Из всех заявок ЦП выбирает самый дорогой и начинает выполнение процесса. Цена процессоров корректируется.

Планирование в распределенных системах.

Направление распределенных систем – осуществление связи в глобальных сетях и предоставления доступа к ресурсам. Поэтому планируются не процессы. А предоставление ресурсов.

Аспекты планирования:

Определение исполнительных ресурсов для каждого задания.

Определение времени, в течение которого ресурсы отводятся заданию.

Метод опережающего планирования.

Заключается в предварительном построении точных аллокаций на основе прогноза состояния ресурсов в будущем. Для этого необходимо произвести прогноз загрузки ресурсов (создать расписание загрузки) и предварительное резервирование ресурсов.