Обозначим через fk
долю серверов, у которых ровно k заявок (заявка, которая находится на обслуживании в данный момент, тоже учитывается). Обозначим через uk долю серверов, у которых заявок k или больше. Значения uk можно легко получить через fk и наоборот:
Понятно, что u
0 = 1.Представим, что система находится в равновесии. Тогда у нас в среднем
серверов, на которых ровно k
заданий. Все эти серверы обрабатывают задания со скоростью одно задание в единицу времени. Другими словами, количество серверов с k заявками или больше уменьшается на n(uk − uk+1) в единицу времени.Теперь давайте посмотрим, на сколько количество серверов с k
заявками или больше увеличивается в единицу времени. Чтобы увеличить число таких серверов, заявки должны поступать на серверы, у которых в данный момент k − 1 заявка. При методе выбора из двух вероятность того, что новое задание попадет на сервер с k или больше заявками, равна
потому что в этом случае оба случайно и независимо выбранных сервера должны иметь k
или больше заявок, и для каждого из двух серверов эта вероятность иk[26]. Значит, вероятность того, что новая заявка поступит на сервер, у которого ровно k − 1 заявка, равна
Поскольку заявок в единицу времени поступает λп,
то получается, что число серверов с k или больше заявками в единицу времени в среднем увеличивается на
Так как система находится в равновесии, число серверов с k
или больше заявками должно оставаться неизменным, то есть (П.9) равняется (П.11). Отсюда получаем уравнение баланса:
Результат, приведенный в работе{34}
, говорит, что при определенных общепринятых предположениях о законе поступления заданий и времени их выполнения, в пределе для бесконечного количества серверов, уравнение (П.12) действительно описывает равновесное состояние системы. Это достаточно сложный технический результат. Нетрудно проверить или даже догадаться, что решение уравнения (П.12) задается формулами:
Это так называемый двойной экспоненциальный закон. Двойка в формуле, та самая двойка – вторая степень – из выражения (П.10). Точно так же мы могли бы выбирать не из двух, а из r
серверов и получили бы
Интересно заметить, что при тех же предположениях, но случайном выборе одного сервера, изменятся выражения (П.10) и, соответственно, (П.11). Действительно, на этот раз заявка выбирает только один сервер и вероятность попасть на сервер с k
или больше заявками равна просто иk. Тогда вместо (П.12) получаем классическое уравнение баланса:
решение которого задается известной формулой Эрланга:
Очевидно, что иk
в формуле (П.13) убывает гораздо быстрее.Именно эти формулы мы использовали в табл. 5.1
. В нашем случае λ = 0,9, и в таблице мы привели значения fk. В первой колонке – значения k, во второй – значения fk, подсчитанные по формуле (П.14), в третьей – значения fk, подсчитанные по формуле (П.13).Назад к Главе 5
Приложения к главе 6
1. Схема Диффи – Хеллмана
Для начала введем обозначения. Пусть р – заданное
простое число, g – заданное натуральное число, g < p. На самом деле g это так называемый первообразный корень числа р. Об этом мы расскажем ниже, в приложении 2 и приложении 3 к главе 6. Цель данного раздела – доказать, что в схеме Диффи – Хеллмана Алиса и Боб действительно получают один и тот же ключ.Для любых натуральных чисел n
и р мы воспользуемся стандартным обозначением для остатка от деления n на р:
n
(modp) = [остаток от деленияnнаp].
(Читается «n
по модулю p».)Итак, Алиса задумала число х
, а Боб число у. Схема Диффи – Хеллмана состоит из двух шагов.
Шаг
1. Алиса передает Бобу
a
= (gx) (modp).
Боб передает Алисе
b
= (gy) (modp).
Шаг
2. Алиса вычисляет ключ
KA
= (bx) (modp).
Боб вычисляет ключ
KB
= (ay) (modp).
Утверждение.
Боб и Алиса получили один и тот же ключ K = KA = KB.Доказательство.
Нам нужно доказать, что KA = KB. Поскольку а и b – это остатки от деления на р, то существуют такие целые числа k и l, при которых
a
=gx −kp, b =gy −lp.
Подставив эти выражения в формулы для ключей, получаем:
KA
= (gy −lp)x(modp),KB
= (gx −kp)y(modp).
Заметим, что в выражении для KA
можно расписать (gy − lp)x следующим образом:
где А
– это целое число, то есть рА делится на р. Таким образом получаем
KA
= ((gy −lp)x) (modp) = ((gy)x +pA) (modp) = (gy)x(modp).
Совершенно аналогично для какого-то целого числа B
получаем
KB
= ((gx −kp)y) (modp) = ((gx)y +pB) (modp) = (gx)y(modp).
Результат теперь очевиден, поскольку
(
gy)x =gyx =gxy = (gx)y.2. Дискретное логарифмирование
Вспомним, что логарифм числа у
по основанию g – это такое число х, для которого выполняется
gx
=y.