Распределение заданий в вычислительной сети

переключения контекста на производительность монитора.

В обычной ситуации обработчик прерываний не анализирует содержимое буфера сетевого адаптера на предмет присутствия следующего пакета. Завершая свое выполнение, обработчик восстанавливает состояние процессора на момент появления сигнала прерывания. В случае высокой загрузки МК вероятность повторного вызова обработчика увеличивается. Образуется цепочка последовательных вызовов обработчика, следствием чего является неэффективное использование ресурсов центрального процессора PC. При групповой обработке обработчик прерывания, прежде чем восстановить состояние процессора, проверяет наличие в буфере сетевого адаптера следующего пакета. Если пакет обнаружен, обработчик, не восстанавливая состояния процессора, начинает его обработку. Подобная техника позволяет избежать дополнительных затрат на сохранение и восстановление состояния процессора.

Техника групповой обработки может быть с таким же успехом применена для программного интерфейса между ЯОС и приложением. Драйвер пакетного фильтра должен обеспечивать возможность чтения упорядоченных пакетов “пачкой”, если ЯОС содержит более одного пакета, а буфер приложения достаточен для их приема за один системный вызов. Подобный прием позволяет значительно уменьшить количество системных вызовов для пересылки данных из очереди ЯОС в буфер приложения. Эффект от подобной техники тем выше, чем больше загрузка.

В качестве доказательства эффективности пакетной обработки данных была измерена величина загрузки процессора ЭВМ, возникающая при использовании абстрактного устройства, которое передает блок информации размером 1 байт.

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

При использовании пакетной обработки заданий были получены результаты, приведенные в табл. 2. Размер пакета составлял 4 байта.

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

Таблица 1

1 2 3 4

14400 69,44 14400000 14

19200 52,08 19200000 19

28800 34,72 28800000 29

38400 26,04 38400000 38

57600 17,36 57600000 58

Таблица 2

1 2 3 4

14400 277,78 3600000 4

19200 208.33 4800000 5

28800 138.89 7200000 7

38400 104.17 9600000 10

57600 69.44 14400000 14

(1 — скорость поступления информации (байт/сек);

2 — интервал между прерываниями (мкс);

3 — количество инструкций в секунду для обслуживания прерываний; 4 — загрузка процессора, %)

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

Литература. 1. Braden R. A Pseudo-Machine for Packet monitoring and Statistics. In Proc. SIGCOMM’88. Symposium on Communications Architectures and Protocols, 1988. P. 200-209. 2. Robert T. Braden and Annette L. DeSchon. NNStat: Internet Statistics Collection Package - Introduction and User Guide Release 2.3. USC / Information Sciences Institute, Marina del Rey, CA, 1989.

Поступила в редколлегию 06.07.98 Рецензент: канд. техн. наук Копытчук Н.Б.

Фомин Дмитрий Анатольевич, аспирант кафедры “Компьютерные системы, комплексы и сети” Одесского государственного политехнического университета. Научные интересы: моделирование и проектирование локальных вычислительных сетей, программирование. Адрес: Украина, 2700010, Одесса, Адмиральский проспект, 34 Г, кв. 22, тел. (0482) 34-58-51, 34-58-40, факс (0482) 345-846, пейджер № 2358, тел.оператора (0482) 22-04-54.

УДК 681.324

РАСПРЕДЕЛЕНИЕ ЗАДАНИЙ В ВЫЧИСЛИТЕЛЬНОЙ СЕТИ

КАВУН С.В., ТРЕТЬЯКВ.Ф., ЯБЛОЧКОВ С.В.

Рассматривается методика решения задачи распределения заданий в сети при возникновении отказов. Для этого используется аппарат целочисленного линейного программирования с булевыми переменными (ЦЛП с

БП) с применением рангового подхода, что позволяет в значительной степени снизить алгоритмическую сложность задачи.

Функционирование информационно-вычислительных сетей (ИВС) связано с решением ряда научных и прикладных проблем. Одной из них является повышение эффективной работоспособности или живучести путем реконфигурации ИВС в реальном масштабе времени.

Рассмотрим частную задачу реконфигурации ИВС-распределение заданий в сети при возникновении отказов. Как известно, все задачи такого класса

РИ, 1998, № 3

97

