И нформационные технологии в управлении
УДК 338.16.54
ЗАДАЧА СИНТЕЗА ОПТИМАЛЬНОЙ МОДУЛЬНОЙ СИСТЕМЫ ОБРАБОТКИ ДАННЫХ РЕАЛЬНОГО ВРЕМЕНИ С ДВУХЗВЕННОЙ АРХИТЕКТУРОЙ «КЛИЕНТ - СЕРВЕР»
С.А. Косяченко, С.С. Ковалевский, С.К. Сомов
Рассмотрена задача синтеза модульной системы обработки данных реального времени с архитектурой «Клиент — Сервер», реализуемой на основе распределенной вычислительной сети, особенности решения которой состоят в следующем: при определении времени реакции системы на заявку необходимо учитывать время доставки заявки от клиентской машины («Клиента») к «Серверу» и время доставки результата обработки заявки от «Сервера» к «Клиенту»; время обмена сообщениями между «Клиентом» и «Сервером» зависит от пропускной способности каналов передачи данных, объемов и трафика сообщений в сети.
Ключевые слова: задача, данные, система, сеть.
ВВЕДЕНИЕ
В работах [1—3] сформулированы постановки и предложены методы решения задач синтеза оптимальных модульных систем обработки данных (СОД) реального времени, использующих при обработке заявок приоритетные дисциплины обслуживания и функционирующих на базе одного компьютера.
При постановке и решении аналогичной задачи синтеза СОД реального времени с двухзвенной архитектурой «Клиент — Сервер», реализуемой не на одном компьютере, а в среде распределенной вычислительной сети, необходимо принимать во внимание следующие особенности функционирования такой системы:
— при определении времени реакции системы на запрос следует учитывать время доставки запроса от клиентской машины («Клиента») к «Серверу» и ответа на запрос от «Сервера» к клиентской машине, так как они в общем случае располагаются в различных узлах сети;
— время обмена сообщениями между клиентскими машинами и «Сервером» зависит от пропускной способности каналов передачи данных, от
объемов передаваемых сообщений (запросов и ответов на запросы) и от имеющегося в сети трафика сообщений, не связанных с работой системы с архитектурой «Клиент — Сервер» и которыми обмениваются другие узлы сети. На базе данной вычислительной сети, помимо системы с архитектурой «Клиент — Сервер», могут функционировать и другие информационно-справочные системы, базы данных, системы обработки данных, порождающие свой трафик сообщений по каналам сети;
— вероятность успешной доставки запроса и ответа на него от одного узла сети к другому может отличаться от единицы в силу конечной надежности каналов связи и процессов обработки передаваемых сообщений в узлах коммутации сообщений;
— для размещения «Сервера» необходимо выбрать один из компьютеров сети, который обеспечивает оптимальное (или наиболее близкое к оптимальному) значение критерия оптимальности, используемого при решении задачи;
— при выборе компьютера сети для размещения сервера следует учитывать его физические характеристики, такие как, быстродействие, тип используемой внешней памяти, объем оперативной памяти и др.
С учетом данных особенностей и результатов, полученных в работах [2, 3], сформулируем задачу синтеза программного и информационного обеспечения СОД реального времени, имеющую двух-звенную архитектуру «Клиент — Сервер» и функционирующую в среде распределенной вычислительной системы.
1. ФОРМАЛИЗАЦИЯ ИСХОДНЫХ ДАННЫХ ЗАДАЧИ СИНТЕЗА
Предположим, что в СОД реального времени с архитектурой «Клиент — Сервер» поступает / пу-ассоновских потоков разнотипных заявок (запросов) с различными приоритетами у = 1, /, интен-сивностями ..., ..., Ау) и функциями длительностей обслуживания с двумя конечными
моментами а. и а.
-(2)
У = 1, J .
В соответствии с некоторым критерием оптимизации необходимо:
— выбрать узел сети, на базе которого должен функционировать «Сервер»;
— синтезировать систему прикладных программных модулей и информационных массивов СОД реального времени, необходимых для обработки множества поступающих запросов, размещаемых в данном узле сети («Сервере»).
Предполагается, что топология сети задана, т. е. в соответствии с некоторой процедурой определены маршруты, по которым передаются запросы от клиентских машин к «Серверу», расположенному в одном из узлов сети, и ответы на запросы от «Сервера» к клиентским машинам.
При решении рассматриваемой задачи необходимо соблюдать технологические ограничения на систему программных модулей и информационных массивов.
Для формализации постановки задачи введем следующие обозначения и переменные:
Е = {е1, ..., е., ..., еу} — множество типов заявок, обрабатываемых в СОД реального времени (е.. — заявка у-го типа);
Р = {р1, ..., р,, ..., рЯ} — множество процедур обработки данных, используемых при обработке заявок всех типов;
Б = {йр ..., й, ..., йь} — множество информационных элементов (входных, промежуточных и выходных), используемых при обработке заявок всеми процедурами множества Р;
Б' = {й[, ..., й\, ..., й'ь} — вектор размерностей (объемов) информационных элементов множества Б;
Б ' ' = {й[', ..., й" , ..., й'[} — количество различных значений (мощность множества различных
значений) информационных элементов множества Б;
Н = {п1, ..., п , ..., п^} — множество задач, решаемых при обработке заявок;
СП(С/3) — среднее количество значений 1-го информационного элемента, которое считывает-ся/записывается г-й процедурой при решении п-й задачи;
=,(с/з)
СП1 — максимальное количество значений 1-го информационного элемента, которое считы-вается/записывается г-й процедурой при решении п-й задачи;
О и Е — число программных модулей (ПМ) и число информационных массивов (ИМ) в СОД реального времени;
ч=
1, если информационный элемент й1 входит в состав информационного массива /, 0 в противном случае;
,,/(с/з) = =
1, если информационный элемент й1 считается/записывается процедурой рг задачи пп,
0 в противном случае;
=
1, если процедура г входит в состав модуля ю, 0 в противном случае;
УЩС/3) — переменная, характеризующая взаимосвязь п-й задачи с множеством процедур {р,} и программным модулем ю по использованию у-го информационного элемента для считывания и записи:
п(с/з) У/со =
Я
1 если £ ^ Ьп,*™ ^ 1,
г = 1 Я
0, если £ </С/3)ьпА-® = 0
г = 1
(она принимает значение 1, если 1-й информационный элемент считывается/записывается при работе ю-го модуля во время решения п-й задачи);
ет/3) — скорость считывания/записи информации с/на устройство внешней памяти т-го узла вычислительной сети;
— среднее время поиска локальной СУБД информации (ИМ или ПМ) во внешней памяти т-го узла вычислительной сети;
в = (Рр ..., Рг, ..., Рм) — вектор переменных задачи, определяющий размещение «Сервера» в узлах распределенной вычислительной сети; Р, = 1, если «Сервер» размещен и функционирует на базе 1-го узла сети, и Р, = 0 в противном случае; очевидно, что должно выполняться технологическое ограничение:
м
I Рк = 1
к = 1
означающее, в соответствии с выбранной архитектурой СОД реального времени, наличие в сети только одного сервера, обрабатывающего заявки клиентов;
¡4 ■ ¡г
ц — средняя длина запроса у-го типа, I1 —
средняя длина сообщения — ответа на запрос у-го типа;
м
Я = I
(1)
/ = 1
суммарный поток заявок у-го типа, у = 1, /, поступающих на сервер от всех узлов — клиентов системы;
пк — путь (маршрут), по которому передаются сообщения из узла г в узел к. Канал связи ф включен в путь лгк, если сообщения, идущие по этому пути, проходят через этот канал связи. При использовании фиксированной процедуры маршрутизации для передачи сообщений в сети можно
считать, что задано множество матриц X4 = || х?к ||,
Ф = 1, Ф , г, к = 1, М, в которых элемент х^к = 1, если канал ф входит в состав пути лгк.
Определим величину Т* — среднюю задержку передачи сообщения в сети (заявки «Клиента» и результата обработки заявки «Сервером»), когда в сети применяется метод коммутации сообщений (в случае метода коммутации пакетов оценка Т* осуществляется аналогично).
Показано, что в среднем в единицу времени из г-го узла сети в к-й узел сети отправляется трафик
Як сообщений с интенсивностью А/к = + Агк [4].
С учетом уже имеющегося в сети трафика 8/к сообщений, порождаемых другими информационны-
ми системами со средней длиной I *, трафик всех сообщений из узла г в узел к в единицу времени
У/к = 8* + ЯЧк + = 8,к + Рк I А + Р, I Як .
1 = 1 1 = 1
Трафик всех сообщений, которыми обмениваются между собой узлы сети в среднем в единицу времени
мм
У = I I У/к =
1 = 1 к = 1
мм Г J J
I I I 8/к + Рк I + Р/1 -к
/ = 1 к = 11 1 = 1 1 = 1
А + Р I А, |. (2)
Средняя длина сообщений, передающихся в сети,
1/ц =
мм 1 С J J л
= II 1 V + Рк I я Ц + р, I 4 11 .(3)
1 = 1 к = 1
У
1 = 1
1 = 1
В единицу времени через канал ф проходит поток сообщений со средней интенсивностью
мм
Я* =
I I У/к х/к .
(4)
1 = 1 к = 1
Для определения средней задержки Т* передачи сообщения в сети воспользуемся результатами, полученными ранее для сети с коммутацией сообщений в предположении, что трафик сообщений, возникающих в узлах сети, образует пу-ассоновский процесс со средним значением у/к,
(г, к = 1, М) сообщений в секунду. Трафик всех сообщений определяется по формуле (2). Каждое сообщение имеет независимую длину, значение которой распределено по показательному закону со средним значением ц 1 бит, которое определяется по формуле (3). Узлы сети имеют память неограниченной емкости для размещения этих сообщений (т. е. сообщения не теряются при прохождении по каналам сети). Сообщения направляются от узла к узлу в соответствии с фиксированной процедурой выбора маршрутов.
Обозначим через Т* среднее время, затраченное сообщением на ожидание и процесс передачи по ф-му каналу связи (обслуживания в канале). Если этот канал рассматривать как систему обслуживания, то время Т* — это время, проведенное сообщением в данной системе (время в очереди на обслуживание и время самого обслуживания).
С учетом сделанных ранее предположений, включая предположение об абсолютной надеж-
передачи сообщения по сети с ненадежными каналами
ности каналов связи сети, величина 71* будет оп-
ределяться по формуле [1] 7* = 1/(цС: - А*), а
ф а:
7* = ^^ ' ' " 7 * = 1 ^Г*
£ у : V £ П 1 *
' ' : = 1 Ц с: - Х:
(5)
: = 1
Если известно среднее время К обработки сообщения в узле коммутации при его передаче по каналу связи и время Р* распространения сигнала в канале связи, то формулу (5) можно записать как
ф * ф * А: т* _ 1 ж—. А:
ф* — \' : гр * _ 1
7 £ У 7: £
: = И ' :
У т У ц С* - А*
Если предположить, что каналы связи ненадежны, то с вероятностью у* = 1 — р* в ф-м канале может возникнуть ошибка при передаче единицы данных. Возникновение ошибки приводит к тому, что через время 1АСК узел-отправитель не получает квитанцию (подтверждение успешной передачи сообщения) и повторно передает сообщение по каналу. Это приводит к увеличению общего времени обслуживания сообщения в канале связи.
Вероятность возникновения ошибки при передаче по ф-му каналу одного сообщения (запроса или ответа на запрос), которое имеет среднюю
длину I = ц 1 бит, будет определяться выражением
у: = 1 — Р: = 1 — (1 — т* у = 1 — (р* у.
В итоге среднее время передачи сообщения по ненадежному ф-му каналу связи
7 *_
ф А*
£ {р*( Г* + К + Р:) +
:= 1
+ ОАск + Р:[ 7* + К + Р:])Т*(1 — У*)-1}.
Среднее а;т и максимальное а;т времена обработки заявки Е. типа «Сервером», размещенным в т-м узле сети, включает в себя: процессорное время выполнения задач, необходимость в решении которых определяется типом заявки; время поиска и обмена с внешней памятью при считывании и записи информации, необходимой для решения задач; время поиска во внешней памяти и считывания в оперативную память программных модулей, содержащих процедуры обработки данных, используемые при решении задач. Значения среднего и максимального времен обработки заявки у-го типа оцениваются в соответствии с формулами:
^т =
£ «V
ат = тах
V = 1, V
Среднее ст.т и максимальное время ст.т реализации пути при обработке заявки у-го типа на
сервере т (время решения задач, входящих в состав данного пути) равно сумме соответственно средних и максимальных времен решения всех задач, входящих в состав этого пути, и определяются по формулам:
N £
п = 1/хП е X'
N
£
п = 1/х1 <
V = 1, V.
Т: = Р: К + ({АСК + Р: 7Ф* )У*(1 — У*) 1.
Среднее время передачи сообщения из узла-отправителя в узел-получатель по сети с ненадежными каналами
ф А*
7 * = ' ' =
£ V :
:= 1
У
ф*
= £ {Р: 7* + (^АСК + Р: 7*)т*(1 — У:)-1}. (6)
:= 1 '
С учетом среднего времени К обработки сообщения в узле коммутации и времени Р распространения сигнала в канале связи, среднее время
-п -п
Среднее время tm и максимальное время tm решения задачи пп в т-м узле вычислительной сети включают в себя процессорное время выполнения процедур обработки данных, используемых при решении задачи; время поиска и обмена с внешней памятью при считывании и записи информации, необходимой при выполнении процедур; время поиска и считывания в оперативную память программных модулей, необходимых для выполнения процедур. Значения среднего и максимального времен решения задачи оцениваются по формулам [1]:
Г =
т
V
Еп
V = 1
-п
tm =
-п
тах Туп
V = 1, V
ут
1
V
п
п
т
т
п
где V — мощность множества путей Пп = {пП} гра-
^ п
фа С решения задачи пп.
Среднее время Щ отклика «Сервера» системы (среднее время обработки заявки сервером и среднее время ожидания заявки в очереди на обработку) для заявки у-го типа определим в виде
м
Н =
I Рт( ОТ + а),
т = 1
(7)
где а- — среднее время обработки заявки б- сервером, который размещен в т-м узле сети. Слагаемое От представляет собой среднее время ожидания заявки у-го типа в очереди на обслуживание «Сервером», размещенным в т-м узле сети, и определяется как [3]:
от =
СI я- а;(21 [2(1
V = 1
-1
)(1
ит )]-1, (8)
где Я- — интенсивность поступления заявок у-го типа. За время Т в систему поступит ЯТ заявок различного типа. За время Т заявка у-го типа поступит в систему с вероятностью
( J
Р = АТ
V = 1
I Яу- Т\ = ЯД'
-1
(9)
С учетом выражений (7) и (9) получим, что среднее время отклика СОД реального времени на заявку произвольного типа
_ м J _
Н = I Рт I Н =
т = 1 у = 1
м J
= I Рт I Я1Я-1( от + -). (10)
т = 1 - = 1
Производительность СОД реального времени, т. е. среднее число заявок, которое система обрабатывает в единицу времени, определяется формулой
п = Н-1.
(11)
т
и1 =
I я, ат / = 1
Здесь Я- — суммарный поток заявок б-, (/' = 1, /), поступающих на сервер от всех клиентов системы,
который рассчитывается по формуле (1), аут( 2) — второй начальный момент времени обработки заявки у-го типа.
При показательном распределении длительнос-
„ _ —т( 2) __т
тей обслуживания заявок а- = 2а- , а если вре-
_т(2) _т2
мя обслуживания постоянно, то а- = а- .
2. ПОСТАНОВКА ЗАДАЧИ СИНТЕЗА И МЕТОД ЕЕ РЕШЕНИЯ
Очевидно, что максимальное значение производительности системы будет достигнуто при минимуме значения Н — среднего отклика системы на заявку произвольного типа.
Если принять показатель (11) в качестве критерия оптимизации при решении рассматриваемой задачи, то с учетом выражений (7), (8) и (10) получим, что максимальное значение производительности системы достигается при таких значениях переменных Рт, хга, г^, которые обеспечат минимум функционала задачи
м
{в
"Г, } I Рт I
7 т = 1 1 = 1
я..я"
-1
_т а1 +
I я;а;
т (2)
11
2 (1 - и,т 1)(1 - и,т)
Будем рассматривать стационарный режим функционирования системы, когда все поступающие на интервале времени [0, Т] заявки обслуживаются системой (т. е. загрузка системы
I Я1 - < 1).
1 = 1
Суммарная интенсивность поступления в систему заявок всех типов
1 -1 1
т л -т т ^ - -т
где и-_ 1 = I Я,а, , и- = I Я,а, ; при ограниче-
1 = 1 1 = 1
ниях:
— на число узлов сети, используемых для размещения сервера:
м
I Рт = 1;
т = 1
(12)
Я =
IЯ-,
— на среднее время обслуживания заявок определенного типа (приоритета) с учетом среднего времени Т* доставки запроса на сервер для обра-
1
ботки и доставки результата обработки запроса обратно на клиентскую машину, которое определяется по формуле (5) или (6):
_ м
7* + Н + 7* = 27* + £ В (от + ат) < 7,
у г^ у ' у'
т = 1
у = 1, у;
(13)
— на стационарность режима функционирования системы:
м /
-/И
£ вт £ У. < 1;
т = 1 у = 1
(14)
— на число Мпр дублируемых процедур обработки данных в синтезируемых модулях системы:
( £ £ £ Ьпг*гш| — Я т Мпр, (15)
^п = 1 ш = 1 г = 1
— на максимальное число процедур в модуле:
Я _ _
1 < £ < М®, ю = ; (16)
г = 1
— на степень дублирования информационных элементов в массивах:
£ ^ < к, I = 1, 7; (17)
/ = 1
— на размер записи каждого массива:
ь _
£ < М/, / = 1, Е ; (18)
/ = 1
— на интерфейс между отдельным модулем ю' и другими модулями при решении задачи п:
ь п
X—I X—I / по п3 ч / пС пз ч ^
£ £ (У/ш V у/ш )(у/ш- V у,®.) <
1 = 1 = 1
ю Ф ю ;
(19)
— на число информационных элементов, используемых программными модулями для чтения и/или записи при решении задачи п:
ь _
£(У/1® V уп®3), ю = 1,0 ■ / = 1
(20)
Отметим, что ряд ограничений данной задачи (например, (15) и (17)) могут отсутствовать по объективным причинам.
Таким же образом можно сформулировать рассматриваемую задачу, когда в качестве целевой
функции принят максимум коэффициента полезной работы системы.
Под коэффициентом полезной работы СОД реального времени будем понимать долю времени «Сервера», потраченную на обработку данных, требуемых при обслуживании заявки, от общего времени пребывания заявки в системе с учетом затрат времени на передачу данных по каналам связи сети. Для заявки у-го типа этот коэффициент
м
Кпу =
V
£ вт
т = 1
а
м
£ вт( С + ау + 27*)|.
( т = 1 ]
При обслуживании заявки произвольного типа коэффициент полезной работы равен
Кп = А-1 £ АК.-.
у пу
у = 1
Критерий оптимальности синтеза СОД реального времени при заданных условиях имеет вид:
У А Г м
тах Кп = тах £ £ вта/
А( у = 1 т = 1
Г м Л
£ втФу1 т = 1 J
где ф, = (от + ат + 27 *); Й" — среднее время
т
у у у у
ожидания заявки у-го типа в очереди на обслуживание «Сервером», размещенным в т-м узле сети,
которое определяется по формуле (8); ау. — среднее время обработки заявки у-го типа «Сервером» СОД реального времени, который размещен в т-м узле сети; вт — переменная задачи, равная 1, если «Сервер» системы размещен и функционирует на базе т-го узла сети; 7* — средняя задержка передачи сообщения в сети (заявки «Клиента» и результата обработки заявки «Сервером»).
В качестве ограничений в данной задаче служат ограничения (12)—(20) и ограничение на коэффициент полезной работы при обслуживании заявок
высших приоритетов: Кпуу > Кпу-, у е У* с У, где У* — подмножество высокоприоритетных заявок.
Сформулированные задачи представляют собой задачи нелинейного целочисленного программирования большой размерности. Вместо одной задачи большой размерности, как правило, следует рассматривать вариант последовательного решения М задач (по числу узлов вычислительной сети). В каждой задаче предполагается, что сервер размещается в очередном рассматриваемом т-м
узле сети (т = 1, М), при этом вектор в переменных принимает фиксированное значение (одна из переменных вт = 1). Тогда данная частная задача
п
ш
может решаться с помощью предложенных в работах [3, 5] эвристических алгоритмов. Затем из полученных решений М частных задач выбирается решение, которому соответствует наилучшее значение принятого в исходной задаче критерия оптимальности решения.
Рассмотрим применение предложенного в данной работе метода решения задачи синтеза СОД реального времени с двухзвенной архитектурой «Клиент — Сервер», реализуемой на основе распределенной вычислительной сети, на примере задачи синтеза СОД реального времени, приведенном в работе [3, с. 393—420]. В данном примере приведена постановка и результат решения задачи синтеза оптимальной по критерию максимума производительности СОД реального времени, функционирующей на базе одного компьютера и обслуживающей заявки пользователей с относительными приоритетами. Система обслуживает 8 типов
заявок пользователей (Е = {еу.}, у = 1, /), для обработки заявок используется 29 процедур обработки данных (Р = {рг}, г = 1, Я) и 47 информационных
элементов (В = {^}, I = 1, Ь).
Проиллюстрируем, какое влияние на решение задачи синтеза СОД реального времени оказывают особенности таких систем, функционирующих в среде распределенных вычислительных сетей. Рассмотрим модификацию описанной в настоящей
Рис. 1. Вычислительная сеть
Рис. 2. Граф обработки задачи 1
Рис. 4. Граф обработки запроса 1
Рис. 3. Граф обработки задачи 2
Рис. 5. Граф обработки запроса 2
работе задачи для ситуации синтеза СОД реального времени, построенной с двухзвенной архитектурой «Клиент — Сервер» и функционирующей в среде вычислительной сети со структурой, представленной взвешенным графом (рис. 1). Для получения характеристик процессов решения задач и обработки заявок используются соответствующие граф-модели. На рис. 2, 3 и 4, 5 показаны соответственно примеры графов обработки задач и графов обработки заявок.
Таблица 1
Характеристики каналов связи сети
Канал 1 2 3 4 5 6 7 8 9
Вес 2 3 2 2 3 3 3 2 2
у* -106 1 1 1,4 1 1,5 1,2 1 1,1 1,2
С Мб/с 6,1 4,0 6,3 3,4 4,5 3,3 5,7 6,4 8,9
Таблица 2
Интенсивности заявок пользователей в узлах сети, с
Узел Тип заявки
1 2 3 4 5 6 7 8
1 0,02 0,04 0,05 0,02 0,04 0,06 0,05 0,03
2 0,01 0,03 0,03 0,03 0,05 0,05 0,02 0,05
3 0,03 0,04 0,05 0,05 0,04 0,04 0,04 0,06
4 0,05 0,01 0,04 0,04 0,05 0,06 0,03 0,02
5 0,03 0,03 0,02 0,06 0,04 0,06 0,01 0,02
6 0,04 0,02 0,05 0,03 0,05 0,04 0,03 0,01
Таблица 3
Характеристики узлов сети
Узел 1 2 3 4 5 6
4, Мб/с 2 2 2 3 4 3
4, Мб/с 1 1 2 2 2 2
-106, Мб/с 14 13 12 15 11 10
К от Кт 0,13 0,14 0,13 0,12 0,13 0,12
Таблица 4
Характеристики заявок пользователей
Тип заявки 1 3 4 5 6 7 8
, К № 0,4 0,5 0,4 0,55 0,6 0,3 0,4
1г, кб 2 22 5 15 40 7 10
Кратчайшие пути на рассматриваемых графах определяются с помощью алгоритма Беллмана — Форда поиска кратчайших путей на взвешенном графе. Под длиной пути понимается сумма весов ребер, входящих в этот путь. Веса ребер (каналов связи) вычислительной сети, вероятности у* возникновения ошибок в каналах при передаче данных и пропускные способности С* каналов представлены в табл. 1. Среднее время ^обработки одного сообщения в узле сети при его передаче по каналам связи и максимальное время tACK получения подтверждения о передаче сообщения равны, соответственно, 0,0032 и 0,0065 с. В узлах сети возникают заявки пользователей с интенсивностями
, I = 1, М, у = 1, /, которые направляются по кратчайшим путям в узел сети, в котором размещен «Сервер» системы. Значения интенсивнос-тей заявок представлены в табл. 2.
В табл. 3 представлены характеристики узлов вычислительной сети: скорость е^3' считывания/записи информации с/на устройство внешней памяти узла т; среднее время ^ поиска информации (ИМ или ПМ) во внешней памяти т-го узла, коэффициенты относительной производительности сервера т-го узла по сравнению с эталонным компьютером. Средние значения длины за-
¡4 ¡г
явок // и ответов на заявки /у представлены в
табл. 4. Значения среднего процессорного времени
-г
? исполнения процедур рг на эталонном компьютере представлены в табл. 5.
Предложенный метод решения данной задачи позволил получить следующее оптимальное решение по критерию минимума времени Н отклика системы на произвольную заявку пользователя со значением 0,088584 с при размещении сервера в узле 5. В табл. 6 приведены значения времени отклика системы, рассчитанные для всех узлов сети.
При использовании критерия максимума коэффициента Кп полезной работы СОД реального времени при обслуживании заявки произвольного типа оптимальным является размещение сервера в
Таблица 5
Значение времени исполнения процедур на эталонном компьютере
Рг 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1г -107, с 0 10 20 10 10 9 11 7 11 12 12 8 13 12 14
Рг 16 17 18 19 20 21 22 23 24 25 26 27 28 29
1г -107, с 12 10 11 19 18 14 16 15 4 6 8 3 5 0
Таблица 6
Значения времени отклика системы, рассчитанные для отдельных узлов сети
Узел 1 2 3 4 5 6
H, с 0,233498 0,233425 0,150042 0,111496 0,088584 0,149904
Значения коэффициента, рассчитанные для отдельных узлов сети Таблица 7
Узел 1 2 3 4 5 6
0,267970 0,269768 0,253056 0,238458 0,220114 0,263854
узле 2, что обеспечивает значение данного коэффициента, равное 0,269768. В табл. 7 приведены значения коэффициента, рассчитанные для всех узлов сети.
ЗАКЛЮЧЕНИЕ
Системы обработки данных, работающие на базе распределительных вычислительных сетей в режиме реального времени, обладают рядом существенных особенностей. Комплекс этих особенностей определил необходимость дальнейшего развития теоретических положений, формализованных моделей и методов оптимального синтеза программного и информационного обеспечения модульных систем обработки данных, разработанных к настоящему моменту в Институте проблем управления им. В.А. Трапезникова РАН.
В данной статье изложены новые результаты работ, выполненных в Институте проблем управления, по созданию теоретических положений и разработке формализованных моделей и методов оптимального синтеза программного и информационного обеспечения распределенных систем обработки данных, работающих в режиме реального времени. Проведена формализация исходных данных для задачи оптимального синтеза. Получены оценки времени передачи сообщений СОД реального времени в вычислительной сети, оценки длительности обработки заявок пользователей сервером системы. Предложены постановка и метод решения задач синтеза оптимальных модульных структур программного и информационного обеспечения распределенной СОД реального времени с двухзвенной архитектурой «Клиент — Сервер». Дан пример решения этой задачи для СОД, обрабатывающей множество запросов пользователей и функционирующей на базе вычислительной сети определенной топологии.
Полученные в данной работе аналитические выражения для определения среднего и максимального времени выполнения процедур, решения отдельных задач и времени обработки заявок раз-
личных типов можно использовать в задачах анализа и синтеза структуры распределенных модульных СОД реального времени.
Приведенные постановка и метод решения задачи синтеза оптимальной модульной СОД реального времени, работающей на базе вычислительной сети с двухзвенной архитектурой «Клиент — Сервер», могут быть полезны при проектировании структуры программного и информационного обеспечения систем данного типа.
ЛИТЕРАТУРА
1. Микрин Е.А., Кульба В.В., Сомов С.К. Синтез оптимальных распределенных модульных систем обработки данных реального времени / Науч. издание. — М.: ИПУ РАН, 2012. —160 с.
2. Теоретические основы проектирования информационно-управляющих систем космических аппаратов / В.В. Кульба, Е.А. Микрин, Б.В. Павлов, В.Н. Платонов; под ред. Е.А. Микрина. — М.: Наука, 2006. — 579 с.
3. Кузнецов Н.А., Кульба В.В, Ковалевский С.С., Косяченко С.А. Методы анализа и синтеза модульных информационно-управляющих систем. — М.: Физматлит, 2002. — 800 с.
4. Микрин Е.А., Сомов С.К. Задача синтеза оптимальной СОД реального времени с резервированием информации и структурной избыточностью / Тр. XVI междунар. конф. «Проблемы управления безопасностью сложных систем». Москва, декабрь 2008 г. / Под ред. Н.И. Архиповой, В.В. Кульбы. — М., 2008. — С. 137—141.
5. Оптимальные модульные системы реального времени (анализ и синтез) / Н.А. Кузнецов, В.В. Кульба, С.А. Косячен-ко и др. — М.: ИППИ РАН, 1994.
Статья представлена к публикации членом редколлегии А.Д. Цвиркуном.
Станислав Анатольевич Косяченко — д-р техн. наук, гл. науч. сотрудник, Институт проблем управления им. В.А. Трапезникова РАН, г. Москва, ® (495) 334-89-59, И [email protected],
Сергей Станиславович Ковалевский — д-р техн. наук, профессор, НИЯУ МИФИ, г. Москва, И [email protected],
Сергей Константинович Сомов — канд. техн. наук, ст. науч. сотрудник, Институт проблем управления им. В.А. Трапезникова РАН, г. Москва, ® (495) 334-89-59, И [email protected].