Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы Монте-Карло для параллельных вычислений. Учебное пособие
.pdf
претируется как наступление соответствующего j-го события. Затем выбирают новое случайное состояние системы X(t+T
) с распределени-
max
ем p(s0; s, j) соответственно наступившему событию. Пусть новым состоянием системы оказалось s00. Наступление события j-го типа может
потребовать генерирования новых случайных значений некоторых из
переменных Ti, i 6= j, c новой функцией распределения Fi(x; s, j, s00),
зависящей от старого состояния s, нового состояния s00, типа наступившего события j и типа i события, для которого обновляется время до
наступления i. Остальные компоненты Ti, которые не требуют переназначения, уменьшают на величину T
ное время Tj(t + T
+ 0) до наступления следующего j-го события.
max
. Наконец, генерируют случай-
min
Затем повторяется процедура выбора следующей обнуляющейся непрерывной компоненты и т. д. Итак, дискретная временная шкала в этом
методе состоит из моментов времени, в которые обнуляется одна из величин T1(t), T2(t), . . . , T
|s00|
(t).
В качестве примера рассмотрим задачу о моделировании сети
массового обслуживания с произвольным законом обслуживания в узлах и рекуррентным входным потоком. Сети массового обслуживания
являются адекватными моделями многих реальных систем, таких как
вычислительные сети, сети передачи данных, телефонные сети, страховые компании и т. д. Сеть состоит из m обслуживающих узлов Γ
(2)
Γ
, . . . , Γ
(m)
(рис. 6.1). Извне поступают заявки (требования, пакеты
(1)
данных и т. д.), так что интервалы между поступлениями независимы и
имеют функцию распределения A(t). Поступившая извне заявка с вероятностью P
(r)
Γ
, так что
направляется на ожидание обслуживания в очередь узла
0,r
m
X
P
= 1.
0,r
r=1
Все узлы обслуживают заявки независимо друг от друга и могут работать одновременно. Обслуживание в каждом узле осуществляется без
простоя, и выбор заявок из очереди осуществляется в порядке из поступления. Длительности обслуживания в узле Γ
даны функцией распределения Br(t). Далее обслуженная в узле Γ
заявка мгновенно перемещается в случайный узел Γ
P
или покидает сеть с вероятностью P
r,s
m
X
P
r,s
s=1
+ P
r,0
r,0
= 1.
, где
(r)
независимы и за-
(s)
с вероятностью
(r)
,
121

Γ
(1)
Γ
(2)
Γ
(3)
Γ
(4)
Γ
(5)
A(t)
P
0,1
P
0,2
P
0,5
P
0,3P0,4
P
3,2
P
3,1
P
3,4
P
3,0
P
3,5
P
3,3
Рис. 6.1. Открытая сеть с m = 5 узлами
Требуется определить характеристики длин очередей в узлах сети.
Под состоянием сети будем понимать вектор x = (x1, x2, . . . , xn)
длин очередей перед всеми узлами. Состоянию x припишем ранг, равный числу ненулевых элементов в векторе x, увеличенному на единицу.
Компонента T1(t) отмечает оставшееся время после момента t до поступления нового требования в систему. Компоненты T2(t), T3(t), . . . ,
T
(t) по порядку соответствуют ненулевым компонентам вектора x.
|x|
В момент t поступления нового требования, когда T1(t) достигает нуля, выбирается случайный узел Γ
(r)
с вероятностью P
, компонента
0,r
xrвектора состояния увеличивается на 1 и новое состояние сети стано-
вится x0. Генерируется новое значение величины T1(t + 0) с функцией
распределения A(x). Если xrстало равно 1, то есть до поступления
этого требования узел Γ
вставить в ряд T1(t), T2(t),. . . , T
ответственно положению ¯r переменной x
(r)
находился в состоянии простоя, то нужно
(t) новую переменную T¯r(t + 0) со-
|x|
0
= xr+1 среди всех ненулевых
r
компонент вектора x, а случайное значение величины T¯rгенерируется
по функции распределения Br(t). Содержательно переменная T¯rравна
количеству времени, необходимому для окончания обслуживания поступившего требования в узле Γ
(r)
. Далее, если в момент t обратилась
в ноль компонента Tr(t), r > 1, то это интерпретируется как окончание
обслуживания на соответствующем узле Γ
r среди ненулевых компонент вектора x. Тогда компонента x
(r0)
, определяемом по номеру
0
r
уменьшается на единицу. Если при этом она обратилась в ноль, это означает,
что в очереди узла Γ
(r0)
требований нет, и компоненту Tr(t) необходи-
мо удалить. Если, напротив, имеются еще требования в очереди узла
122

