Научная статья на тему 'Представление динамичных потоков моделей массового обслуживания'

Представление динамичных потоков моделей массового обслуживания Текст научной статьи по специальности «Математика»

CC BY
91
42
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАРКОВСКОЕ БИМОДЕЛИРОВАНИЕ / ПРЕДСТАВЛЕНИЕ НЕПРЕРЫВНЫХ СОСТОЯНИЙ / СТОХАСТИЧЕСКИЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ / MARKOVIAN BISIMULATION / REPRESENTATION OF CONTINUOUS CONDITIONS / THE STOCHASTIC DIFFERENTIAL EQUATIONS

Аннотация научной статьи по математике, автор научной работы — Сорокин Андрей Семенович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Representation of dynamical streams of models of mass service/Sorokin A.S

The new method of the analysis of characteristics of the big systems in the form of stochastic algebraic process is presented. Unlike the known approach of the analysis by means of continuous time Markov chains, the basic mathematical representation in the form of system of the ordinary differential equations is offered. This process is well applicable to systems with the big number a component.

Текст научной работы на тему «Представление динамичных потоков моделей массового обслуживания»

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

УДК 519.21

А.С.Сорокин

ПРЕДСТАВЛЕНИЕ ДИНАМИЧНЫХ ПОТОКОВ МОДЕЛЕЙ МАССОВОГО

ОБСЛУЖИВАНИЯ

Введение. За прошлое десятилетие было разработано большое количество моделей, с помощью которых появилась возможность определять количественно продолжительности пребывания систем в различных состояниях [1-7].

Предполагается, что случайная величина, распределенная по экспоненте, описывает пребывание в основной математической модели. Эта величина является непрерывным временем пребывания в марковском процессе.

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

Отметим, что в более общем случае, когда математическая модель представляет собой обобщенный полумарковский процесс, моделирование проводится обычными средствами анализа.

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

Занятие задачей описания пространства состояний для непрерывного марковского процесса во времени (например [7-10]) потребовало большой изобретательности исследования.

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

В этой работе предлагается радикально отличающийся подход к изучению этой задачи, моделируя с алгеброй процесса такой как РЕРА. Подход основан на двух дополнениях обычной перспективы.

• Во-первых, не стремимся вычислять распределение вероятности по всему пространству со-

стояний модели. Выберем более абстрактное представление в терминах переменных состояний, определяя количество типов очевидного поведения их в модели.

• Во-вторых, предполагаем, что эти переменные состояний подчинены непрерывному, а не дискретному изменению. Как только эти корректировки сделаны, то система подготовлена к эффективному решению в виде ряда обыкновенных дифференциальных уравнений (ОДУ). Ре-

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

В п. 1 содержится некоторая основная информация на языке РЕРА и предлагается новое представление в форме числового вектора. В п. 3 изложены изменения к непрерывному анализу и иллюстрированы примером в п. 6. Подход к другим методам дан в п. 9.

1 Описание языка РЕРА. Язык РЕРА использовался, чтобы изучить характеристику широкого разнообразия систем [11-15]. Как и во всех алгебрах процесса, системы представлены в РЕРА как композиция, состоящая из компонентов, которые предпринимают действия. В РЕРА действия, как предполагается, имеют продолжительность, или задержку.

Таким образом, выражение (а,г).Р обозначает компонент, который может предпринять а действие, по норме Г, чтобы выделить компонент Р . Здесь а е А , где А множество типов действия и Р е С , где С - множество составляющих типов.

У языка РЕРА есть небольшое множество комбинаторов, которые будут созданы как параллельное выполнение и взаимодействие простых последовательных компонентов.

В табл. 1 представлена структурная оперативная семантика языка РЕРА.

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

Выбор: компонент P+Q представляет систему, которая ведет себя или как Р или как Q.

Действия и Р и Q допустимы. Первая ситуация, которая произойдет, выбирает один из них, а другому отказано. Система будет вести себя как производная, выделяющая выбранный компонент.

Таблица 1

Префикс (а, r) (а,r)E ^ E

Выбор а,г) і E ^ E (а,Г) і E + F ^ E (а,Г) і F ^ F (a,r) , E + F ^ F

