Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Файлы для подготовки к экзамену / Управление параллельными процессами на ВС

.doc
Скачиваний:
32
Добавлен:
28.06.2014
Размер:
2.8 Mб
Скачать
  1. Управление параллельными процессами на ВС.

    1. Организационная структура и функции управления с организационной точки зрения.

Функции управления параллельными процессами (параллельным выполнением программ) можно разделить на два уровня: общесистемный и процессный

Основные функции управления общесистемного уровня следующие:

  • Администрирование ВС, включая начальное конфигурирование, масштабирование, если в этом возникает необходимость, контроль функционирования администратором работы ВС (отказов, загруженности и др.),

  • Загруженности компьютеров (процессоров) ВС с целью достижения некоторого уровня равномерности (обычно для однородных ОС),

  • Управление отказами и восстановлениями (контроль работоспособности компьютера, реакция на отказы и восстановления),

  • Динамическое реконфигурирование с целью управления загруженностью и как необходимость реакции на отказы и восстановления,

  • Инициализация выполнения параллельных программ.

К основным функциям процессного уровня следует отнести:

  1. Идентификация динамически возникающих при выполнении параллельных программ процессов, включая их однозначное именование, местоположение (transparency, в английской терминологии) в ВС,

  2. Формирование сложностного “портрета” процесса, т.е. определение его характеристик, которые существенны для эффективного планирования вычислений на ВС. В качестве этих характеристик можно рассматривать программно зависимые характеристики сложности процесса (процесс есть вычисление простой функции, рекурсивной функции или более сложного компонента программы – её подпрограммы, модуля и подсхемы граф-схемы и др.), а также характеристики измеряемые в процессе его выполнения: использованное время процессора, коммуникаций, других ресурсов и др.

  3. Планирование процессов, состоящее в определении их приоритетов, регламентирующих порядок назначения их на выполнение.

  4. Собственно выполнение процесса.

Описанные функции управления можно реализовать по-разному, используя строго централизованную, строго децентрализованную или смешанную схемы управления.

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

Рис. 1 иллюстрирует эту схему организации управления и распределения функций между сервером ВС и её компьютерами.

Кроме того, такая организация управления параллельными процессами на ВС предполагает простой путь её масштабирования путём введения иерархии, отражённой на рис. 2.

Функции процессного уровня, которые реализует компьютер на рис. 1, расширены и дополнительно включают:

  1. Измерение параметров загруженности компьютера,

  2. Реакция на отказ компьютера, включая его идентификацию и информирование сервера (если это возможно).

В более общем случае, компьютер на случай отказа должен либо периодически запоминать своё “предыдущее” состояние, сохраняя его на временном носителе памяти, например общем диске, либо использовать более изощренную схему обеспечения живучести и надёжности ВС [Лобанов В. .. , диссертация см. нашу общую статью – её список литературы].

Рис. 1 Функции компьютера – сервера.

Что касается измерения параметров загруженности компьютера, то современные ОС Unix/Liux, Windows и др. имеют средства для её получения [?]. При этом наиболее простым с точки зрения временных затрат на измерения являются параметры:

  • Количество процессов на компьютере,

  • Объём свободной памяти,

  • Простой процессора, т.е. доля времени, которое процессы используют процессор при своём выполнении.

Рис. 2 Кластер.

Более сложно с позиций временных затрат измерять параметры, которые более точно позволяют судить о его загруженности:

  • Интенсивность обменов (swapping) между дисковой и оперативной памятью,

  • Интенсивность обменов компьютера с другими компьютерами ВС.

Как показано в [16-из списка литературы в нашей статье], по этим параметрам в принципе может определяться оптимальное количество процессов, которые выполняет компьютер на определённом интервале.

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

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