(r0)
Γ
, то генерируется новое случайное значение величины Tr(t + 0) по
функции распределения B
0
(t).
r
Итак, для реализации метода дискретных событий необходимо
знать условные распределения интервалов между наступлениями событий каждого типа и условные распределения вероятностей для выбора
нового состояния системы. Для реальных сложных систем получить
все необходимые условные распределения может быть затруднительно, а число возможных событий, за которыми придется следить, может
также быть очень большим. Поэтому представляет интерес метод построения имитационных моделей сложных управляющих систем, опирающийся на фундаментальные свойства и методологическое понятие
кибернетической управляющей системы, впервые данное в математической кибернетике.
В основе кибернетического подхода при построении, анализе и
оптимизации модели управляющей системы лежат следующие основные
положения:
— любая управляющая система обладает фундаментальными
свойствами: схемой, информацией, координатами и функцией;
— принцип дискретности актов функционирования управляющей
системы во времени τi, i > 0, где так называемый стробирующий процесс вида {τi; i > 0} задает на [0, ∞) шкалу тактов времени;
— принцип нелокальности в математическом описании (кодировании) всех блоков строения управляющей системы;
— принцип совместного рассмотрения блочного строения схемы
управляющей системы и ее функционирования по времени τi, i > 0 на
этапе построения математической и имитационной модели.
При таком нетрадиционном подходе построение математической
и имитационной моделей в общем случае включает следующие основные
этапы:
— выделение схемы, информации, координат и функции системы;
— определение для схемы ее так называемых структурных блоков: внешней среды, входных полюсов, внешней памяти, устройства по
переработке информации внешней памяти, внутренней памяти, устройства по переработке информации внутренней памяти и, наконец, выходных полюсов;
— задание алгоритмов управления изменениями состояний структурных блоков схемы (например, внешней памяти, внутренней памяти,
и т. д.);
— проведение кодирования информации или нелокальное описа-
123

ние структурных блоков схемы;
— выявление существенных функциональных и статистических
связей между блоками схемы;
— выбор основных исходных и искомых характеристик системы.
Процесс имитационного моделирования сложной управляющей
системы состоит в формировании последовательности моментов наблюдения за системой, т. е. стробирующей последовательности τi, i > 0, и в
моделировании последовательности состояний блоков схемы в соответствии с выявленными функциональными и статистическими связями
между блоками схемы.
Существенное отличие кибернетического подхода по сравнению с
рассмотренными ранее классическими подходами заключается в отказе
от знания состояния сложной системы в произвольный момент времени t. Преимущество предлагаемого подхода заключается в том, что число рассматриваемых блоков системы невелико и имитационная модель
получается обозримой. В следующем разделе будет дан пример построения, анализа и оптимизации предложенным методом одной системы
массового обслуживания.
Рассмотренные подходы с разной степенью подробности позволяют провести генерирование одной реализации случайного процесса, имитирующего функционирование сложной управляющей системы.
При наличии средств параллельных вычислений возможно различное
их применение для имитационного моделирования сложных управляющих систем. Наименьшие сложности для реализации метода МонтеКарло вызывает моделирование независимых реализаций на разных вычислительных устройствах. Это возможно, если выполняются следующие условия:
1) требования к памяти позволяют провести моделирование одной
реализации на одном вычислительном устройстве;
2) длительность переходного процесса к установившемуся режиму для одной реализации невелика, и время работы каждого вычислительного устройства не ограничено;
3) длительное время моделирования одной реализации обусловлено медленным убыванием дисперсий оцениваемых характеристик системы.
Альтернативный подход состоит в использовании нескольких параллельно работающих вычислительных устройств для моделирования
одной реализации изучаемого процесса. Этот подход называется распределенным имитационным моделированием. В рамках распределен-
124