Коопера- ция «) і , . E ^ E (а г L) (а , r ) E><F ^ E ><F (а г L) LL ) і F ^ F (а г L) (а , r ) E><F ^ E><F (аг L) LL («1 ) і , . E ^ E (аєь) «г) і , . F ^ F (аєь) (а, R ) E><F ^ E ><F (а є L) LL R = Гі r2 Х ra(E )ra(F ) Х mm(ra(E), ra(FЙ

Сокрытие E V (аг L ) («,r) і , 4 E IL ^ E IL (аг L ) (a,r) f E ^ E (а є L) («,r) і , 4 E IL ^ E IL (а є L )

Constant (a,r) r E ^ E («) , A ^ E f def \ A = E V f def > A = E V J

Constant : Служит для присвоения названия

компонентам. Значения констант компонент задаются равенствами. Так в системе обозначений

def

ова X = E имя Х определяет область действия в выражении, находящемся справа, например,

ас/

X = (а , г )Х выполняет а по норме г .

Сокрытие: Представлен скрытый оператор, обозначенный Р/Ь . Здесь, множество Ь идентифицирует те действия, которые считаются внутренними или частными для компонента. Он объявлен как неизвестный тип т.

Кооперация: Пишем РQ для того,

Ь

чтобы обозначить кооперацию между Р и Q по . Множество, которое используется как нижний индекс в символе кооперации, кооперацию устанавливало Ь, определяет те действия, в которых кооперанды синхронизируют. Для типов действия не установленных Ь, компоненты независимы и их действия одновременно допустимы.

Будем писать Р || Q как сокращение для

PxQ, когда множество Ь пусто. Если компо-

Ь

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

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

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

Синтаксис может быть формально представлен посредством следующей грамматики:

5 :: (а,г)Б | 5 + 5 | С5

Р :: Р >< Р | Р /Ь | С,

Ь

где 5 обозначает последовательный компонент, и Р обозначает эталонный компонент, который выполняется параллельно. С - постоянная, которая обозначает или последовательный компонент или эталонный компонент. С5 константы, которые обозначают последовательные компоненты.

Эффект этого синтаксического разделения между типами констант должен ограничить

компоненты языка PEPA так, чтобы кооперация последовательных процессов была необходимым условием для выполнения эргодического основного марковского процесса.

2 Представление состояний. В стохастическом процессе алгебра моделирует обычно представление состояний в терминах синтаксических форм эталонного выражения.

Структурная оперативная семантика определяет развитие модели и формируется маркированная система перехода (обычно её называют образованием диаграммы в системе PEPA) представления пространства состояний модели.

Это - диаграмма, в которой каждый узел -синтаксическое формирование или производная (или класс эквивалентности синтаксических выражений для сильной эквивалентности), а каждая дуга представляет возможную деятельность, вызывающую изменение состояния. Отметим, что в системе PEPA представление состояний - фактически маркированная система мультиперехода, потому что фиксирование кратности дуг крайне важно, особенно когда повторенные компоненты возведены в степень.

Когда марковская интерпретация реализована в системе PEPA, продолжительность каждой деятельности, как и предполагается, является случайной переменной управляемой отрицательным экспоненциальным распределением.

В этом случае диаграмма образования будет диаграммой переходов непрерывного марковского времени. Таким образом, каждое марковское состояние соединено с каждым синтаксическим членом.

Анализ характеристики выполнен в терминах распределения вероятности установившегося состояния, или переходное распределение вероятности, которое является чрезвычайно громоздким, когда пространство состояний является достаточно большим.

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

Таким образом, глобальное состояние может быть представлено как вектор или последовательность локальных производных.

Если модель содержит эквивалентные компоненты, могут возникать множественные состояния в пределах модели, поведение которых подобно и поэтому можно объединить модель.

Тогда диаграмма создана в терминах классов эквивалентности синтаксических членов и это используют для построения CTMC [16]. В осно-

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

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

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

Увидеть различие между двумя векторными формами можно на следующем примере, демонстрирующем взаимодействие процессоров и ресурсов:

Processor

def

(task і, r ).Processor

Processor і = ( task 2 , r2 ). Processor

Rеsource

def

G = (task і, r ).Rеsource і

def

Rеsource і = (reset , s). Rеsource G

(Rеs0urce G jj Rеs0urce g)

task і

( Processor G jj Processor G ) .

В этом примере каноническое векторное соответствие формы с данной конфигурацией показано на рис. і. Здесь начальное состояние представлено явно в виде

(( Rеsource G , Rеsource G ),

(Processor G , Processor G )) (task і) .

Напротив, в векторной числовой форме, которая представлена на рис. 2. , задано начальное состояние (2, G, 2, G), где входами в вектор считаются числа Rеsource G, Rеsource і, Processor G, Processor і . Представление в канонической форме вектора состояний делается записью ряда элементов в каждом эквивалентном классе (показано в квадратных скобках на рис. і).

Полная норма переходов между канонически-

G

: = (( Rеsource 0 , Rеsource 0 ),

( Processor о , Processor о )) (1) ■

R 21 :: = ((Resource 0, Resource 1 ),

( Processor 1 , Processor 1 )) ( 2 ) ■

R 22 :: = (( Resource 0 , Resource 1 ),

( rrocessor о , Frocessor 1 )) ( 4 ) ■

R 23 :: = (( Resource 0 , Resource 1),

( Processor о , Processor о )) (2) ■

R 31 :: = ((Resource 1, Resource 1),

(Processor 1, Processor 1))(1).

R 32 :: = ((Resource 1, Resource 1 ),

( Processor о , Processor 1 )) (2 ) ■

R 33 :: = (( Resource 1, Resource 1 ),

(Processor о , Processor о )) (1) ■

На рис Л, дугам графа, описывающего агрегированное пространство состояний в канонической форме, соответственно присвоены значения : R л u R12 :: = (task 2, 2 r 2 )

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

IJ

f N

VS\\1.

'11

\I/ "

'21

A

V

MX

\

/

Puc. 1. Агрeгированноe пространство состояний в mHOHU4ecmu формe

ми состояниями получается из числа экземпляров класса, где допущены действия над величинами и их относительными вероятностями.

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

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

На рис.J. вершинам графа, описывающего агрегированное пространство состояний в канонической форме, поставлены в соответствие:

R п :: = (( Resource о , Resource о ),

( Processor 1 , Processor 1 )) (1) ■

R12 :: = ((Resource о, Resource о ),

(Peocessor о, Peocessor 1))(2).

Puc. 2. Вeкторноe пространство состояний

R12 u R13 : : = (task 2 ,r2 )

R 21 u R 22 :: ■ = (task 2 , 2 r 2 )

R 22 u R 23 : .• = (task 2 , r 2 )

R 31 u R 32 :: ■ = (task 2, 2 r2 )

R 32 u R 33 • = (task 2, r2 )

R 21 u R11 :: = (reset ,s )

R 31 u R 21 :: = (reset , 2 s )

R 22 . u R12 :: = (reset , s )

R 32 u R 22 :: = (reset , 2 s )

R 23 u R 13 :: = (reset , s )

R 33 u R 23 :: = (reset , 2 s )

R12 u R 21 :: = (task 1 ,r\ )

R 13 u R 22 : : = (task 1, 2 ri )

R 22 u R 31 :: = (task 1, ( )

R 23 u R 32 :: = (task 1, ( )

На рис.2. вершинам графа, описывающего векторное пространство состояний , поставлены в соответствие:

Vп :: = (2,0,0,2 )

Уп :: = (2,0,1,1)

V13 :: = (2,0,2,0)

^ ::= (1,1,0,2)

V22 :: = (1ЛЛЛ)

V2з::=(l,1,2,0 )

V31 :: = (0,2,0,2 )

^”32 ::=(0,2,1,1)

V33 ::= (о,2,2,о)

33

На рис.2. дугам графа, описывающего векторное пространство состояний, присвоены те же значения, что и дугам графа, описывающего

агрегированное пространство состояний в канонической форме на рис. 1.

Числовой вектор, формируемый для произвольной модели системы PEPA, определяется следующим образом:

Опрeдeлeнue 2.1 (Числовая векторная форма [7]) Для произвольной модели PEPA М с n составляющими типами Ci,i = 1,...,n, каждый из которых имеет различные производные N , число-

вая векторная форма M ,v(M ), является вектором N = У ” 1 N входами. Вход V\ показывает сколько экземпляров j-го класса частной производной составляющего типа C заданы в текущем состоянии.

3 Пространственные представления непрерывных состояний. Числовая векторная форма даёт альтернативный путь для представления пространства состояний модели PEPA, но может также использоваться как привлечение обычного марковского анализа в терминах объединенной модели. Соединение частей основано на сильной эквивалентности.

Известно, что объединенный CTMC - укрупнённый эквивалент оригиналу CTMC, полученный из графа образования [17]. Объединенная модель изоморфна по отношению к канонической форме и автоматическому объединению частей, представленному в [16].

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

Дело обстоит так, что область значений каждого входа в v(M) является достаточно обширной. Если K i число компонентов типа Ci в начальной конфигурации модели, то каждый вход в i — ый подвектор будет из области о,...,K ■

Рассмотрим произвольное состояние M модели M , которое имеет числовое векторное представление v(M). Когда происходит изменение состояния, это может случиться в двух различных случаях :

• когда единственный последовательный компонент является экземпляром класса компонент типа Ci и может участвовать в индивидуальном действии. В этом случае воздействие на v(M ) реализуется i - ым подвектором, один

вход этого подвектора будет увеличен, а другой уменьшен на единицу.

• альтернативно общедоступное действие может быть выполнено, если участвуют одновременно два или больше последовательных компонент различных типов (так как предполагается, что повторяемые компоненты независимы друг от друга). Таким образом, подвекторы определены в v(M). В этом случае один вход будет увеличен, а другой вход уменьшен на единицу.

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

состояние. Таким образом, наша цель состоит в том, чтобы заменить дискретную систему непрерывной, представленной графом образования системы PEPA в виде системы дифференциальных уравнений. Представление числовой векторной формы состояний есть промежуточный шаг в достижении цели. Сформулируем несколько предварительных определений. Рассмотрим локальную производную D последовательного компонента. Деятельность (a, r) означает выходные действия D , если D соответствует

(a,r)

(a, r) , т. е. допускает переход D ^ в отмеченной системе перехода D . Обозначим набор выходных действий D через Ex (D) . Обозначим множество локальных производных, для которых (a, r) есть выходные действия, Ex (a, r) .

Точно так же обозначим деятельность (в, s) , входных действий D , если существует производная D’ , которая допускает (в, s) и D - первый шаг в — производная D‘, т. е. допускает пере, (e,s)

ход D ^ D в отмеченной системе перехода D . Используем En (D) для обозначения набора входных действий D .

Эта классификация действий необходима для того, чтобы сделать запись воздействий каждой деятельности по каждой локальной производной Ci , в модели. Напомним, что в векторе сфор-lj

мированы числа этих производных N(Ci ) , которые стали переменными состояний.

Рассмотрим числовой вектор состояний.

Пусть Vi (t) = N(Ci , t) обозначает j —ий вход

i — го подвектора по времени t, т. е. число экземпляров j —го класса локальных производных последовательного составляющего C i . Для достаточно малого промежутка времени St имеем :

n (Cj, t+St)—Nfj, t)=

— У r x min (N(Ck , t))S

iEs) Ckj mXa,r) j

для выходных действии

У r x mm (WC.,t))S.