являются NP-полными. Именно поэтому ее решение в реальном масштабе времени актуально. Если рассматривать известные алгоритмы (например, Бала-ша, метод двойного поиска, ветвей и границ и др.), то говорить о решении в реальном масштабе времени можно только при наличии 20-30 вершин. Предложенная же методика решения задачи перераспределения заданий в ИВС позволяет говорить о размерности задачи в сотни вершин.

При возникновении отказа в сети администратор сети пытается восстановить ее работоспособность путем ликвидации отказа за определенный период времени. Рассмотрим алгоритм его функционирования в случае невозможности такого восстановления (рис.1).

Н

О

Р

М

А

Л

Ь

Н

А

Я

Р

А

Б

О

Т

А

Рис 1. Алгоритм принятия решения в блоке анализа

Логические условия А, Б, В и Г соответственно определяют:

— возможно ли восстановление без перераспределения заданий;

— возможно ли перераспределение в данном режиме работы;

— перераспределение заданий по критерию важности;

— возможно ли перераспределения узлов в сети.

Логические условия Б и В составляют первый

уровень администрирования ИВС, а условие Г — второй уровень, на котором для реконфигурации структуры можно предложить любой известный алгоритм [1], например, эвристический (рис.2).

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

Рис.2. Эвристический метод оптимизации топологии

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

Кроме того, так как передача данных с одного узла на несколько других осуществляется практически одновременно, т. е. параллельно, задержкой на передачу заданий можно пренебречь (рис. 3). Тогда максимальный путь и даст самое большее время на передачу,

Vs

1 < AtSi  і AtS'  і ASi k

1 2 3 4 5 6 tsi'

Рис. 3. Диаграмма задержек при передаче

отказавших задач

т. е. при увеличении скорости передачи задач УД

lim A tsi ^ 0, что и позволяет говорить об одно-

Уд

временности передачи информации. То же самое можно сказать и при передаче данных для задач.

Пусть имеется Z узлов в сети, каналы связи которой позволяют обеспечить перераспределение заданий в сети. Отказы системы связи, так же как и отказы узлов сети, считаем независимыми. Под состоянием сети S(t) в момент времени t будем понимать набор состояний всех узлов сети, т. е. S(t)=s1, s2,..., sn, где

98

РИ, 1998, № 3

Ci -

1 - если Zi является отказавшим узлом ; 0 - если Zi является работоспособным узлом.

mv

Е xJU 1 > i -1,k v

Ц-1

Пусть Uv={Ui, U2, ... UL} — множество всех заданий, которые могут быть решены в сети в состоянии v; Uv1 ={U1i..., Um1..., Uk} — подмножество заданий. Для состояния So задано подмножество Uoi={uo1} и начальное распределение заданий между всеми узлами сети. Если обозначить суммарный ресурс, необходимый для решения PnS задач на отказавшем узле сети — Vs, а свободный ресурс на каждом i-м узле сети—Wi, то возможны два варианта:

1. Vs >Е Wi, 2. Vs <Е Wi.

i=1 i—1

В первом случае целесообразно осуществлять перераспределение заданий по критерию их важности. Каждое задание Umi с Uni характеризуется степенью важности, определяющей цели функционирования системы, в которой работает ИВС, и задается весовым коэффициентом Рц1. Тогда результат перераспределения задач определяется коэффициентом Ev, оцениваемым суммарной весовой характеристикой множества заданий в данном Sv состоянии, которое называется функциональной мощностью системы:

k v m v

Ev(Uv) — ЕЕ PL ,

i—1*—1

где kv — общее число работоспособных узлов в сети; mv — общее число заданий в сети; Рф — вес ц-го задания i-го узла, характеризующий ее важность для системы в целом.

Кроме этого, каждое задание имеет ряд других параметров, а именно: среднее время обслуживания

задачи ц в i-м узле, которое задается матрицей ||а ТЦ||,

||t‘J задания в i-й узел; объем памяти ||v*|| , требуемой

для решения задания m в i-м узле; стоимость ||сЦ||

доставки m-го задания в i-й узел сети.

Тогда формальная модель задачи перераспределения примет следующий вид:

kv mv .

Ev — Е Е РЦ- х‘ц^ max,

i—1ц—1

при ограничениях

k v m v

ЕЕ а тЦ - хЦ<а т^оп ,