ного имитационного моделирования возникают сложные для практики вопросы синхронизации параллельно работающих вычислительных
устройств. В данной работе этот метод не рассматривается.
Как правило перед исследователем встают следующие вопросы:
1) какую длину реализаций процесса функционирования сложной
управляющей системы выбрать и сколько реализаций генерировать для
оценки показателей системы с заданной надежностью?
2) как определить момент входа реализации в квазистационарный
режим?
3) как оценивать интересующую исследователя характеристику
системы?
Один подход существенно опирается на теорию так называемых
регенерирующих процессов. Напомним определение регенерирующего
процесса. Пусть задан случайных процесс {X(t); t > 0}. Если существует последовательность
{βn; n = 0, 1, . . .}
(случайных) моментов времени такая, что величины
αn= βn− β
, n = 1, 2, . . .
n−1
независимы и одинаково распределены, для любых действительных чисел 0 6 s1< s2< . . . < smнаборы
(X(s1), X(s2), . . . , X (sm))
и
(X(s1+ βn), X(s2+ βn), . . . , X (sm+ βn)), n = 1, 2, . . . ,
одинаково распределены и, наконец, для всех n процессы
{X(t); 0 6 t < βn}, {X(βn+ t); t > 0}
независимы, то процесс {X(t); t > 0} называется регенерирующим. Из
определения следует, что течение регенерирующего процесса разбивается моментами βn, n = 0, 1, . . . на независимые стохастически подобные
«циклы», называемые далее циклами регенерации.
Например, в задаче о моделирования открытой сети массового
обслуживания моментами регенерации являются моменты поступления
требования в сеть, не содержащую других требований (в пустую сеть).
125

Допустим, что интересующая характеристика U связана с произвольным требованием (например, время пребывания требования в системе, вероятность потери требования и т. д.) и что математическое
ожидание a этой характеристики можно выразить следующим образом:
M(U1+ U2+ .. . + UN)
a =
M(N)
, (6.1)
где N — число требований, поступивших в систему за один период регенерации, а случайные (в общем случае коррелированные) величины
U1, U2, . . . , UNсуть значения изучаемой характеристики для каждого
из этих требований. Тогда для точечной оценки величины a по n < ∞
циклам регенерации можно использовать формулу
S1+ S2+ .. . + S
ˆan=
N1+ N2+ .. . + N
n
,
n
где частная сумма
Si= U
i,1
+ U
+ .. . + U
i,2
i,N
i
дает оценку числителя в правой части соотношения (6.1) на i-м цикле регенерации, а Ni— число требований, поступивших на i-м цикле
регенерации, i = 1, 2, . . . , n. Для оценки величины a при параллельных вычислениях естественно распределить между вычислительными
устройствами задачу моделирования заданного числа n траекторий процесса на циклах регенерации, а затем собрать полученные в результате
пары {(Si, Ni); i = 1, 2, . . . , n}.
Другой подход к оцениванию характеристик системы в квазистационарном режиме основывается на замечании, что характеристики
в установившемся квазистационарном режиме не должны зависеть от
начального состояния моделируемой системы. Этот подход демонстрируется в следующем разделе на примере моделирования управляющей
системы массового обслуживания, реализующей алгоритм разделения
времени с переналадками.
6.2. Оптимизация системы массового обслуживания в классе
алгоритмов разделения времени с переналадками
Алгоритм разделения времени при обслуживании конфликтных
потоков используется в различных реальных управляющих системах:
126