I \ Ck. eEx(a,r) j

(a,r)En\Cij ) ~kJ

для входных действий

Первый член делает запись влияния выходных действий. Если выходное действие - индивидуальная деятельность этого компонента Ех (a, г)= ^ } и т1п (Ж (С^ ))= N(С^ , t) ,

то N (С,. , t) являются экземплярами класса локальной производной, каждый из которых одновременно продолжает индивидуальную деятель-

+

+1, если aj - входная деятельность ё,, -1, если а, - выгходнаядеятельноть ё.

0

иначе..

//Сформируем одно ОДУ для каждой локальной

производной ( переменные состояний)

Рог і = 1,..., Nв

// Произведём действия, привлекающие

эту производную

Рог і = 1,..., NА

І/Ма (і, j )* 0

//Выходное множество формы Ех (j )

для деятельности j

Ех 0 )=0

Рог к = 1,..., ND

І/ М а (к, j )=-1

Ех (j )=Ех (j и{к}

//Делаем запись влияния каждой такой деятельно-

сти І/Ма (к, j )=+1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

добавим + Гх Я( Я

к уравнению І/Ма (к, j ) = -1

добавим - г>х йх?>* ('Я

к уравнению

ность. Когда действиеЕх(а,Г) С,.), то происходит разделенное вовлечение действий локальных производных от двух или более компонентов по типу многоканальной синхронизации. Норма в РЕРА определяется следующим образом: если N есть экземпляры класса компонента действий (а,г), то норма действий будет N х г . По семантике языка, норма синхронизированной деятельности есть минимум нормы кооперирующих компонентов. Второй член, который точно так же в замечании объяснен тем, что норма входной деятельности будет определена как число компонентов, для которой в соответствии с семантикой языка это и есть выходная деятельность.

Разделив на St и взяв предел, при 5t ^ 0, получаем

В следующем подразделе будет показано, как эти уравнения могут быть получены прямым путём из основного определения автоматически. Для полного определения системы обыкновенных дифференциальных уравнений (ОДУ) остается только задать начальные значения переменных состояний, т. е. N (С, ,0) при ,, = 1,..., N. Они

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

4 Автоматически выводимые системы обыкновенных дифференциальных уравнений (ОДУ). Влияние действий производных может быть зафиксировано или с помощью графа, или в матричной форме, что легко получается из синтаксического представления модели.

Определение 4.1 (Граф действий [7]) Граф действий а является двусторонним графом ^, А )

Узлы N разделены в N а действий и Nd производных. А с (N а х N а )и N х Na ), где