i—1ц—1

k v m v

ЕЕ V^-х‘ц<Vдvоп ,

i—1ц—1

k v m v

ЕЕ t1 - Xі < Тдоп

Z-i Іц Ац — 1 v >

i—1ц—1

k v m v

ЕЕ с1 -Xі <Сдоп

А^ц Ац — V^v >

i—1ц—1

где

i Г1 , если ц - задание решается в i-м узле ;

Х ц [0 , если ц - задание не решается в i-м узле ;

АТпДоп, VnДоп, ТпДоп, СпДоп — допустимые предельные значения соответствующих параметров. Ограничение (1) определяет, что задание может быть назначено для решения только на один узел.

Во втором случае в зависимости от режима работы сети в качестве основных показателей могут использоваться: величина суммарного времени доставки заданий Т или стоимость С. Для каждого работоспособного узла введем параметр ai, характеризующий число заданий, которые узел i может принять на решение дополнительно. При этом будем полагать, что мы ищем план распределения заданий одного отказавшего узла сети. Такое предположение допустимо, поскольку при отказе нескольких узлов сети сигналы неисправности поступают к администратору последовательно, и рассматриваемую задачу можно представить как многократное решение задачи перераспределения с одним отказавшим узлом S. Тогда формальная модель задачи распределения заданий примет вид:

—в случае минимизации времени перераспределения заданий

k v

Т v—Е tsi- xsi ^ min,

i—1

при ограничениях

Е ai- xsi ^ a >

i — 1

Е Csi - xsi < СТ ,

i — 1

ЕА Tsi - xsi <а тг,

i — 1

— в случае минимизации суммарной стоимости доставки заданий

k v

Cv—ЕCsi-xsi ^min, i—1 при ограничениях k v

Е ai- xsi ^ a , i=1 k v

Е tsi - xsi < тдоп , i—1 k v

ЕА Tsi - xsi < А тдоп. i—1

В моделях

РИ, 1998, № 3

99

можно пренебречь, и рассматриваемая модель становится двумерной.

В случае модели (6)-(9) ее можно свести к одномерной, если для минимизации времени доставки использовать методы определения кратчайших путей, например, алгоритм Дейкстры [2], т. е.

k v

Cv=X Csi • xsi ^ min ,

i=1

при ограничениях

k v

X ai • xsi ^ a .

i=1

Тогда решение задачи (10), (11) дает оптимальный план распределения заданий, минимизирующий суммарную стоимость доставки, и далее определяет кратчайшие пути из узла S по всем остальным узлам сети, по которым осуществляется доставка этих заданий за минимальное время.

Для сравнения приведем алгоритмические сложности известных алгоритмов (таблица).

Название алгоритма Точная оценка Приближенная оценка

Дейкстры 3/2п

Флойда 2ns

Двойного поиска nVD 0

С использованием рангового ггодкода Сніп2, CM oRj

Задачи (2)-(5) и (6)-(9) можно решать на основе рангового подхода [3], который позволяет осуществлять их решение с временной сложностью O(Cmn2), где С < 1; m — число ограничений; n — число переменных в задаче.

Покажем решение задачи с помощью рангового подхода на примере решения (10), (11). Для этого проведем ряд преобразований, чтобы свести данную задачу к нужному виду. Введем переменную xSi=1-ySi, откуда получим ySi=1- xSi. Тогда задача (10), (11) с учетом введенной переменной примет вид:

kv

Cv=X Csi • Ysi ^ max,

i=1

при ограничении

k v ( ( k v

X ai • ysi ^ a > где a = X ai- a .

i=1 i=1

Для решение задачи (12)-(13) применим приближенные алгоритмы MAX, MIN и MAX-MIN. Введем обозначения: msir—множество путей из s-й вершины в i-ю на r-м ранге; {LW} — множество правил отсечения путей; dS(mSir) — длина пути к вершине i ранга r по весам функционала; {Cj}— множество весов функционала. Для построения приближенных алгоритмов из множества правил {LW} будем рассматривать следующие:

Lx:

Г= Г +1 = max{^r у

S {C} S

L2:

Vs==+1 = mn{^rSj U (j, i)}, j * i, j = г +1, n, j = r, n, (15) {Cj}

Из полученного на каждом шаге множества mSjr будем исключать все неперспективные пути mSir, которые удовлетворяют следующему неравенству:

dc

{Cj} где

gi=Cp+1 + Cp+2 +...+ Cn,

причем для вершины j = n вес gj=0. При этом пошаговое описание алгоритма MAX будет иметь следующий вид:

Шаг 1. Из вершины s строятся множества путей

{mSjr=1}, j = 1 n первого ранга r, удовлетворяющие

свойству g, и определяются в множествах mSjr=1 пути максимальной длины {mSj*r} по весам функционала {Cj}. Для каждой вершины j определяется вес gj в соответствии с (17). Для вершины j=n вес gj=0.

Шаг 2. Исключаются пути {mSir}, j = Г,n в множествах mSjr текущего ранга r, длины которых dC(mSir) удовлетворяют неравенству (16).

Шаг 3. Формируются множества путей mSjr=r+!,

j = r +1, n следующего ранга, удовлетворяющие свойству g, на базе множеств путей предыдущего ранга mSPr на основе рекуррентного соотношения (14). В образовавшихся множествах mSjr=r+! выделяем самые длинные пути {mSj*r=r+!}. Если окажется несколько путей максимальной длины, то среди них выбирается путь с меньшим значением длины по весам ограничений.

Шаг 4. Проверяется, все ли множества путей следующего (r + 1) -го ранга пустые. Если это так, то переходим к шагу 5, если нет, то проверяем r =(n-1). В случае выполнения равенства переходим к шагу 5, иначе увеличиваем r на 1 и выполняем шаг 2.

Шаг 5. Выделяем в множестве {mSj*r, mSp*r=2,..., mSWr=n} путь максимальной длины и алгоритм заканчивает работу.

Кроме того, рассмотрим модификацию этого алгоритма - MIN. Его пошаговое описание имеет такой же вид, как и алгоритм MAX, за исключением шага 3, который выполняется на основе рекуррентного соотношения (15), и алгоритм MAX-MIN, в котором на шаге 3 выделяется каждый раз два пути в соответствии с соотношениями (14),(15). Полученные результаты исследований данных алгоритмов

0 5 10 15 20 25 30 35 40 45 50 55 60

Количество вершин

Рис.4. Зависимость ошибки алгоритма MAX от сортировки

100

РИ, 1998, № 3

0 5 10 15 20 25 30 35 40 45 50 55 60

Количество вершин

Рис.5. Зависимость ошибки алгоритма MIN от сортировки

Количество вершин

Рис.6. Зависимость ошибки алгоритма MAX-MIN отсортировки

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

Литература: 1. Дэвис Д, Барбер Д., Прайс У., Сломонидес С. Вычислительные сети и сетевые протоколы / Пер. с англ. М: Мир, 1982. 562 с. 2. Гудман С., Хидетниели С.. Введение в разработку и анализ алгоритмов / Пер. с англ. Ю. Б. Котова, А. В. Сухаревой / Под ред. В. В. Мартынюка. М., 1981. 178с. 3. Королев А.В., Литровой С.В., Третьяк В.Ф. Эффективность параллельных алгоритмов оптимизации вычислительного процесса // Інформаційно- керуючі системи на залізничному транспорті. X. 1997. №1. С. 85-91.

Поступила в редколлегию 07.03.98 Рецензенты: д-р техн. наук Дмитриенко В.Д., канд. техн. наук Поворознюк А.И.

Кавун Сергей Витальевич, адъюнкт кафедры “Вычислительные сети и системы”, ХБУ. Научные интересы: экспертные системы и исследование оптимизационных задач. Адрес: Украина, 310142, Харьков, пр. Тракторостроителей 126А, кв. 232, тел. 40-28-16.

Третьяк Вячеслав Федорович, адъюнкт кафедры “Вычислительные сети и системы”, ХВУ. Научные интересы: алгоритмы параллельных вычислений. Адрес: Украина, 310056, Харьков, ул. Шекспира, 13, кв. 7, тел. 40-28-16.

Яблочков Сергей Валентинович, военнослужащий в/ ч 44397, начальник расчета. Научные интересы: исследование оптимизационных задач. Адрес: Украина, 310049, Харьков, ул. Дружбы Народов, 202, кв. 119, тел. 44-99-35.

РИ, 1998, № 3

101