вычислительных комплексах, системах управления дорожным движением, комплексах микросварки, системах таможенного досмотра в больших аэропортах. При построении моделей систем обслуживания, реализующих алгоритм разделения времени, приходится учитывать изменчивость вероятностных характеристик входных потоков требований. Перед исследователем ставятся проблемы расчета основных важных для приложений характеристик: загрузки обслуживающего устройства, среднего времени пребывания произвольного требования в системе, средней стоимости пребывания требования в системе и других. Кроме того, важно указать оптимальное в некотором смысле правило переключения обслуживающего устройства между очередями ожидающих
требований. Аналитическое решение всего указанного комплекса проблем на основании математической модели до настоящего времени не
найдено, и пока лишь имитационное моделирование процесса обслуживания с разделением времени и переналадками может дать ответы на
вопросы исследователя. Имитационное моделирование систем обслуживания также дает возможность исследовать системы с разнообразными
входными потоками — как имитируемыми, так и реальными, однажды
наблюдавшимися. При создании имитационной модели мы предлагаем
воспользоваться изложенным в предыдущем разделе кибернетическим
подходом.
Рассматривается система обслуживания m < ∞ конфликтных
потоков Π1, Π2, .. . , Πm. Входные потоки формируются в случайной
(1)
среде с d < ∞ состояниями e
, e
(2)
будем называть первичными. При состоянии среды e
, . . . , e
(d)
. Требования этих потоков
(k)
, k = 1, 2, . . . ,
d требования по потоку Πj, j = 1, 2, . . . , m поступают группами, поток групп — пуассоновский с интенсивностью λ
(k)
, размеры групп суть
j
независимые случайные величины. Группа содержит b требований с вероятностью p
(j,k)
, b = 1, 2, . . . . Требования потока Πjпомещаются в
b
накопитель Ojнеограниченного размера. Прибор имеет m + 1 состояние
(1)
(2)
Γ
, Γ
, .. . , Γ
(m+1)
. В состоянии Γ
(j)
, j = 1, 2, .. . , m, обслуживается не более одного требования из очереди Oj, и длительность обслуживания произвольного требования из накопителя Ojесть случайная
величина с функцией распределения Bj(t). После каждого акта обслуживания прибор осуществляет внутреннюю переналадку и находится в
состоянии Γ
(m+1)
, длительность переналадки после обслуживания j-го
потока также случайна с функцией распределения¯Bj(t). Если после переналадки очереди пусты, то на обслуживание выбирается первое вновь
поступившее требование. Если, напротив, длины очередей составляют
127

ненулевой вектор x = (x1, x2, . . . , xm), то на обслуживание выбирается требование из очереди с номером j = h(x) и состояние прибора
становится Γ
(j)
, где
h(·): X = {0, 1, . . .}m→ {1, 2, . . . , m + 1}
— заданное отображение целочисленной неотрицательной решетки такое, что прообразом точки n = m + 1 является только нулевой вектор
¯
0 = (0, 0, . . . , 0) ∈ X.
После обслуживания на фазе j требование порождает вторичные требования, которые поступают в очереди O1, O2, . . . , Om. При состоянии сре-
(k)
ды e
ваний обозначим через {p
число p
совместное распределение числа порожденных вторичных требо-
(k)
(y); y ∈ X }. Здесь для y = (y1, y2, . . . , ym)
(k)
(y) — вероятность того, что в очередь O1поступит y1требо-
j
j
вание, в очередь O2— y2требований и т. д., и наконец, в очередь Om—
ymтребований, если состояние среды есть e
(k)
. Таким образом, входные
потоки системы складываются из входных потоков первичных и вторичных требований. Смена состояний случайной среды может происходить
только в моменты окончания обслуживания требования или окончания
переналадки, так что последовательность состояний случайной среды
образует неразложимую марковскую цепь. Вероятность перехода среды
из состояния e
a
. Стоимость пребывания одной заявки в единицу времени в j-ой оче-
l, k
(l)
, l = 1, 2, . . . , d, в состояние e
(k)
, k = 1, 2, . . . , d, равна
реди равна cj. Как акт обслуживания, так и период переналадки будем
называть рабочим тактом функционирования системы. Обозначим ζ
j,i
суммарное время пребывания всех требований в j-ой очереди на i-ом
такте; тогда средняя стоимость пребывания заявок на i-ом такте есть
m
Ji(h) =
X
j=1
M(cjζ
j,i
).
Функционал Ji(h) примем за экономический критерий качества работы
систем на i-ом такте.
Поскольку в изучаемой системе существуют промежутки времени, когда прибор занят внутренней переналадкой и не обслуживает
требования непосредственно, уточним смысл понятия загрузки. Пусть
случайная величина w(t) есть суммарное время работы прибора по обслуживанию требований и осуществлению переналадок на промежутке
128

