Введение в распределенные



Download 3,3 Mb.
bet43/74
Sana13.07.2022
Hajmi3,3 Mb.
#785639
1   ...   39   40   41   42   43   44   45   46   ...   74
Bog'liq
Косяков ТАТ книга

Листинг 3.1. Общая схема алгоритма рекурсивного поиска транзитивных зависимостей.
void DependencyTrack(ProcessID i, EventIndex x) {
/* Построение векторной отметки времени события eix */
/* Результат помещается в массив DTV */ EventIndex DTV[N];
void VisitEvent(ProcessID j, EventIndex y) {
/* Сохраняет зависимости события ejy в DTV */
/* Массив D представляет собой отметку времени события ejy */
for (int k=0; kif (D[k] > DTV[k])
{ DTV[k] = D[k]; VisitEvent(k, D[k]) }
}

/* Инициализация DTV */ for (int k=0; k
if (k != i) DTV[k] = 0; else DTV[k] = x;

VisitEvent(i, x);


}

Проиллюстрируем работу представленного алгоритма на примере поиска транзитивных зависимостей для четвертого события процесса P2 (см. рис. 3.8). Вызов функции DependencyTrack происходит с параметрами i = 2, x = 4 и массив DTV приобретает вид (0 4 0 0). Затем вызывается функция VisitEvent(2,4). Для этого события вектор прямых зависимостей D2 имеет вид (1 4 3 1), поэтому DTV изменяется на


(1 4 0 0) и осуществляется переход к первому событию процесса P1 с
помощью вызова VisitEvent(1,1). У этого события вектор D1 = (1 0 0 0). Так как ни один элемент вектора D1 не превышает соответствующий элемент DTV, то происходит возврат из функции VisitEvent(1,1) и продолжается проверка вектора D2. На этот раз обнаруживается, что третий элемент вектора D2 превышает соответствующий элемент DTV (а именно, 3 > 0). Поэтому DTV принимает вид (1 4 3 0), и с помощью VisitEvent(3,3) осуществляется переход к третьему событию процесса P3. Вектор зависимостей этого события D3 = (0 0 3 2). Поскольку четвертый элемент D3 больше, чем соответствующий
элемент DTV (а именно, 2 > 0), DTV изменяется на (1 4 3 2), и вызывается
VisitEvent(4,2). Поскольку ни один элемент D4 = (0 0 0 2) не превосходит DTV, происходит возврат из VisitEvent(4,2), равно как и из VisitEvent(3,3), т.к. все элементы D3 оказываются просмотренными. Значение четвертого элемента D2 оказывается меньше полученного значения четвертого элемента DTV (а именно, 1 < 2), поэтому функция DependencyTrack завершается. Полученное значение векторной отметки времени (1 4 3 2) полностью отражает все транзитивные причинно- следственные зависимости для заданного четвертого события процесса P2.
Таким образом можно заключить, что механизм часов, фиксирующих прямую зависимость, обладает значительно меньшими накладными расходами на передачу сообщений в сравнении с
традиционными векторными часами, т.к. позволяет передавать с каждым сообщением всего одну скалярную величину. При этом данный механизм предоставляет возможность восстановить все транзитивные причинно- следственные зависимости в режиме off-line с помощью рекурсивного анализа векторов прямой зависимости, зафиксированных процессами.

      1. Download 3,3 Mb.

        Do'stlaringiz bilan baham:
1   ...   39   40   41   42   43   44   45   46   ...   74




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish