Параллельное программирование


Эффективность и технические требования


В общем случае, при вхождении сервера в состав ЛВС и при разбиении БД на m сегментов, при котором m > n (n — число рабочих станций), вероятность нахождения сегмента на одной из РС в процессе ротации равна

\frac{n}{m}
. Вероятность нахождения сегмента на конкретной РС равна
\frac{1}{m}
.

Схема на рис. 2.3 соответствует случаю m = n.

Тогда среднее время Tож ожидания нужного сегмента, то есть возможного начала обращения к нужному сегменту на той РС, которая выработала запрос, находится на основе вероятности того, что он поступит через один такт, через два такта и т.д. Максимальное число учитываемых тактов равно m - 1:

 \begin{align*} T_{ож} = T_0 \left(\frac{0}{m}+\frac{1}{m}+ \ldots + \frac{1-m}{m}\right) = \frac{T_0(m-1)}{2}. \notag \end{align*}

(2.1)

Тогда полное время обслуживания запроса в ротационной БД находится следующим образом:

 \begin{align*} T_{обсл} = T_{ож} + t_{обсл} = \frac{T_0(m-1)}{2} + t_{обсл}, \notag \end{align*}

(2.2)

где tобсл — время выполнения запроса с помощью СУБД.

Сравним это полное время обслуживания со средним временем обслуживания T*обсл "традиционной" БД, реализованной на сервере. Напомним, что при обслуживании такой БД многоканальная система массового обслуживания, где множество рабочих станций обеспечивают массовый доступ, реально, с помощью одноканальной СУБД, на этапе обслуживания потока заявок преобразуется в одноканальную систему массового обслуживания с неограниченной очередью.

Допустив, что время выполнения запроса с помощью СУБД в данном случае совпадает с тем же временем в ротационной БД (ротация не предполагает каких-либо принципиальных изменений "традиционных", известных, широко применяемых СУБД), получим:

 \begin{align*} T^*_{\text{обсл}} = \frac{t_{\text{обсл}}}{1-\rho}, \notag \end{align*}

(2.3)

где ? — известное отношение

\frac{\lambda^*}{\mu}
, а ?* — суммарная интенсивность потока запросов со всех рабочих станций ЛВС, ? — интенсивность обслуживания,
\mu = \frac{1}{t_{\text{обсл}}}
.

Уточним, что ?* = n?польз, где ?польз — интенсивность потока запросов с одной РС при данной организации БД. Однако здесь мы пренебрегли временем передачи сообщений в ЛВС, учитывая существенный характер ограничений другого рода. А именно, суммарная интенсивность ?* потока запросов в системе должна быть ограничена значением, обеспечивая соотношение ? < 1. Полное время обслуживания T*обсл значительно возрастает при значениях ?, близких единице:




- Начало -  - Назад -  - Вперед -