времени [0, t], тогда величина (t − w(t)) равна суммарной длительности простоя прибора, когда в накопителях отсутствовали требования
и прибор ожидал поступления новых требований в систему. Под загрузкой системы будем понимать предел с вероятностью 1 величины
(t − w(t))/t при t → ∞. Естественно возникает вопрос о существова-
нии этого предела и о способе его вычисления. Отметим следующее.
Для простейших систем этот предел удается вычислить непосредственно. Так, для задачи Эрланга об обслуживании одного пуассоновского
потока конечным пучком линий с показательным временем обслуживания в [32] рассматривается марковский процесс с непрерывным временем и конечным числом состояний. Под состоянием процесса понимается число занятых линий. Поскольку требования, заставшие все линии
занятыми, теряются, стационарное распределение для данной системы
всегда существует. Показывается, что случайная величина — отношение
времени пребывания в заданном состоянии ко времени наблюдения —
сходится по вероятности к стационарной вероятности этого состояния.
В частности, доля времени пребывания системы в состоянии 0, соответствующем простою системы, также имеет предел по вероятности.
Значение предела приведено в [32]. Тогда загрузка системы равна разности единицы и этого значения. Для широкого класса систем все время
работы естественно распадается на циклы, каждый такой цикл состоит
из периода занятости и периода простоя, причем длительности циклов
независимы и одинаково распределены, и предполагается, что циклы
имеют конечные математические ожидания. Тогда рассматривают процесс восстановления {N(t); t > 0}, образованный последовательностью
циклов, так что N(t) — число полных циклов за время t. Тогда, согласно усиленному закону больших чисел, отношение w(t)/N(t) сходится с
вероятностью 1 к средней длительности периода занятости, а отношение N(t)/t сходится с вероятностью 1 к средней длине цикла. Поэтому
существует с вероятностью 1 предел и для w(t)/t. Хотя существование
первых двух пределов известно в литературе по теории вероятностей
давно, предложение о существовании третьего предела в теории надежности применяется чаще, чем в теории массового обслуживания [6] (там
указанный предел носит название стационарного коэффициента готовности элемента). В то же время задача о вычислении распределения
и характеристик периода занятости широко распространена в теории
массового обслуживания. Например, для однолинейной системы обслуживания пуассоновского потока с ожиданием математическое ожидание периода занятости равно β/(1 − λβ) [20], где λ — мгновенная ин-
129

тенсивность входного потока, β — средняя длительность обслуживания
произвольного требования. Поскольку средняя длина интервала между
требованиями в этой системе равно 1/λ, получаем для загрузки
β
1 −λβ
1
+
λ
β
1 −λβ
−1
= λβ.
Условие существования стационарного распределения числа требований в системе в моменты окончания обслуживания для этой системы
имеет вид: λβ < 1. Для системы обслуживания с относительными приоритетами, в которую поступают m < ∞ пуассоновских входных потоков
с интенсивностями λ1, λ2, . . . , λm, своим законом распределения длительности обслуживания требований каждого типа с математическими
ожиданиями β1, β2, . . . , βmсоответственно, средняя длительность периода занятости задается формулой [20]
m
X
λrβ
r=1
m
r
X
r=1
λ
−1
r
1 −
m
X
r=1
λrβ
−1
.
r
Поскольку суммарный поток требований имеет мгновенную интенсивность
λ1+ λ2+ .. . + λm,
для загрузки после аналогичных предыдущему вычислений получаем
выражение
λ1β1+ λ2β2+ .. . + λmβm.
Загрузка системы как бы складывается из «загрузки по каждому потоку». В более сложных системах вычислить предел lim
w(t)/t удается
t→∞
не всегда. Поэтому на практике пользуются эвристическими соображениями для получения оценок загрузки. Под аналитической оценкой
загрузки будем понимать неотрицательную функцию ρ: S → [0, 1], где
S — множество всевозможных значений параметров среды, потоков,
средних длительностей обслуживаний и переналадок, вероятностей перенаправления. Будем считать выбранную оценку приемлемой [24], если
1) из существования стационарного режима функционирования системы при значениях параметров, определяемых точкой s ∈ S, выполняются неравенства 0 < ρ(s) < 1; 2) функция ρ(·) не убывает с ростом интенсивностей поступления требований и ростом средних длительностей
обслуживаний и переналадок; 3) при значениях параметров, определяемых точкой s ∈ S, при которых не существует стационарного режима
функционирования системы, выполнено неравенство ρ(s) = 1.
130
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