а = (па,Па)е А, если Па выходная деятельность для производной П, а а = (п, Па)е А , если Па - входная деятельность для производной

Та же самая информация может быть представлена в т.н. матрице действий.

Определение 4.2 (Матрица действий [7]) Для модели с действиями NА и локальные производные различны, матрица действий М -матрица N в х N А , и входные действия определены следующим образом:

Рис. 3. Алгоритм создания системы ОДУ

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

столбцом матрицы. Число членов в системе ОДУ равно числу ненулевых записей в соответствующей строке, каждый член связывается с тем столбцом, где указана норма действий.

Как ранее было объяснено по семантике РЕРА, изменение фактической нормы, вызванное каждым действием, будет нормой умноженной на минимум текущего числа локальных производных.

Это даёт возможность для параллельных действий при определении типа компонента для каждой кооперации. Идентичность этих производных

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

5 Пример. Снова обратимся к маленькому примеру, рассмотренному ранее, предположим теперь, что есть большие количества процессоров и ресурсов:

def

Processor о = (task 1, r1)Processor 1

def

Processor j = (task 2 , r 2 У Processor

def

о

Resource о = (task 1, r1 ).Resource

менной состояний

n,

рассмотрим строку , . Ка

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

^ = -Г1 т1п(п1(t ), п3 (t ^ + г2п2 (t)

^2 () =

■ = r1 min(n! (t) n3 (t)) — r2n2 (t)

= —/1 min(n1 (p, n3 ()) + sn4 ()

dt

(1)

dn4 (t)

dt

= r1 min

in(n1(t), n3 (t)) — sn4 (t)

Таблица 2 Матрица действий для модели ресурс-процессор

task 1 task 2 reset

Resource 0 -1 +1 о n1

Resource 1 +1 -1 о n2

Resource 0 -1 о +1 n3

Resource 1 +1 о -1 n4

темы (1) с начальными условиями (2).

Складывая первое и второе уравнения системы (1), а также третье и четвёртое той же системы получим

йп1^) +^па(^) = 0 йп3() + <Лщ () = 0

С учётом (2) имеем

п1 (t)+ п2 (t )= 200

n3 (t)+ n4 (t) = 12о

(3)

Исключая из первого и третьего уравнений системы (1) с помощью (3) функции п 2 () и

def

Resource j = (reset, s).Resource о (Resource о || ... || Resource о)

(task 1)

(Processor о || ... || Processor о)

Граф действий изображен на рис. 4. Матрица действий изображена с помощью табл. 2.

Из матрицы получаем каждое дифференциальное уравнение и наоборот. Для каждой пере-

(t) , получаем

= —r1 min(nx (t) n3 (t))+Г2(2оо — nx (t))

dt

dn3 (t)

(4)

dt

= —r1 min(nx (t), n3 (t)) + s(J20 — n3 (t))

Вычитая из первого уравнения системы (4) второе , приходим к уравнению d(nt(t) — №,(t))

dt

= 2оСТ2 — r2n1 (t) — 12Cs + sn3 (t)

(5)

Введём вспомогательную функцию y(t ) = «1 (t) — «3 (t) (6)

Из (5) с учётом (6) имеем

d y(t) + sy(t ) = 2оСТ2 — 12ft + (s—r^nO

dt

(7)

5.1. Вывод решения системы обыкновенных дифференциальных уравнений при

п1 ^)< пз (0".

В случае

п (t)< пз (t) (8)

первое уравнение системы (4) принимает вид йп1 (t)

dt

■ = —r1 nx(t)+Г2(2оо — nl(t))

(9)

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

Таким образом, если есть первоначально 200 процессоров, начинаем с Ргосе88вг0 и 120 ресурсов, распределяются поровну между Ке$оигсе0 и Ке$оигсе1, тогда имеем начальные условия :

п1 (0)= 200 п2 (0)= 0 п3 (0) = 60 п4 (0) = 60 (2)

Приступаем к аналитическому решению сис-

Решая его относительно п1 (), получим

п^ ) = ^ехр(-( + г2)) + (10)

г1 + г2 г1 + г2

Из (10) и (3) следует

п (t) = ^ _ ■^2^°°-Ьехр(- (г1 + г2 )) (11)

г1 + г2 г1 + г2 Исключая из (7) и (10) функцию п () , приходим к уравнению й У(t)

200 г

■ + sy (t ) =

2оог1г2 — 12о sr1 + 8о^г2 r + r2

+ (s — r2)-Lexp(- (r1 + r2 ))

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(12)

Решая это линейное дифференциальное уравнение относительно функции у (t), получим

у (t) = a1 exp (— st )+a2exp (— (r1 + r2 )t )+a3 , (13)

где

n

Рис. 4. Граф действий простой модели ресурс-процессор

s(r, + r( - s) (r, + r( - s) s(r, + r()

200 r, (s — r2 )

а2 =----------------—-------—------

(s — r1 — r2)(r1 + r2)

200 r(( - 120 srі + В0 sr(

s(ri + r2 )

Из (13) и (6) следует n3 (t) = —a1 exp (— st) +

200 r,1

(ri + r()(ri + r( - s) (14)

200 r((

x exp (— (r1 + r2 )t) + 12о —

s (r1 + r2)

Из (14) и второго уравнения (3) следует

(t) = а, exp (- st )-

200 r,

2

(ri + ri)(ri + r( - s)

it \ \ 200 Гг,

exp (— (г, + Г( )) + - (

dt

■ = —r, n3 (t)+ s(120 — n3 (t))

Решая его относительно п3 (t), получим

п3 () = (п3 (0)- 1205) ехр(- (г1 + ) +

г, + s

г, + s

С учетом начальных условий имеем

ri + s

120s

ri + s

Тогда первое уравнение системы (4) с учетом (3) принимает вид

= -г1 п3 () + г2 (200 - п1())

Л

Из (20) и (19) следует

^ + г2 п1 (t)= 200г2 - 60г1(г1 -^ х Л г1 + 5

/ / \\ 120г,5

х ехр( (г1 + 5))--------— .

г1 + 5

Решая уравнение (21), получим п1 (t) = Л ехР(- ^) + в2 ехр(- (г1 + ) + в3 ,

(20)

(21)

(22)

где

б0 г,(г, — s)

(s + r1 — r2)(r1 + s) 120r1s

r2 (r1 + s)

(15)

5(г1 + г2 )

5.2. Вывод решения системы обыкновенных дифференциальных уравнений при

п1 (t)> п3 (t).

Рассмотрим теперь случай

п1 (t)> п3 (t) (16)

Тогда второе уравнение системы (4) с учетом (3) принимает вид

Лп3 () .

(23)

(17)

(18)

(19)

г2(г1 - г2 + 5) в3 = 200 -Из (22) и (3) следует

п2 (t) = - А ехР(- ^) -

г2(г1 + 5)

- в ехр(- (/'1 + 5)).

Из (19) и второго уравнения (3) следует

п4 (t) = 120г1 - ■60(г1-— ехр(- (г1 + ).

г + 5 г + 5

1 1 (24)

6 Пример 1. Рассмотрим модель, которая демонстрирует использование ОДУ как процедуры анализа и связывает с существующими методами анализа характеристик для моделей системы РЕРА.

Пусть Веб-служба имеет два типа клиентов; первые клиенты, которые обращаются к Вебслужбе через безопасную внутреннюю сеть, и вторые клиенты браузера, которые обращаются к

Веб-службе через внешнюю сеть. Вторые клиенты направляют свои запросы сервиса через посредников, которым доверяют.

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

(00 г( (00 s - 400 r (00 г(

2

3

x

n

X

4

n

3

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

ность). Сначала посылает запрос к Веб-службе, а затем ждет ответа. Передача, расшифровка и решифровка выполняются еще до получения ответа клиентом:

def

Broker idle = (request ь , 1 ) Broter dec _ input

Рис. 5. Топология коммуникаций системы. Веб-служба с первым и вторым клиентом и посредником.

безопасность из двухточечной безопасности.

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

Схематически топология коммуникаций системы показана на рис. 5.

Эталонные файлы обработаны описательными идентификаторами, такими как FPC, являющимися инструментальными средствами моделирования. Обозначим “первого клиента” через FPC, “второго клиента” через SPC, "Веб-

службу" через WS.

7 Модель системы PEPA. Второй клиент во время существования циклически обслуживает запросы, шифруя их и посылая их посреднику. И он ждет ответа от посредника. Скорость, с которой происходят первые три действия, находится под управлением клиента. Скорость, с которой произведены ответы, определена при взаимодействии посредника и конечной точки сервиса. Как обычно, в моделях PEPA этот компонент содержит некоторые индивидуальные действия, в которых он непосредственно участвует (оформление закономерностей и кодирование), и некоторые действия, которые выполнены в кооперации с другим компонентом (запрос и ответ находятся в кооперации с посредником): def .

SPC idle = \ComPose

sp ’ sp _ cmp

)spc

def / 4

SPC enc = \encrypt ь , rsp _ encb )SPC

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

def i \

SPC send.ng = \request ь , rsp _ req )SPC

sending

waiting

def

def / 4

Broker dec _ input = \decrypt sp ,rb_ dec _ sp / '

x Broker

enc _ input

Broker

def

enc _ input

■4 /

= (inoypt ws,rb

enc ws

F

x Broker

sending

def

Broker sending = irequest ws ,rb_ req \Broker waiting

def

Broker waiting = (response ws ,l)Broker dec resp

def , ч

Brolier dec _ resp = [decrypt ws ,rb _ dec _ws ) x

x Broker

Broker

enc _ resp

def

(encrypt Sp ,rb_ enc _ sp )Broker replying

def

SPC waiting (respome ь , 1)-SpC dec

def / 4

SPC dec = [decrypt ь , rsp _ decb )SPC idle Посредник пассивен, пока он не получает запрос. Тогда он расшифровывает запрос прежде, чем повторно зашифровать его для Веб-службы (чтобы гарантировать непрерывную безопас-

/ \

Broker replying = \response ь ,Гь _ resp )Broker idle .

Время существования первого клиента отражает время существования второго клиента за исключением того, что кодирование не должно использоваться, когда коммуникация производится через безопасную внутреннюю сеть. Методы вызова Веб-службы могут также быть различны, ибо сервис может быть вызван при отдаленном запросе на главный компьютер вместо запроса HTTP (гипертекстовый транспортный протокол). Таким образом, первый клиент использует Вебслужбу как блокирующий отдаленный запрос:

def , ч

FPC idle = \c°mp°se fp,rfp_cmp fFPC calling def ( )

FPC calling = ynvoke ws ,rfp_inv fFPC Mocked def

FPC Mocked = (result ws , iBfpc idle .

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

только в том необходимо ли кодирование и представляет ли данный результат как ответ HTTP

enc _ resp

(гипертекстового транспортного протокола) или как прямое значение:

def

WS idle = (request ws , ^).WS decoding +

+ (imolce ws ,l)WS method def ,

decoding x WS,

WS

def

= [decrypt Re qWs ,rWs dec bW

WSe

execution

def

■4/ / = \

iexecute ws , rws _ exec /" ^ sec uring

:)wss

WS

def

sec uring

(encrypt Re sp ws , r

ws enc

x WS

responding

def

“4 / \

WS respondin = \response

ws , rws _ resp _ b }WS idle def ( )

WS method = \execute ws , rws _ exec }WS deturning

WS,

def

■4/ /

= \result

■)WSi

' returning \t'eSUll ws , rws _ res idle .

В начальном состоянии системной модели представлен каждый из четырех составляющих типа, находящихся первоначально в пассивном состоянии. Компоненты K, L и M синхронизируют

на их общих видах действий,

def / \

System = I SPC idle >< Broker idle I >< x

I K ) L

x IWS idle FPC idle

I M

где K = {request b , response b }

L = {request ws , response ws }

M = {invoke ws , result ws }

Эта модель представляет пример наименьшей

системы, где встречается по одному случаю каждого составляющего типа. Оцениваем систему по числу клиентов, посредников и улучшению качества обслуживания.

8 Оценка анализа. Характеристики модели допускают много различных типов анализа. Некоторые имеют более низкое качество оценки, но менее информативны, чем традиционный анализ. Другие имеют более высокую оценку качества и более информативны, как, например, анализ переходного процесса. Сравниваем оценку на основе решения ОДУ с другими методиками, которые могли бы использоваться для анализа модели.

Отметим, что в табл. 3 показан только

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

Из табл. 3 видно, что продолжительность получения результатов при решении ОДУ сравнивается с другими подходами, которые были опробованы при увеличении числа компонентов.

9 Сравнение результатов. На рис. 6 - 9 показаны результаты решения модели Веб-службы РЕРА как системы ОДУ с числом клиентов обоих видов, посредников, и веб-службы до 1000 экземпляров каждого класса.

Результаты представлены для нашей систе-

Таблица 3. Продолжительность исследований

Второй клиент посредник Web-служба Первый клиент Число состояний в полном пространстве состояний Число состояний в соединенном пространстве состояний Редкая матрица установившихся вычислений (время в секундах) Гибрид матрицы MTBDD установившихся вычислений (время в секундах) Переходное решение в течение времени t = 100 (время в секундах) Моделирование МС один управляемый ко времени t = 100 (время в секундах) Решение ОДУ (время в секундах)

i i i i 48 48 i.G4 i.iG i.Gi 2.47 2.81

2 2 2 2 63G4 86G 2.15 2.26 2.Зі 2.45 2.81

3 3 3 3 ii3G.5 161.3 172.5 255.5 588.8 2.48 2.83

4 4 4 4 234.7 3G25 i - - - 2.44 2.85

iGG iGG iGG iGG - - - - - 2.78 2.78

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

iGGG iGG 5GG iGGG - - - - - 3.72 2.77

iGGG iGGG iGGG iGGG - - - - - 5.44 2.77

Рис. 7. График временного ряда компонента посредник.

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

Показаны графы колебаний чисел компонентов в промежутке времени от Ґ = 0 до Ґ = 100 для оцениваемых значений.

Наблюдаем колебание деятельности в начальный период, пока система не стабилизируется в установившееся равновесие во времени (около

значения) / = 50.

Сравниваем вероятности типа компонентов с вероятностями, вычисленными с использованием системы РЕРА.

Эксперимент реализуем [18] на простейшем экземпляре модели (по одному компоненту каждого типа) и вычисление вероятностей с использованием коэффициента умножения 1000.

Такой подход законен в отсутствие разделения

на блоки, когда числа каждого компонента равны, но, возможно, он не использовался для модели с различным числом клиентов, посредников и служб. Хорошая согласованность результатов получилась при решении ОДУ после того, как система стабилизировалась в установившееся равновесие.

На рис. 6. представлен график временного ряда компонента второй клиент. Математическая модель временного ряда компонента второй клиент будет иметь следующий вид:

г246.356х (

G.8632 Cos

Jg

nt

2 А

dt.

На рис. 9. представлен график временного ряда компонента Веб-служба, математическая модель которого имеет вид:

0.77717

c215.44x

(

Cos

nt

2 А

444490

V у

dt.

На рис. 7 представлен график временного ряда компонента - посредник. Его математическая модель будет иметь вид:

Нормы изменения в модели обобщены так, чтобы позволить степеням активности управлять распределением вероятностей, заменив детерминированное описание системы набором случайных дифференциальных уравнений [19]. При дальнейшем обобщении появляется большая неопределенность, и поэтому возможно применение более сложных форм стохастических дифференциальных уравнений [20].

Представлен новый метод анализа характеристик больших систем в виде стохастического

Рис. 9. График временного ряда компонента Веб-служба

алгебраического процесса.

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

СПИСОК ЛИТЕРАТУРЫ

1. Сорокин А. С. Применение полумарковских процессов к определению характеристик надежности технологических схем. // Вест. Кузбасского гос. тех. унив., 2005. № 1. С. 3 -9 .

2. Сорокин А.С. Применение методов теории вероятностей к исследованию некоторых процессов производства.//Труды 4-ой междунар. Конф. Кибернетика и технологии XXI века. Воронеж, 2003. С. 312-323.

3. Сорокин А.С. Марковские процессы в теории надежности технологических систем гидродобычи угля // Вестн. Кузбасского гос. тех. унив., 2008. № 1. С.61-69.

4. Сорокин А.С. Структурное моделирование надежности технологических систем с использованием скелетонов// Вестн. Кузбасского гос. тех. унив., 2008. № 4(68). Кемерово, С. 31-45.

5. Сорокин А. С. Математическое моделирование оценки надежности технологических систем// Вестн. Кузбасского гос. тех. унив., 2008. № 5(69). Кемерово, С. 28-37.

6. Коэн Дж., Боксма О. Граничные задачи в теории массового обслуживания. М.: МИР, 1987.

7. Hillston J. A Compositional Approach to Performance Modelling. Cambridge University Press, 1996.

^19.б95х (

Cos

G

53113.85

V у

dt.

На рис. 8 представлен график временного ряда компонента первый клиент, математическая модель которого имеет вид:

f104.81x

Cos

G

( nt2 А 4143б4

V У

dt.

8. Hermanns H., Meyer-Kayser J., Siegle M. Multiterminal binary decision diagrams to represent and analyse continuous time Markov chains. In Proc. of 3rd Intl. Workshop on the Numerical Solution of Markov Chains, pages 188-207, 1999.

9. Deavours D., Sanders W. An efficient disk-based tool for solving large Markov models. Performance Evaluation, 33:67-84, 1998.

10. Knottenbelt W.J. Parallel Performance Analysis of Large Markov Models. PhD thesis, Department of Computing, Imperial College, 1999.

11. Hillston J. Tuning systems: From composition to performance. The Computer Journal, 2005. To appear.

12. Bowman H., Bryans J., Derrick J. Analysis of a multimedia stream using stochastic process algebra. In C. Priami, editor, 6th Int. Workshop on Process Algebras and Performance Modelling, pages 51-69, Nice, September 1998.

13. Bradley J.T., Dingle N.J., Gilmore S.T., Knottenbelt W.J. Derivation of passage-time densities in PEPA models using ipc: the Imperial PEPA Compiler. In G. Kotsis, editor, Proc. of the 11th IEEE/ACM Int. Symp. on Modeling, Analysis and Simulation of Computer and Telecommunications Systems, pages 344-351, October 2003. IEEE Computer Society Press.

14. Thomas N., Bradley J.T., Knottenbelt W.J. Stochastic analysis of scheduling strategies in a grid-based resource model. IEE Software Engineering, 151(5):232-239, September 2004.

15. Hillston J., Kloul L., Mokhtari A. Towards a feasible active networking scenario. Telecommunication Systems, 27(2-4):413-438, 2004.

16. Gilmore S., Hillston J., Ribaudo M. An efficient algorithm for aggregating PEPA models. IEEE Transactions on Software Engineering, 27(5):449-464, May 2001.

17. Hillston J. Compositional Markovian modelling using a process algebra. In W. Stewart, editor, Proc. of 2nd Int. Workshop on Numerical Solution of Markov Chains: Computationswith Markov Chains, Raleigh, North Carolina, Jan. 1995. Kluwer Academic Press.

18. Gilmore S., Hillston J. The PEPA Workbench: A Tool to Support a Process Algebra-based Approach to Performance Modelling. In Proc. of 7th Int. Conf. on Modelling Techniques and Tools for Computer Performance Evaluation, number 794 in LNCS, pages 353-368, Vienna, May 1994. Springer-Verlag.

19. Soong T. Random Differential Equations in Science and Engineering. Academic Press, 1973.

20. Oksendal B. Stochastic Differential Equations. Springer, 2003.

□ Автор статьи:

Сорокин Андрей Семенович

- канд. физ.-мат.наук, доцент, ст.н.с. ( филиал КузГТУ в г. Новокузнецке), тел.8(3843)725007

УДК 519. 21

А.В. Бирюков ГРАНУЛОМЕТРИЯ ДИСПЕРСНЫХ СИСТЕМ

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

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

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

Крупность частиц характеризуется диаметром x, т. е. наибольшим линейным размером.

Обозначим черези g(x) плотности распределения диаметра частиц из множеств A и B, а через Mk и N - моменты порядка k этих распределений, получаемых интегрированием функций xк f(x) и ^g(x) по всему диапазону значений.

Как показывают многочисленные наблюдения, доля крупных частиц в множестве B больше, чем в множестве А.

Для мелких частиц наблюдается обратная картина. Поэтому существует значение Xo диаметра частиц, для которого выполняются условия: f(x) < g(x) при x>x0 и ^) > g(x) при x <

i Надоели баннеры? Вы всегда можете отключить рекламу.