BC/NW 2007, №1, (10) :5.5
РАЗДЕЛЕНИЕ ПРИОРИТЕТОВ В МНОГОЗАДАЧНОЙ
ГЛОБАЛЬНО-РАСПРЕДЕЛЕННОЙ ВЫЧИСЛИТЕЛЬНОЙ СЕТИ
П.Е Ильин., И.И
Дзегеленок.
(Москва, Московский
энергетический институт (технический университет), Россия)
В
настоящее время одним из направлений развития информационных технологий
являются распределенные вычисления, которые позволяют повысить эффективность
решения ряда задач за счет обработки данных по месту их возникновения.
Параллельная мультикомпьютерная сеть (ПМК-сеть) является одним из возможных
способов реализации распределенных вычислений. ПМК-сеть представляет собой
глобально-распределенную вычислительную среду, выполняемую на некотором
множестве вычислителей, которая создает инфраструктуру для выполнения
распределенных задач в многозадачном режиме [1,2].
При
использовании многозадачного режима возникает необходимость обеспечить
выполнение задач с различными приоритетами. Разграничение приоритетов может быть реализовано за счет использования
механизмов управления приоритетами, имеющихся во всех современных многозадачных
операционных системах. Однако в ряде случаев при запуске какой-либо критически
важной задачи возникает необходимость изменить приоритет уже выполняющихся
задач (понизить его или вообще приостановить выполнение), а после завершения
критической задачи – восстановить исходные приоритеты.
Такое
изменение приоритетов может быть реализовано двумя способами. Первый –
централизованное планирование на управляющем сервере ПМК-сети и отправка команд
на изменение приоритета. Второй способ – использование механизма относительных
приоритетов.
Алгоритм
работы механизма относительных приоритетов имеет следующий вид:
При
запуске задачи управляющий сервер присваивает ей уровень приоритета L и
отправляет команду на запуск задачи локальному диспетчеру.
Осуществляется
запуск процессов задачи, но при этом процессы находятся в остановленном
состоянии.
Среди
всех задач, выполняемых на каждом вычислителе, локальный диспетчер выполняет
определяет максимальный относительный
приоритет Lmax.
Для
каждой из задач определяется величина l=Lmax-L, где L –
относительный приоритет данной задачи
Если
l для данной задачи меньше или равна нулю, то все процессы этой задачи, которые
выполняются на данном вычислителе (так называемые локальные процессы), приостанавливаются.
Если же значение l положительно, то всем локальным процессам задачи
присваивается уровень приоритета l.
При
завершении одной из выполняющихся задач производится проверка, есть ли еще
задачи на данном вычислителе. Если задачи есть, то производится переход к
пункту 2 алгоритма, в противном случае – обнуление величины Lmax и
ожидание запуска новых задач.
Очевидно,
что механизм относительных приоритетов позволяет передать большую часть
действий по управлению приоритетами от управляющего сервера к локальным
диспетчерам вычислителей, что повышает надежность работы ПМК-сети в целом и
уменьшает объем передаваемой служебной информации. Кроме этого, этот механизм
позволяет учитывать различное количество уровней приоритетов в различных
операционных системах, что позволяет ему функционировать и в гетерогенных
средах.
Также
важно отметить, что механизм относительных приоритетов может быть применен не
только на уровне задач, но и на уровне параллельных процессов, порождаемых
каждой задачей.
Литература
1. Дзегеленок И.И., Кузнецов А.Ю.
Параллельные мультикомпьютерные сети как направление развития распределенных
супер-ЭВМ// Сб. "Системы управления и силовая электроника"/ Под общ
ред. В.Д.Ковалёва.-М.:ВЭИ.-2001, с.62-67
2.
Дзегеленок И.И., Ильин П.Е. и др. Декомпозиционный подход к осуществлению GRID-технологий// Научно-технический журнал «Информационная математика»– М.: Изд-во «АСТ-Физико-математическая литература», №
1(5), 2005, с.110–119